1 // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3 // 4 // SPDX-License-Identifier: BSD-2-Clause 5 // 6 // This file is part of CEED: http://github.com/ceed 7 8 #ifndef neo_hookean_h 9 #define neo_hookean_h 10 11 #include <petsc.h> 12 #include "../include/structs.h" 13 14 #ifndef PHYSICS_STRUCT_NH 15 #define PHYSICS_STRUCT_NH 16 typedef struct Physics_NH_ *Physics_NH; 17 struct Physics_NH_ { 18 CeedScalar nu; // Poisson's ratio 19 CeedScalar E; // Young's Modulus 20 }; 21 #endif // PHYSICS_STRUCT_NH 22 23 // Create context object 24 PetscErrorCode PhysicsContext_NH(MPI_Comm comm, Ceed ceed, Units *units, 25 CeedQFunctionContext *ctx); 26 PetscErrorCode PhysicsSmootherContext_NH(MPI_Comm comm, Ceed ceed, 27 CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 28 29 // Process physics options 30 PetscErrorCode ProcessPhysics_NH(MPI_Comm comm, Physics_NH phys, Units units); 31 32 #endif // neo_hookean_h 33