xref: /libCEED/examples/solids/problems/neo-hookean.h (revision bf4cb66493dbcc06b8d25c9c91cf89fe1cab7c9b)
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