1*5754ecacSJeremy L Thompson #ifndef neo_hookean_h 2*5754ecacSJeremy L Thompson #define neo_hookean_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_NH 8*5754ecacSJeremy L Thompson #define PHYSICS_STRUCT_NH 9*5754ecacSJeremy L Thompson typedef struct Physics_NH_ *Physics_NH; 10*5754ecacSJeremy L Thompson struct Physics_NH_ { 11*5754ecacSJeremy L Thompson CeedScalar nu; // Poisson's ratio 12*5754ecacSJeremy L Thompson CeedScalar E; // Young's Modulus 13*5754ecacSJeremy L Thompson }; 14*5754ecacSJeremy L Thompson #endif // PHYSICS_STRUCT_NH 15*5754ecacSJeremy L Thompson 16*5754ecacSJeremy L Thompson // Create context object 17*5754ecacSJeremy L Thompson PetscErrorCode PhysicsContext_NH(MPI_Comm comm, Ceed ceed, Units *units, 18*5754ecacSJeremy L Thompson CeedQFunctionContext *ctx); 19*5754ecacSJeremy L Thompson PetscErrorCode PhysicsSmootherContext_NH(MPI_Comm comm, Ceed ceed, 20*5754ecacSJeremy L Thompson CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 21*5754ecacSJeremy L Thompson 22*5754ecacSJeremy L Thompson // Process physics options 23*5754ecacSJeremy L Thompson PetscErrorCode ProcessPhysics_NH(MPI_Comm comm, Physics_NH phys, Units units); 24*5754ecacSJeremy L Thompson 25*5754ecacSJeremy L Thompson #endif // neo_hookean_h 26