micromechanical (C++)
Loading...
Searching...
No Matches
micromechanical::MicromechanicalRegistry< T > Struct Template Reference

Micromechanical model registry. More...

#include <models.hpp>

Public Types

typedef MicromechanicalBase< T > * MicromechanicalFunction(ContactLawBase< T > *, const std::map< std::string, T > &, T, T)
 Micromechanical model function type.
 

Static Public Member Functions

static MicromechanicalFunctionload (const std::string &path)
 Load a micromechanical model from a shared library.
 
static MicromechanicalBase< T > * create (MicromechanicalBase< T > *model, ContactLawType contact, const std::map< std::string, T > &props={}, T npv=1e9, T radius=0.65e-3)
 Create a micromechanical model.
 
static MicromechanicalBase< T > * create (MicromechanicalBase< T > *model, const std::string &contact, const std::map< std::string, T > &props={}, T npv=1e9, T radius=0.65e-3)
 
static MicromechanicalBase< T > * create (const MicromechanicalType model, ContactLawType contact, const std::map< std::string, T > &props={}, T npv=1e9, T radius=0.65e-3)
 Create a micromechanical model.
 
static MicromechanicalBase< T > * create (const MicromechanicalType model, const std::string &contact, const std::map< std::string, T > &props={}, T npv=1e9, T radius=0.65e-3)
 
static MicromechanicalBase< T > * create (const std::string &model, ContactLawType contact, const std::map< std::string, T > &props={}, T npv=1e9, T radius=0.65e-3)
 
static MicromechanicalBase< T > * create (const std::string &model, const std::string &contact, const std::map< std::string, T > &props={}, T npv=1e9, T radius=0.65e-3)
 
static MicromechanicalType model_type (const std::string &model)
 Get the model type from a string.
 
static std::string model_name (const MicromechanicalType model)
 Get the model name from a model type.
 

Detailed Description

template<typename T>
struct micromechanical::MicromechanicalRegistry< T >

Micromechanical model registry.

Member Typedef Documentation

◆ MicromechanicalFunction

template<typename T>
typedef MicromechanicalBase< T > * micromechanical::MicromechanicalRegistry< T >::MicromechanicalFunction(ContactLawBase< T > *, const std::map< std::string, T > &, T, T)

Micromechanical model function type.

Member Function Documentation

◆ create() [1/6]

template<typename T>
static MicromechanicalBase< T > * micromechanical::MicromechanicalRegistry< T >::create ( const MicromechanicalType model,
const std::string & contact,
const std::map< std::string, T > & props = {},
T npv = 1e9,
T radius = 0.65e-3 )
inlinestatic

◆ create() [2/6]

template<typename T>
static MicromechanicalBase< T > * micromechanical::MicromechanicalRegistry< T >::create ( const MicromechanicalType model,
ContactLawType contact,
const std::map< std::string, T > & props = {},
T npv = 1e9,
T radius = 0.65e-3 )
inlinestatic

Create a micromechanical model.

Parameters
modelMicromechanical model type
contactcontact law type
propsmaterial properties
npvnumber of integration points
radiusradius of the particle
Returns
Micromechanical model

◆ create() [3/6]

template<typename T>
static MicromechanicalBase< T > * micromechanical::MicromechanicalRegistry< T >::create ( const std::string & model,
const std::string & contact,
const std::map< std::string, T > & props = {},
T npv = 1e9,
T radius = 0.65e-3 )
inlinestatic

◆ create() [4/6]

template<typename T>
static MicromechanicalBase< T > * micromechanical::MicromechanicalRegistry< T >::create ( const std::string & model,
ContactLawType contact,
const std::map< std::string, T > & props = {},
T npv = 1e9,
T radius = 0.65e-3 )
inlinestatic

◆ create() [5/6]

template<typename T>
static MicromechanicalBase< T > * micromechanical::MicromechanicalRegistry< T >::create ( MicromechanicalBase< T > * model,
const std::string & contact,
const std::map< std::string, T > & props = {},
T npv = 1e9,
T radius = 0.65e-3 )
inlinestatic

◆ create() [6/6]

template<typename T>
static MicromechanicalBase< T > * micromechanical::MicromechanicalRegistry< T >::create ( MicromechanicalBase< T > * model,
ContactLawType contact,
const std::map< std::string, T > & props = {},
T npv = 1e9,
T radius = 0.65e-3 )
inlinestatic

Create a micromechanical model.

Parameters
modelMicromechanical model type
contactcontact law type
propsmaterial properties
npvnumber of integration points
radiusradius of the particle
Returns
Micromechanical model

Referenced by load().

Here is the caller graph for this function:

◆ load()

template<typename T>
static MicromechanicalFunction * micromechanical::MicromechanicalRegistry< T >::load ( const std::string & path)
inlinestatic

Load a micromechanical model from a shared library.

References create().

Here is the call graph for this function:

◆ model_name()

template<typename T>
static std::string micromechanical::MicromechanicalRegistry< T >::model_name ( const MicromechanicalType model)
inlinestatic

Get the model name from a model type.

Parameters
modelMicromechanical model type
Returns
Micromechanical model name

References micromechanical::ChangHicher.

◆ model_type()

template<typename T>
static MicromechanicalType micromechanical::MicromechanicalRegistry< T >::model_type ( const std::string & model)
inlinestatic

Get the model type from a string.

Parameters
modelMicromechanical model type
Returns
Micromechanical model type

References micromechanical::ChangHicher.


The documentation for this struct was generated from the following file: