![]() |
OGS
|
Provides convenient access to the individual blocks of MFront's thermodynamic forces data.
| DisplacementDim | the displacement dimension |
| TDynForces | a list (of types) of thermodynamic forces |
"Thermodynamic forces" is MFront nomenclature for the data an MFront behaviour computes.
TDynForces is a list of types. Each is expected to behave like Strain and the other classes in Variable.h.
MFront's thermodynamic forces are stored in a single vector of double values. The data of forces that come earlier in TDynForces are stored earlier in MFront's data.
Definition at line 42 of file ThermodynamicForcesView.h.
#include <ThermodynamicForcesView.h>
Classes | |
| struct | SizeOf |
A template metafunction accessing the size of the given Variable. More... | |
Public Member Functions | |
| template<typename Force > | |
| auto | block (Force force, OGSMFrontThermodynamicForcesData const &data) const |
Read-only access to the data for the given thermodynamic force Force. | |
| template<typename Force > | |
| auto | block (Force, std::vector< double > const &data) const |
| Overload taking a std::vector. | |
| template<typename Force , std::enable_if_t< SizeOf< Force >::value==1, bool > = true> | |
| double & | block (Force force, OGSMFrontThermodynamicForcesData &data) const |
| template<typename Force , std::enable_if_t< SizeOf< Force >::value==1, bool > = true> | |
| double & | block (Force, std::vector< double > &data) const |
| Overload taking a std::vector. | |
| template<typename Force , std::enable_if_t< SizeOf< Force >::value !=1, bool > = true> | |
| auto | block (Force force, OGSMFrontThermodynamicForcesData &data) const |
| template<typename Force , std::enable_if_t< SizeOf< Force >::value !=1, bool > = true> | |
| auto | block (Force, std::vector< double > &data) const |
| Overload taking a std::vector. | |
Static Public Attributes | |
| static constexpr std::size_t | data_size_all_forces |
| The passed data to the block() methods must have this size. | |
Static Private Member Functions | |
| template<typename Force > | |
| static constexpr std::size_t | dataOffset () |
| template<typename Force , typename DataVector > | |
| static constexpr auto | asEigenMap (DataVector &data) |
Access a block of the given data as an Eigen::Map. | |
| template<typename Force , typename DataVector > | |
| static constexpr auto & | asDouble (DataVector &data) |
Access a block of the given data as a double value. | |
|
inlinestaticconstexprprivate |
Access a block of the given data as a double value.
Definition at line 97 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::data_size_all_forces, and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::dataOffset().
Referenced by MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block().
|
inlinestaticconstexprprivate |
Access a block of the given data as an Eigen::Map.
Definition at line 74 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::data_size_all_forces, and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::dataOffset().
Referenced by MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block().
|
inline |
Read-write access to the data for the given thermodynamic force Force.
This overload is chosen if Force has one component.
Definition at line 140 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesData::data.
|
inline |
Read-write access to the data for the given thermodynamic force Force.
This overload is chosen if Force has more than one component.
Definition at line 159 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesData::data.
|
inline |
Read-only access to the data for the given thermodynamic force Force.
Definition at line 112 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesData::data.
Referenced by MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::block().
|
inline |
Overload taking a std::vector.
Definition at line 148 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asDouble().
|
inline |
Overload taking a std::vector.
Definition at line 167 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asEigenMap().
|
inline |
Overload taking a std::vector.
Definition at line 119 of file ThermodynamicForcesView.h.
References MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asDouble(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asEigenMap().
|
inlinestaticconstexprprivate |
Computes the offset of the given Force's data in MFront's thermodynamic forces data.
Definition at line 57 of file ThermodynamicForcesView.h.
Referenced by MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asDouble(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asEigenMap().
|
staticconstexpr |
The passed data to the block() methods must have this size.
Definition at line 173 of file ThermodynamicForcesView.h.
Referenced by MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asDouble(), and MaterialLib::Solids::MFront::OGSMFrontThermodynamicForcesView< DisplacementDim, TDynForces >::asEigenMap().