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 mooney_rivlin_h 95754ecacSJeremy L Thompson #define mooney_rivlin_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_MR 175754ecacSJeremy L Thompson #define PHYSICS_STRUCT_MR 185754ecacSJeremy L Thompson typedef struct Physics_MR_ *Physics_MR; 195754ecacSJeremy L Thompson struct Physics_MR_ { 205754ecacSJeremy L Thompson // Material properties for MR 215754ecacSJeremy L Thompson CeedScalar mu_1; 225754ecacSJeremy L Thompson CeedScalar mu_2; 235754ecacSJeremy L Thompson CeedScalar lambda; 245754ecacSJeremy L Thompson }; 255754ecacSJeremy L Thompson #endif // PHYSICS_STRUCT_MR 265754ecacSJeremy L Thompson 275754ecacSJeremy L Thompson // Create context object 282b730f8bSJeremy L Thompson PetscErrorCode PhysicsContext_MR(MPI_Comm comm, Ceed ceed, Units *units, CeedQFunctionContext *ctx); 292b730f8bSJeremy L Thompson PetscErrorCode PhysicsSmootherContext_MR(MPI_Comm comm, Ceed ceed, 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