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 11*49aac155SJeremy L Thompson #include <ceed.h> 125754ecacSJeremy L Thompson #include <petsc.h> 132b730f8bSJeremy L Thompson 145754ecacSJeremy L Thompson #include "../include/structs.h" 155754ecacSJeremy L Thompson 165754ecacSJeremy L Thompson #ifndef PHYSICS_STRUCT_NH 175754ecacSJeremy L Thompson #define PHYSICS_STRUCT_NH 185754ecacSJeremy L Thompson typedef struct Physics_NH_ *Physics_NH; 195754ecacSJeremy L Thompson struct Physics_NH_ { 205754ecacSJeremy L Thompson CeedScalar nu; // Poisson's ratio 215754ecacSJeremy L Thompson CeedScalar E; // Young's Modulus 225754ecacSJeremy L Thompson }; 235754ecacSJeremy L Thompson #endif // PHYSICS_STRUCT_NH 245754ecacSJeremy L Thompson 255754ecacSJeremy L Thompson // Create context object 262b730f8bSJeremy L Thompson PetscErrorCode PhysicsContext_NH(MPI_Comm comm, Ceed ceed, Units *units, CeedQFunctionContext *ctx); 272b730f8bSJeremy L Thompson PetscErrorCode PhysicsSmootherContext_NH(MPI_Comm comm, Ceed ceed, 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