1 // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3 // 4 // SPDX-License-Identifier: BSD-2-Clause 5 // 6 // This file is part of CEED: http://github.com/ceed 7 8 #ifndef mooney_rivlin_h 9 #define mooney_rivlin_h 10 11 #include <ceed.h> 12 #include <petsc.h> 13 14 #include "../include/structs.h" 15 16 #ifndef PHYSICS_STRUCT_MR 17 #define PHYSICS_STRUCT_MR 18 typedef struct Physics_MR_ *Physics_MR; 19 struct Physics_MR_ { 20 // Material properties for MR 21 CeedScalar mu_1; 22 CeedScalar mu_2; 23 CeedScalar lambda; 24 }; 25 #endif // PHYSICS_STRUCT_MR 26 27 // Create context object 28 PetscErrorCode PhysicsContext_MR(MPI_Comm comm, Ceed ceed, Units *units, CeedQFunctionContext *ctx); 29 PetscErrorCode PhysicsSmootherContext_MR(MPI_Comm comm, Ceed ceed, CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 30 31 // Process physics options - Mooney-Rivlin 32 PetscErrorCode ProcessPhysics_MR(MPI_Comm comm, Physics_MR phys, Units units); 33 34 #endif // mooney_rivlin_h 35