Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::MicrostructureContainer< dim > Struct Template Reference

#include <MicrostructureContainer.h>

Inheritance diagram for model::MicrostructureContainer< dim >:
Collaboration diagram for model::MicrostructureContainer< dim >:

Public Types

typedef MicrostructureBase< dim >::MatrixDim MatrixDim
typedef MicrostructureBase< dim >::VectorDim VectorDim
typedef MicrostructureBase< dim >::ElementType ElementType
typedef MicrostructureBase< dim >::NodeType NodeType
typedef MicrostructureBase< dim >::SimplexDim SimplexDim
typedef MicrostructureBase< dim >::VectorMSize VectorMSize
typedef MicrostructureBase< dim >::VectorISize VectorISize
typedef std::vector< std::shared_ptr< MicrostructureBase< dim > > > BaseContainerType
Public Types inherited from model::MicrostructureBase< dim >
typedef MicrostructureContainer< dim > MicrostructureContainerType
typedef Simplex< dim, dim > SimplexDim
typedef DefectiveCrystalBase< dim >::ElementType ElementType
typedef FiniteElement< ElementType > FiniteElementType
typedef ElementType::NodeType NodeType
typedef Eigen::Matrix< double, dim, dim > MatrixDim
typedef Eigen::Matrix< double, dim, 1 > VectorDim
typedef Eigen::Matrix< double, mSize, 1 > VectorMSize
typedef Eigen::Matrix< double, iSize, 1 > VectorISize

Public Member Functions

 MicrostructureContainer (DefectiveCrystalBase< dim > &ddBase_in)
const BaseContainerType & microstructures () const
BaseContainerType & microstructures ()
void initializeConfiguration (const DefectiveCrystalConfigIO< dim > &configIO, const std::ofstream &f_file, const std::ofstream &F_labels) override
void solve () override
void reSolve () override
double getDt () const override
void output (DefectiveCrystalConfigIO< dim > &configIO, DefectiveCrystalAuxIO< dim > &auxIO, std::ofstream &f_file, std::ofstream &F_labels) const override
void updateConfiguration () override
MatrixDim averagePlasticDistortion () const override
MatrixDim averagePlasticDistortionRate () const override
VectorDim displacement (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const override
MatrixDim stress (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const override
MatrixDim averageStress () const override
VectorDim inelasticDisplacementRate (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const override
VectorMSize mobileConcentration (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const override
VectorISize immobileClusters (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const override
template<typename MicrostructureType>
std::set< std::shared_ptr< MicrostructureType > > getTypedMicrostructures () const
template<typename MicrostructureType>
std::shared_ptr< MicrostructureType > getUniqueTypedMicrostructure () const
Public Member Functions inherited from model::MicrostructureBase< dim >
 MicrostructureBase (const std::string &tag_in, MicrostructureContainer< dim > &m_in)
virtual ~MicrostructureBase ()=default
double timeSinceLastUpdate () const
std::set< const Grain< dim > * > pointGrains (const VectorDim &x, const NodeType *const node, const ElementType *const ele, const SimplexDim *const guess) const
virtual VectorDim displacement (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const =0
virtual MatrixDim stress (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const =0
virtual VectorDim inelasticDisplacementRate (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const =0
virtual VectorMSize mobileConcentration (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const =0
virtual VectorISize immobileClusters (const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const =0
Eigen::Matrix< double, Eigen::Dynamic, dim > displacement (Eigen::Ref< const Eigen::Matrix< double, Eigen::Dynamic, dim > >) const
std::vector< Eigen::Matrix< double, dim, dim > > stress (Eigen::Ref< const Eigen::Matrix< double, Eigen::Dynamic, dim > >) const

Public Attributes

DefectiveCrystalBase< dim > & ddBase
Public Attributes inherited from model::MicrostructureBase< dim >
const std::string tag
MicrostructureContainerType & microstructures
double lastUpdateTime

Additional Inherited Members

Static Public Attributes inherited from model::MicrostructureBase< dim >
static constexpr int mSize =ClusterDynamicsParameters<dim>::mSize
static constexpr int iSize =ClusterDynamicsParameters<dim>::iSize

Detailed Description

template<int dim>
struct model::MicrostructureContainer< dim >

Definition at line 22 of file MicrostructureContainer.h.

Member Typedef Documentation

◆ BaseContainerType

template<int dim>
typedef std::vector<std::shared_ptr<MicrostructureBase<dim> > > model::MicrostructureContainer< dim >::BaseContainerType

Definition at line 33 of file MicrostructureContainer.h.

◆ ElementType

template<int dim>
typedef MicrostructureBase<dim>::ElementType model::MicrostructureContainer< dim >::ElementType

Definition at line 27 of file MicrostructureContainer.h.

◆ MatrixDim

Definition at line 25 of file MicrostructureContainer.h.

◆ NodeType

template<int dim>
typedef MicrostructureBase<dim>::NodeType model::MicrostructureContainer< dim >::NodeType

Definition at line 28 of file MicrostructureContainer.h.

◆ SimplexDim

template<int dim>
typedef MicrostructureBase<dim>::SimplexDim model::MicrostructureContainer< dim >::SimplexDim

Definition at line 29 of file MicrostructureContainer.h.

◆ VectorDim

Definition at line 26 of file MicrostructureContainer.h.

◆ VectorISize

template<int dim>
typedef MicrostructureBase<dim>::VectorISize model::MicrostructureContainer< dim >::VectorISize

Definition at line 31 of file MicrostructureContainer.h.

◆ VectorMSize

template<int dim>
typedef MicrostructureBase<dim>::VectorMSize model::MicrostructureContainer< dim >::VectorMSize

Definition at line 30 of file MicrostructureContainer.h.

Constructor & Destructor Documentation

◆ MicrostructureContainer()

template<int dim>
model::MicrostructureContainer< dim >::MicrostructureContainer ( DefectiveCrystalBase< dim > & ddBase_in)

Member Function Documentation

◆ averagePlasticDistortion()

template<int dim>
MicrostructureContainer< dim >::MatrixDim model::MicrostructureContainer< dim >::averagePlasticDistortion ( ) const
overridevirtual

◆ averagePlasticDistortionRate()

template<int dim>
MicrostructureContainer< dim >::MatrixDim model::MicrostructureContainer< dim >::averagePlasticDistortionRate ( ) const
overridevirtual

◆ averageStress()

template<int dim>
MicrostructureContainer< dim >::MatrixDim model::MicrostructureContainer< dim >::averageStress ( ) const
overridevirtual

◆ displacement()

template<int dim>
MicrostructureContainer< dim >::VectorDim model::MicrostructureContainer< dim >::displacement ( const VectorDim & x,
const NodeType * const node,
const ElementType * const ele,
const SimplexDim * const guess ) const
override

◆ getDt()

template<int dim>
double model::MicrostructureContainer< dim >::getDt ( ) const
overridevirtual

◆ getTypedMicrostructures()

template<int dim>
template<typename MicrostructureType>
std::set< std::shared_ptr< MicrostructureType > > model::MicrostructureContainer< dim >::getTypedMicrostructures ( ) const
inline

Definition at line 70 of file MicrostructureContainer.h.

◆ getUniqueTypedMicrostructure()

template<int dim>
template<typename MicrostructureType>
std::shared_ptr< MicrostructureType > model::MicrostructureContainer< dim >::getUniqueTypedMicrostructure ( ) const
inline

Definition at line 100 of file MicrostructureContainer.h.

◆ immobileClusters()

template<int dim>
MicrostructureContainer< dim >::VectorISize model::MicrostructureContainer< dim >::immobileClusters ( const VectorDim & x,
const NodeType * const node,
const ElementType * const ele,
const SimplexDim * const guess ) const
override

◆ inelasticDisplacementRate()

template<int dim>
MicrostructureContainer< dim >::VectorDim model::MicrostructureContainer< dim >::inelasticDisplacementRate ( const VectorDim & x,
const NodeType * const node,
const ElementType * const ele,
const SimplexDim * const guess ) const
override

◆ initializeConfiguration()

template<int dim>
void model::MicrostructureContainer< dim >::initializeConfiguration ( const DefectiveCrystalConfigIO< dim > & configIO,
const std::ofstream & f_file,
const std::ofstream & F_labels )
overridevirtual

◆ microstructures() [1/2]

template<int dim>
MicrostructureContainer< dim >::BaseContainerType & model::MicrostructureContainer< dim >::microstructures ( )

◆ microstructures() [2/2]

template<int dim>
const MicrostructureContainer< dim >::BaseContainerType & model::MicrostructureContainer< dim >::microstructures ( ) const

◆ mobileConcentration()

template<int dim>
MicrostructureContainer< dim >::VectorMSize model::MicrostructureContainer< dim >::mobileConcentration ( const VectorDim & x,
const NodeType * const node,
const ElementType * const ele,
const SimplexDim * const guess ) const
override

◆ output()

template<int dim>
void model::MicrostructureContainer< dim >::output ( DefectiveCrystalConfigIO< dim > & configIO,
DefectiveCrystalAuxIO< dim > & auxIO,
std::ofstream & f_file,
std::ofstream & F_labels ) const
overridevirtual

◆ reSolve()

template<int dim>
void model::MicrostructureContainer< dim >::reSolve ( )
overridevirtual

◆ solve()

template<int dim>
void model::MicrostructureContainer< dim >::solve ( )
overridevirtual

◆ stress()

template<int dim>
MicrostructureContainer< dim >::MatrixDim model::MicrostructureContainer< dim >::stress ( const VectorDim & x,
const NodeType * const node,
const ElementType * const ele,
const SimplexDim * const guess ) const
override

◆ updateConfiguration()

template<int dim>
void model::MicrostructureContainer< dim >::updateConfiguration ( )
overridevirtual

Member Data Documentation

◆ ddBase

template<int dim>
DefectiveCrystalBase<dim>& model::MicrostructureContainer< dim >::ddBase

Definition at line 35 of file MicrostructureContainer.h.


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