1 #ifndef mooney_rivlin_h 2 #define mooney_rivlin_h 3 4 #include <petsc.h> 5 #include "../include/structs.h" 6 7 #ifndef PHYSICS_STRUCT_MR 8 #define PHYSICS_STRUCT_MR 9 typedef struct Physics_MR_ *Physics_MR; 10 struct Physics_MR_ { 11 // Material properties for MR 12 CeedScalar mu_1; 13 CeedScalar mu_2; 14 CeedScalar lambda; 15 }; 16 #endif // PHYSICS_STRUCT_MR 17 18 // Create context object 19 PetscErrorCode PhysicsContext_MR(MPI_Comm comm, Ceed ceed, Units *units, 20 CeedQFunctionContext *ctx); 21 PetscErrorCode PhysicsSmootherContext_MR(MPI_Comm comm, Ceed ceed, 22 CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 23 24 // Process physics options - Mooney-Rivlin 25 PetscErrorCode ProcessPhysics_MR(MPI_Comm comm, Physics_MR phys, Units units); 26 27 #endif // mooney_rivlin_h 28