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.
void set_param (const std::string &name, double value)
 Set a scalar parameter value by name.

Static Public Member Functions

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

Public Attributes

const std::vector< std::pair< std::string, InputParameter > > input_param_properties
 Properties of the input parameters for this material [(name, InputParameter), ...].

Protected Attributes

std::map< std::string, double > params_
 Map of 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

◆ set_param()

void SphereMaterial::set_param ( const std::string & name,
double value )

Set a scalar parameter value by name.

Parameters
nameParameter name
valueParameter value

Member Data Documentation

◆ input_param_properties

const std::vector<std::pair<std::string, InputParameter> > SphereMaterial::input_param_properties

Properties of the input parameters for this material [(name, InputParameter), ...].

◆ params_

std::map<std::string, double> SphereMaterial::params_
protected

Map of parameter names to their values.


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