svZeroDSolver
Loading...
Searching...
No Matches
SphereMaterial Class Referenceabstract

Base class for spherical chamber wall materials. More...

#include <SphereMaterial.h>

Inheritance diagram for SphereMaterial:
[legend]

Public Member Functions

 SphereMaterial (const std::vector< std::pair< std::string, InputParameter > > &props)
 Construct a SphereMaterial.
virtual SphericalStressResult compute (double radius, double radius0) const =0
 Compute material stress contributions at the current state.
Public Member Functions inherited from ParameterHolder
 ParameterHolder (const std::vector< std::pair< std::string, InputParameter > > &props)
 Construct a ParameterHolder.
void set_param (const std::string &name, double value)
 Set a scalar parameter value by name.
void set_param_vector (const std::string &name, const std::vector< double > &value)
 Set a vector-valued parameter value by name.
virtual void finalize ()
 Called once after all parameters have been read from the input file (e.g. by the loader).

Static Public Member Functions

static std::unique_ptr< SphereMaterial > create (const std::string &type_str)
 Factory: create a material from a type string.

Additional Inherited Members

Public Attributes inherited from ParameterHolder
const std::vector< std::pair< std::string, InputParameter > > input_param_properties
 Properties of the input parameters for this component [(name, InputParameter), ...].
Protected Attributes inherited from ParameterHolder
std::map< std::string, double > params_
 Map of scalar parameter names to their values.
std::map< std::string, std::vector< double > > params_vec_
 Map of vector-valued parameter names to their values.

Detailed Description

Base class for spherical chamber wall materials.

Subclasses implement the material-specific elastic stress term in the spherical stress equation:

\‍[-S + \tau + S_\text{sl}(r, r_0) = 0
\‍]

Constructor & Destructor Documentation

◆ SphereMaterial()

SphereMaterial::SphereMaterial ( const std::vector< std::pair< std::string, InputParameter > > & props)

Construct a SphereMaterial.

Parameters
propsParameter name/spec pairs for this material type

Member Function Documentation

◆ compute()

virtual SphericalStressResult SphereMaterial::compute ( double radius,
double radius0 ) const
pure virtual

Compute material stress contributions at the current state.

Parameters
radiusRadius perturbation $r$
radius0Reference radius $r_0$
Returns
SphericalStressResult

Implemented in ExponentialMaterial, and MooneyRivlinMaterial.

◆ create()

std::unique_ptr< SphereMaterial > SphereMaterial::create ( const std::string & type_str)
static

Factory: create a material from a type string.

Parameters
type_strOne of: "mooney_rivlin", "exponential"
Returns
Unique pointer to the created material

The documentation for this class was generated from the following files: