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

Fabric tensor for the directional density function. More...

#include <fabric.hpp>

Collaboration diagram for micromechanical::core::FabricTensor< T >:

Public Member Functions

 FabricTensor (std::string type="chang1990-ext", std::string evolution="zhao2020", const std::map< std::string, T > &coefs={})
 Constructor.
 
virtual ~FabricTensor ()=default
 destructor
 
void setupDefaultParameters ()
 Set the default fabric tensor parameters.
 
void setParameters (const std::string &type="chang1990-ext", const std::string &evolution="zhao2020", const std::map< std::string, T > &coefs={})
 Set the fabric tensor parameters.
 
bool requiresUpdate ()
 Check if the fabric tensor requires update.
 
bool requiresEvolution ()
 Check if the fabric tensor requires evolution.
 
void initialize ()
 Initial fabric tensor.
 
void rotate (bool rotate=true)
 Rotate the fabric tensor.
 
Eigen::Array< T, Eigen::Dynamic, 1 > density (const Eigen::Array< T, Eigen::Dynamic, 1 > &beta, const Eigen::Array< T, Eigen::Dynamic, 1 > &gamma)
 Directional density function.
 
Eigen::Matrix< T, 3, 3 > Fij ()
 Deviatoric fabric tensor.
 
void evolve (const StateVariable< T > &sv0, StateVariable< T > &sv, bool use_plastic_strain=true)
 Update the fabric tensor.
 

Public Attributes

Eigen::Matrix< T, 3, 3 > tensor = Eigen::Matrix<T, 3, 3>::Identity()
 fabric tensor
 
std::string type
 fabric tensor type
 
std::string evolution
 evolution type
 
std::map< std::string, T > coefs
 fabric tensor coefficients
 
std::shared_ptr< FabricTensorChanged > changed
 fabric tensor changed flags
 
bool rotated = false
 whether the fabric tensor is rotated
 

Detailed Description

template<typename T>
struct micromechanical::core::FabricTensor< T >

Fabric tensor for the directional density function.

Constructor & Destructor Documentation

◆ FabricTensor()

template<typename T>
micromechanical::core::FabricTensor< T >::FabricTensor ( std::string type = "chang1990-ext",
std::string evolution = "zhao2020",
const std::map< std::string, T > & coefs = {} )
inlineexplicit

Constructor.

Parameters
typefabric tensor type
evolutionevolution type
coefsfabric tensor coefficients

References coefs, evolution, and type.

◆ ~FabricTensor()

template<typename T>
virtual micromechanical::core::FabricTensor< T >::~FabricTensor ( )
virtualdefault

destructor

Member Function Documentation

◆ density()

template<typename T>
Eigen::Array< T, Eigen::Dynamic, 1 > micromechanical::core::FabricTensor< T >::density ( const Eigen::Array< T, Eigen::Dynamic, 1 > & beta,
const Eigen::Array< T, Eigen::Dynamic, 1 > & gamma )
inline

Directional density function.

◆ evolve()

◆ Fij()

template<typename T>
Eigen::Matrix< T, 3, 3 > micromechanical::core::FabricTensor< T >::Fij ( )
inline

Deviatoric fabric tensor.

Referenced by evolve().

Here is the caller graph for this function:

◆ initialize()

template<typename T>
void micromechanical::core::FabricTensor< T >::initialize ( )
inline

Initial fabric tensor.

References rotate().

Here is the call graph for this function:

◆ requiresEvolution()

template<typename T>
bool micromechanical::core::FabricTensor< T >::requiresEvolution ( )
inline

Check if the fabric tensor requires evolution.

References micromechanical::math::split().

Here is the call graph for this function:

◆ requiresUpdate()

template<typename T>
bool micromechanical::core::FabricTensor< T >::requiresUpdate ( )
inline

Check if the fabric tensor requires update.

◆ rotate()

template<typename T>
void micromechanical::core::FabricTensor< T >::rotate ( bool rotate = true)
inline

Rotate the fabric tensor.

Parameters
rotaterotate or revert the fabric tensor

References PI, and rotate().

Referenced by initialize(), and rotate().

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

◆ setParameters()

template<typename T>
void micromechanical::core::FabricTensor< T >::setParameters ( const std::string & type = "chang1990-ext",
const std::string & evolution = "zhao2020",
const std::map< std::string, T > & coefs = {} )
inline

Set the fabric tensor parameters.

Parameters
typefabric tensor type
evolutionevolution type
coefsfabric tensor coefficients

References coefs, evolution, and type.

◆ setupDefaultParameters()

template<typename T>
void micromechanical::core::FabricTensor< T >::setupDefaultParameters ( )
inline

Set the default fabric tensor parameters.

References micromechanical::math::split().

Here is the call graph for this function:

Member Data Documentation

◆ changed

template<typename T>
std::shared_ptr<FabricTensorChanged> micromechanical::core::FabricTensor< T >::changed
Initial value:
=
std::make_shared<FabricTensorChanged>()

fabric tensor changed flags

◆ coefs

template<typename T>
std::map<std::string, T> micromechanical::core::FabricTensor< T >::coefs

fabric tensor coefficients

Referenced by FabricTensor(), and setParameters().

◆ evolution

template<typename T>
std::string micromechanical::core::FabricTensor< T >::evolution

evolution type

Referenced by FabricTensor(), and setParameters().

◆ rotated

template<typename T>
bool micromechanical::core::FabricTensor< T >::rotated = false

whether the fabric tensor is rotated

◆ tensor

template<typename T>
Eigen::Matrix<T, 3, 3> micromechanical::core::FabricTensor< T >::tensor = Eigen::Matrix<T, 3, 3>::Identity()

fabric tensor

◆ type

template<typename T>
std::string micromechanical::core::FabricTensor< T >::type

fabric tensor type

Referenced by FabricTensor(), and setParameters().


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