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