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

#include <MicrostructureBase.h>

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

Public Types

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

 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 void initializeConfiguration (const DefectiveCrystalConfigIO< dim > &configIO, const std::ofstream &f_file, const std::ofstream &F_labels)=0
virtual void solve ()=0
virtual void reSolve ()=0
virtual double getDt () const =0
virtual void output (DefectiveCrystalConfigIO< dim > &configIO, DefectiveCrystalAuxIO< dim > &auxIO, std::ofstream &f_file, std::ofstream &F_labels) const =0
virtual void updateConfiguration ()=0
virtual MatrixDim averagePlasticDistortion () const =0
virtual MatrixDim averagePlasticDistortionRate () const =0
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 MatrixDim averageStress () 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

const std::string tag
MicrostructureContainerType & microstructures
double lastUpdateTime

Static Public Attributes

static constexpr int mSize =ClusterDynamicsParameters<dim>::mSize
static constexpr int iSize =ClusterDynamicsParameters<dim>::iSize

Detailed Description

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

Definition at line 25 of file MicrostructureBase.h.

Member Typedef Documentation

◆ ElementType

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

Definition at line 33 of file MicrostructureBase.h.

◆ FiniteElementType

template<int dim>
typedef FiniteElement<ElementType> model::MicrostructureBase< dim >::FiniteElementType

Definition at line 34 of file MicrostructureBase.h.

◆ MatrixDim

template<int dim>
typedef Eigen::Matrix<double,dim,dim> model::MicrostructureBase< dim >::MatrixDim

Definition at line 38 of file MicrostructureBase.h.

◆ MicrostructureContainerType

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

Definition at line 31 of file MicrostructureBase.h.

◆ NodeType

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

Definition at line 36 of file MicrostructureBase.h.

◆ SimplexDim

template<int dim>
typedef Simplex<dim,dim> model::MicrostructureBase< dim >::SimplexDim

Definition at line 32 of file MicrostructureBase.h.

◆ VectorDim

template<int dim>
typedef Eigen::Matrix<double,dim,1> model::MicrostructureBase< dim >::VectorDim

Definition at line 39 of file MicrostructureBase.h.

◆ VectorISize

template<int dim>
typedef Eigen::Matrix<double,iSize,1> model::MicrostructureBase< dim >::VectorISize

Definition at line 41 of file MicrostructureBase.h.

◆ VectorMSize

template<int dim>
typedef Eigen::Matrix<double,mSize,1> model::MicrostructureBase< dim >::VectorMSize

Definition at line 40 of file MicrostructureBase.h.

Constructor & Destructor Documentation

◆ MicrostructureBase()

template<int dim>
model::MicrostructureBase< dim >::MicrostructureBase ( const std::string & tag_in,
MicrostructureContainer< dim > & m_in )

Definition at line 25 of file src/DefectiveCrystal/MicrostructureBase.cpp.

◆ ~MicrostructureBase()

template<int dim>
virtual model::MicrostructureBase< dim >::~MicrostructureBase ( )
virtualdefault

Member Function Documentation

◆ averagePlasticDistortion()

◆ averagePlasticDistortionRate()

◆ averageStress()

◆ displacement() [1/2]

template<int dim>
virtual VectorDim model::MicrostructureBase< dim >::displacement ( const VectorDim & ,
const NodeType * const ,
const ElementType * const ,
const SimplexDim * const  ) const
pure virtual

◆ displacement() [2/2]

template<int dim>
Eigen::Matrix< double, Eigen::Dynamic, dim > model::MicrostructureBase< dim >::displacement ( Eigen::Ref< const Eigen::Matrix< double, Eigen::Dynamic, dim > > points) const

Definition at line 43 of file src/DefectiveCrystal/MicrostructureBase.cpp.

◆ getDt()

◆ immobileClusters()

template<int dim>
virtual VectorISize model::MicrostructureBase< dim >::immobileClusters ( const VectorDim & ,
const NodeType * const ,
const ElementType * const ,
const SimplexDim * const  ) const
pure virtual

◆ inelasticDisplacementRate()

template<int dim>
virtual VectorDim model::MicrostructureBase< dim >::inelasticDisplacementRate ( const VectorDim & ,
const NodeType * const ,
const ElementType * const ,
const SimplexDim * const  ) const
pure virtual

◆ initializeConfiguration()

◆ mobileConcentration()

template<int dim>
virtual VectorMSize model::MicrostructureBase< dim >::mobileConcentration ( const VectorDim & ,
const NodeType * const ,
const ElementType * const ,
const SimplexDim * const  ) const
pure virtual

◆ output()

◆ pointGrains()

template<int dim>
std::set< const Grain< dim > * > model::MicrostructureBase< dim >::pointGrains ( const VectorDim & x,
const NodeType *const node,
const ElementType *const ele,
const SimplexDim *const guess ) const

Definition at line 71 of file src/DefectiveCrystal/MicrostructureBase.cpp.

◆ reSolve()

◆ solve()

◆ stress() [1/2]

template<int dim>
virtual MatrixDim model::MicrostructureBase< dim >::stress ( const VectorDim & ,
const NodeType * const ,
const ElementType * const ,
const SimplexDim * const  ) const
pure virtual

◆ stress() [2/2]

template<int dim>
std::vector< Eigen::Matrix< double, dim, dim > > model::MicrostructureBase< dim >::stress ( Eigen::Ref< const Eigen::Matrix< double, Eigen::Dynamic, dim > > points) const

Definition at line 57 of file src/DefectiveCrystal/MicrostructureBase.cpp.

◆ timeSinceLastUpdate()

template<int dim>
double model::MicrostructureBase< dim >::timeSinceLastUpdate ( ) const

Definition at line 37 of file src/DefectiveCrystal/MicrostructureBase.cpp.

◆ updateConfiguration()

Member Data Documentation

◆ iSize

template<int dim>
int model::MicrostructureBase< dim >::iSize =ClusterDynamicsParameters<dim>::iSize
staticconstexpr

Definition at line 29 of file MicrostructureBase.h.

◆ lastUpdateTime

template<int dim>
double model::MicrostructureBase< dim >::lastUpdateTime

Definition at line 49 of file MicrostructureBase.h.

◆ microstructures

template<int dim>
MicrostructureContainerType& model::MicrostructureBase< dim >::microstructures

Definition at line 47 of file MicrostructureBase.h.

◆ mSize

template<int dim>
int model::MicrostructureBase< dim >::mSize =ClusterDynamicsParameters<dim>::mSize
staticconstexpr

Definition at line 28 of file MicrostructureBase.h.

◆ tag

template<int dim>
const std::string model::MicrostructureBase< dim >::tag

Definition at line 46 of file MicrostructureBase.h.


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