#include <physics_factory_plane_stress_solids.h>
template<template< typename > class DerivedPhysics>
class GRINS::PhysicsFactoryPlaneStressSolids< DerivedPhysics >
Definition at line 39 of file physics_factory_plane_stress_solids.h.
template<template< typename > class DerivedPhysics>
template<template< typename > class DerivedPhysics>
template<template< typename > class DerivedPhysics>
Implements GRINS::PhysicsFactoryBase.
Definition at line 60 of file physics_factory_plane_stress_solids.h.
References GRINS::PhysicsFactoryHelper::parse_stress_strain_model().
64 std::string model =
"none";
65 std::string strain_energy =
"none";
72 libMesh::UniquePtr<Physics> new_physics;
74 if( model == std::string(
"hookes_law") )
75 new_physics.reset(
new DerivedPhysics<HookesLaw>
76 (physics_name,input,
false ) );
78 else if( model == std::string(
"incompressible_hyperelasticity") )
80 if( strain_energy == std::string(
"mooney_rivlin") )
82 new_physics.reset(
new DerivedPhysics<IncompressiblePlaneStressHyperelasticity<MooneyRivlin> >(physics_name,input,
false ) );
86 std::string error =
"ERROR: Invalid strain_energy "+strain_energy+
"!\n";
87 error +=
" Valid values are: mooney_rivlin\n";
88 libmesh_error_msg(error);
94 std::string error =
"Error: Invalid stress-strain model: "+model+
"!\n";
95 error +=
" Valid values are: hookes_law\n";
96 error +=
" incompressible_hyperelasticity\n";
97 libmesh_error_msg(error);
100 libmesh_assert(new_physics);
std::string find_core_physics_name(const std::string &physics_name)
static void parse_stress_strain_model(const GetPot &input, const std::string &physics, std::string &model, std::string &strain_energy)
Determine stress-strain law used by solid mechanics classes.
The documentation for this class was generated from the following file: