1*3d8e8822SJeremy L Thompson // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 2*3d8e8822SJeremy L Thompson // All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3*3d8e8822SJeremy L Thompson // 4*3d8e8822SJeremy L Thompson // SPDX-License-Identifier: BSD-2-Clause 5*3d8e8822SJeremy L Thompson // 6*3d8e8822SJeremy L Thompson // This file is part of CEED: http://github.com/ceed 7*3d8e8822SJeremy 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> 125754ecacSJeremy L Thompson #include "../include/structs.h" 135754ecacSJeremy L Thompson 145754ecacSJeremy L Thompson #ifndef PHYSICS_STRUCT_NH 155754ecacSJeremy L Thompson #define PHYSICS_STRUCT_NH 165754ecacSJeremy L Thompson typedef struct Physics_NH_ *Physics_NH; 175754ecacSJeremy L Thompson struct Physics_NH_ { 185754ecacSJeremy L Thompson CeedScalar nu; // Poisson's ratio 195754ecacSJeremy L Thompson CeedScalar E; // Young's Modulus 205754ecacSJeremy L Thompson }; 215754ecacSJeremy L Thompson #endif // PHYSICS_STRUCT_NH 225754ecacSJeremy L Thompson 235754ecacSJeremy L Thompson // Create context object 245754ecacSJeremy L Thompson PetscErrorCode PhysicsContext_NH(MPI_Comm comm, Ceed ceed, Units *units, 255754ecacSJeremy L Thompson CeedQFunctionContext *ctx); 265754ecacSJeremy L Thompson PetscErrorCode PhysicsSmootherContext_NH(MPI_Comm comm, Ceed ceed, 275754ecacSJeremy L Thompson CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 285754ecacSJeremy L Thompson 295754ecacSJeremy L Thompson // Process physics options 305754ecacSJeremy L Thompson PetscErrorCode ProcessPhysics_NH(MPI_Comm comm, Physics_NH phys, Units units); 315754ecacSJeremy L Thompson 325754ecacSJeremy L Thompson #endif // neo_hookean_h 33