1 #ifndef neo_hookean_h 2 #define neo_hookean_h 3 4 #include <petsc.h> 5 #include "../include/structs.h" 6 7 #ifndef PHYSICS_STRUCT_NH 8 #define PHYSICS_STRUCT_NH 9 typedef struct Physics_NH_ *Physics_NH; 10 struct Physics_NH_ { 11 CeedScalar nu; // Poisson's ratio 12 CeedScalar E; // Young's Modulus 13 }; 14 #endif // PHYSICS_STRUCT_NH 15 16 // Create context object 17 PetscErrorCode PhysicsContext_NH(MPI_Comm comm, Ceed ceed, Units *units, 18 CeedQFunctionContext *ctx); 19 PetscErrorCode PhysicsSmootherContext_NH(MPI_Comm comm, Ceed ceed, 20 CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 21 22 // Process physics options 23 PetscErrorCode ProcessPhysics_NH(MPI_Comm comm, Physics_NH phys, Units units); 24 25 #endif // neo_hookean_h 26