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 mooney_rivlin_h 95754ecacSJeremy L Thompson #define mooney_rivlin_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_MR 155754ecacSJeremy L Thompson #define PHYSICS_STRUCT_MR 165754ecacSJeremy L Thompson typedef struct Physics_MR_ *Physics_MR; 175754ecacSJeremy L Thompson struct Physics_MR_ { 185754ecacSJeremy L Thompson // Material properties for MR 195754ecacSJeremy L Thompson CeedScalar mu_1; 205754ecacSJeremy L Thompson CeedScalar mu_2; 215754ecacSJeremy L Thompson CeedScalar lambda; 225754ecacSJeremy L Thompson }; 235754ecacSJeremy L Thompson #endif // PHYSICS_STRUCT_MR 245754ecacSJeremy L Thompson 255754ecacSJeremy L Thompson // Create context object 265754ecacSJeremy L Thompson PetscErrorCode PhysicsContext_MR(MPI_Comm comm, Ceed ceed, Units *units, 275754ecacSJeremy L Thompson CeedQFunctionContext *ctx); 285754ecacSJeremy L Thompson PetscErrorCode PhysicsSmootherContext_MR(MPI_Comm comm, Ceed ceed, 295754ecacSJeremy L Thompson CeedQFunctionContext ctx, CeedQFunctionContext *ctx_smoother); 305754ecacSJeremy L Thompson 315754ecacSJeremy L Thompson // Process physics options - Mooney-Rivlin 325754ecacSJeremy L Thompson PetscErrorCode ProcessPhysics_MR(MPI_Comm comm, Physics_MR phys, Units units); 335754ecacSJeremy L Thompson 345754ecacSJeremy L Thompson #endif // mooney_rivlin_h 35