13d8e8822SJeremy L Thompson // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 23d8e8822SJeremy L Thompson // All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 33d8e8822SJeremy L Thompson // 43d8e8822SJeremy L Thompson // SPDX-License-Identifier: BSD-2-Clause 53d8e8822SJeremy L Thompson // 63d8e8822SJeremy L Thompson // This file is part of CEED: http://github.com/ceed 73d8e8822SJeremy L Thompson 85754ecacSJeremy L Thompson #ifndef neo_hookean_h 95754ecacSJeremy L Thompson #define neo_hookean_h 105754ecacSJeremy L Thompson 115754ecacSJeremy L Thompson #include <petsc.h> 12*2b730f8bSJeremy L Thompson 135754ecacSJeremy L Thompson #include "../include/structs.h" 145754ecacSJeremy L Thompson 155754ecacSJeremy L Thompson #ifndef PHYSICS_STRUCT_NH 165754ecacSJeremy L Thompson #define PHYSICS_STRUCT_NH 175754ecacSJeremy L Thompson typedef struct Physics_NH_ *Physics_NH; 185754ecacSJeremy L Thompson struct Physics_NH_ { 195754ecacSJeremy L Thompson CeedScalar nu; // Poisson's ratio 205754ecacSJeremy L Thompson CeedScalar E; // Young's Modulus 215754ecacSJeremy L Thompson }; 225754ecacSJeremy L Thompson #endif // PHYSICS_STRUCT_NH 235754ecacSJeremy L Thompson 245754ecacSJeremy L Thompson // Create context object 25*2b730f8bSJeremy L Thompson PetscErrorCode PhysicsContext_NH(MPI_Comm comm, Ceed ceed, Units *units, CeedQFunctionContext *ctx); 26*2b730f8bSJeremy L Thompson PetscErrorCode PhysicsSmootherContext_NH(MPI_Comm comm, Ceed ceed, CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 275754ecacSJeremy L Thompson 285754ecacSJeremy L Thompson // Process physics options 295754ecacSJeremy L Thompson PetscErrorCode ProcessPhysics_NH(MPI_Comm comm, Physics_NH phys, Units units); 305754ecacSJeremy L Thompson 315754ecacSJeremy L Thompson #endif // neo_hookean_h 32