musica (C++)
Loading...
Searching...
No Matches
constitutive::Load< T > Struct Template Reference

Load. More...

#include <load.hpp>

Public Member Functions

virtual ~Load ()=default
 destructor
virtual void initialize (StateVariable< T > &sv)
 initialize the load
void clear ()
 clear the load phases
LoadPhase< T > & operator[] (const int &idx)
 Access a load phase.
LoadPhase< T > operator[] (const int &idx) const
 Access a load phase.
LoadPhase< T > at (const int &idx) const
 Access a load phase.
bool empty () const
 If the phases are empty.
int size () const
 number of load phases
const LoadPhase< T > & back () const
 last load phase
void emplace_back (const LoadPhase< T > &phase)
 emplace back a load phase
int totalSteps () const
 total number of steps
LoadPhase< T > & addLoadPhase (const LoadPhase< T > &phase)
 add a load phase
LoadPhase< T > & addIsotropicPhase (const T sigc, const int steps)
 add an isotropic load phase
LoadPhase< T > & addDrainedTriaxialPhase (const T sigc, const T eps1, const int steps, const int axis=1)
 add a drained triaxial load phase
LoadPhase< T > & addConstantStressRatioPhase (const T sig3_min, const T sig3_max, const T eta, const int steps, const int axis=1)
 add aconstant stress ratio load phase
LoadPhase< T > & addUndrainedTriaxialPhase (const T eps1, const int steps, const int axis=1, const bool no_epsv=false)
 add an undrained triaxial load phase
LoadPhase< T > & addUndrainedTrueTriaxialPhase (const T eps1, const T b, const int steps, const int axis1=1, const int axis2=2, const bool no_epsv=true)
 add an undrained true triaxial load phase
LoadPhase< T > & addUndrainedTrueTriaxialWithAxialStrainPhase (const T epsa, const T b, const int steps, const int axis1=1, const int axis2=2, const bool no_epsv=true)
 add an undrained true triaxial load phase with axial strain control
LoadPhase< T > & addUndrainedTriaxialWithoutShearPhase (const T eps1, const int steps, const int axis=1, const bool no_epsv=false)
 add an undrained triaxial load phase with controlling the shear strain
LoadPhase< T > & addTrueTriaxialWithConstantShearPhase (const T p, const T b, const int steps, const int axis1=1, const int axis2=2)
 add a true triaxial load phase with constant shear
LoadPhase< T > & addTrueTriaxialPhase (const T sig3, const T b, const T eps1, const int steps, const int axis1=1, const int axis2=2)
 add a true triaxial load phase
LoadPhase< T > & addConfinementPhase (const T eps1, const int steps)
 add a confinement load phase

Static Public Member Functions

static Eigen::Matrix< int, 6, 1 > axisIndex (const int axis=1)
 index of the loading axis

Public Attributes

std::vector< LoadPhase< T > > phases = {}
 load phases

Detailed Description

template<typename T>
struct constitutive::Load< T >

Load.

Constructor & Destructor Documentation

◆ ~Load()

template<typename T>
virtual constitutive::Load< T >::~Load ( )
virtualdefault

destructor

Member Function Documentation

◆ addConfinementPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addConfinementPhase ( const T eps1,
const int steps )
inline

add a confinement load phase

Parameters
eps1maximum strain
stepsnumber of steps
Returns
added load phase

References addLoadPhase().

Here is the call graph for this function:

◆ addConstantStressRatioPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addConstantStressRatioPhase ( const T sig3_min,
const T sig3_max,
const T eta,
const int steps,
const int axis = 1 )
inline

add aconstant stress ratio load phase

Parameters
sig3_minminimum value of minimum principal stress
sig3_maxmaximum value of minimum principal stress
etaconstant stress ratio
stepsnumber of steps
axisloading axis, 1, 2, 3
Returns
added load phase

References addLoadPhase(), and axisIndex().

Here is the call graph for this function:

◆ addDrainedTriaxialPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addDrainedTriaxialPhase ( const T sigc,
const T eps1,
const int steps,
const int axis = 1 )
inline

add a drained triaxial load phase

Parameters
sigcconfined stress
eps1maximum strain
stepsnumber of steps
axisloading axis, 1, 2, 3
Returns
added load phase

References addLoadPhase(), and axisIndex().

Referenced by addTrueTriaxialPhase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addIsotropicPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addIsotropicPhase ( const T sigc,
const int steps )
inline

add an isotropic load phase

Parameters
sigcconfined stress
stepsnumber of steps
Returns
added load phase

References addLoadPhase().

Here is the call graph for this function:

◆ addLoadPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addLoadPhase ( const LoadPhase< T > & phase)
inline

add a load phase

Parameters
phaseload phase
Returns
added load phase

References empty(), and constitutive::LoadPhase< T >::isCompatibleWith().

Referenced by addConfinementPhase(), addConstantStressRatioPhase(), addDrainedTriaxialPhase(), addIsotropicPhase(), addTrueTriaxialWithConstantShearPhase(), addUndrainedTriaxialPhase(), and addUndrainedTrueTriaxialPhase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addTrueTriaxialPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addTrueTriaxialPhase ( const T sig3,
const T b,
const T eps1,
const int steps,
const int axis1 = 1,
const int axis2 = 2 )
inline

add a true triaxial load phase

Parameters
sig3minimum principal stress
bintermediate stress ratio
eps1maximum strain
stepsnumber of steps
axis1major axis, by default 1
axis2intermediate axis, by default 2
Returns
added load phase

References addDrainedTriaxialPhase().

Here is the call graph for this function:

◆ addTrueTriaxialWithConstantShearPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addTrueTriaxialWithConstantShearPhase ( const T p,
const T b,
const int steps,
const int axis1 = 1,
const int axis2 = 2 )
inline

add a true triaxial load phase with constant shear

Parameters
pmean stress
bintermediate stress ratio
stepsnumber of steps
axis1major axis, by default 1
axis2intermediate axis, by default 2
Returns
added load phase

References addLoadPhase().

Here is the call graph for this function:

◆ addUndrainedTriaxialPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addUndrainedTriaxialPhase ( const T eps1,
const int steps,
const int axis = 1,
const bool no_epsv = false )
inline

add an undrained triaxial load phase

Parameters
eps1maximum strain
stepsnumber of steps
axisloading axis, 1, 2, 3
no_epsvwhether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default false
Returns
added load phase

References addLoadPhase(), and axisIndex().

Referenced by addUndrainedTriaxialWithoutShearPhase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addUndrainedTriaxialWithoutShearPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addUndrainedTriaxialWithoutShearPhase ( const T eps1,
const int steps,
const int axis = 1,
const bool no_epsv = false )
inline

add an undrained triaxial load phase with controlling the shear strain

Parameters
eps1maximum strain
stepsnumber of steps
axisloading axis, 1, 2, 3
no_epsvwhether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default false
Returns
added load phase

References addUndrainedTriaxialPhase().

Here is the call graph for this function:

◆ addUndrainedTrueTriaxialPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addUndrainedTrueTriaxialPhase ( const T eps1,
const T b,
const int steps,
const int axis1 = 1,
const int axis2 = 2,
const bool no_epsv = true )
inline

add an undrained true triaxial load phase

Parameters
eps1maximum strain
bintermediate stress ratio
stepsnumber of steps
axis1major axis, by default 1
axis2intermediate axis, by default 2
no_epsvwhether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default true
Returns
added load phase

References addLoadPhase().

Referenced by addUndrainedTrueTriaxialWithAxialStrainPhase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addUndrainedTrueTriaxialWithAxialStrainPhase()

template<typename T>
LoadPhase< T > & constitutive::Load< T >::addUndrainedTrueTriaxialWithAxialStrainPhase ( const T epsa,
const T b,
const int steps,
const int axis1 = 1,
const int axis2 = 2,
const bool no_epsv = true )
inline

add an undrained true triaxial load phase with axial strain control

Parameters
epsaaxial strain
bintermediate stress ratio
stepsnumber of steps
axis1major axis, by default 1
axis2intermediate axis, by default 2
no_epsvwhether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default true
Returns
added load phase

References addUndrainedTrueTriaxialPhase(), and constitutive::vec2mat().

Here is the call graph for this function:

◆ at()

template<typename T>
LoadPhase< T > constitutive::Load< T >::at ( const int & idx) const
inline

Access a load phase.

Parameters
idxindex of the load phase
Returns
load phase

◆ axisIndex()

template<typename T>
Eigen::Matrix< int, 6, 1 > constitutive::Load< T >::axisIndex ( const int axis = 1)
inlinestatic

index of the loading axis

Parameters
axisloading axis, 1, 2, 3

Referenced by addConstantStressRatioPhase(), addDrainedTriaxialPhase(), and addUndrainedTriaxialPhase().

Here is the caller graph for this function:

◆ back()

template<typename T>
const LoadPhase< T > & constitutive::Load< T >::back ( ) const
inline

last load phase

Returns
last load phase

◆ clear()

template<typename T>
void constitutive::Load< T >::clear ( )
inline

clear the load phases

◆ emplace_back()

template<typename T>
void constitutive::Load< T >::emplace_back ( const LoadPhase< T > & phase)
inline

emplace back a load phase

Parameters
phaseload phase

◆ empty()

template<typename T>
bool constitutive::Load< T >::empty ( ) const
inline

If the phases are empty.

Returns
true if empty, false otherwise

Referenced by addLoadPhase().

Here is the caller graph for this function:

◆ initialize()

template<typename T>
virtual void constitutive::Load< T >::initialize ( StateVariable< T > & sv)
inlinevirtual

initialize the load

◆ operator[]() [1/2]

template<typename T>
LoadPhase< T > & constitutive::Load< T >::operator[] ( const int & idx)
inline

Access a load phase.

Parameters
idxindex of the load phase
Returns
load phase

◆ operator[]() [2/2]

template<typename T>
LoadPhase< T > constitutive::Load< T >::operator[] ( const int & idx) const
inline

Access a load phase.

Parameters
idxindex of the load phase
Returns
load phase

◆ size()

template<typename T>
int constitutive::Load< T >::size ( ) const
inline

number of load phases

Returns
number of load phases

◆ totalSteps()

template<typename T>
int constitutive::Load< T >::totalSteps ( ) const
inline

total number of steps

Returns
total number of steps

Member Data Documentation

◆ phases

template<typename T>
std::vector<LoadPhase<T> > constitutive::Load< T >::phases = {}

load phases


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