41   template<
template<
typename> 
class DerivedPhysics>
 
   43                                                                                               const std::string& physics_name )
 
   45     std::string core_physics = this->find_core_physics_name(physics_name);
 
   47     std::string model = 
"none";
 
   48     std::string strain_energy = 
"none";
 
   55     libMesh::UniquePtr<Physics> new_physics;
 
   57     if( model == std::string(
"hookes_law") )
 
   58       new_physics.reset( 
new DerivedPhysics<HookesLaw>
 
   59                          (physics_name,input, 
false ) );
 
   61     else if( model == std::string(
"incompressible_hyperelasticity") )
 
   63         if( strain_energy == std::string(
"mooney_rivlin") )
 
   69             std::string error = 
"ERROR: Invalid strain_energy "+strain_energy+
"!\n";
 
   70             error += 
"       Valid values are: mooney_rivlin\n";
 
   71             libmesh_error_msg(error);
 
   77         std::string error = 
"Error: Invalid stress-strain model: "+model+
"!\n";
 
   78         error += 
"       Valid values are: hookes_law\n";
 
   79         error += 
"                         incompressible_hyperelasticity\n";
 
   80         libmesh_error_msg(error);
 
   83     libmesh_assert(new_physics);
 
static PhysicsName elastic_membrane()
 
virtual libMesh::UniquePtr< Physics > build_physics(const GetPot &input, const std::string &physics_name)
 
PhysicsFactoryPlaneStressSolids< ElasticMembraneRayleighDamping > grins_factory_elastic_membrane_rayleigh_damping(PhysicsNaming::elastic_membrane_rayleigh_damping(), PhysicsNaming::elastic_membrane())
 
PhysicsFactoryPlaneStressSolids< ElasticMembrane > grins_factory_elastic_membrane(PhysicsNaming::elastic_membrane(), PhysicsNaming::elastic_membrane())
 
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. 
 
static PhysicsName elastic_membrane_rayleigh_damping()