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

#include <ClusterDynamics.h>

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

Public Types

typedef MicrostructureBase< dim >::MatrixDim MatrixDim
typedef MicrostructureBase< dim >::VectorDim VectorDim
typedef MicrostructureContainer< dim > MicrostructureContainerType
typedef MicrostructureBase< dim >::ElementType ElementType
typedef MicrostructureBase< dim >::SimplexDim SimplexDim
typedef MicrostructureBase< dim >::NodeType NodeType
typedef MicrostructureBase< dim >::VectorMSize VectorMSize
typedef MicrostructureBase< dim >::VectorISize VectorISize
typedef UniformController< mSize *dim > UniformControllerType
typedef std::map< size_t, const std::unique_ptr< UniformControllerType > > UniformControllerContainerType
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

 ClusterDynamics (MicrostructureContainerType &mc)
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
void applyBoundaryConditions ()
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

Static Public Member Functions

static UniformControllerContainerType getUniformControllers (const DefectiveCrystalBase< dim > &ddBase, const ClusterDynamicsParameters< dim > &cdp)

Public Attributes

const ClusterDynamicsParameters< dim > & cdp
const bool useClusterDynamicsFEM
const std::unique_ptr< ClusterDynamicsFEM< dim > > clusterDynamicsFEM
UniformControllerContainerType uniformControllers
Public Attributes inherited from model::MicrostructureBase< dim >
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
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::ClusterDynamics< dim >

Definition at line 22 of file ClusterDynamics.h.

Member Typedef Documentation

◆ ElementType

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

Definition at line 43 of file ClusterDynamics.h.

◆ MatrixDim

Definition at line 36 of file ClusterDynamics.h.

◆ MicrostructureContainerType

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

Definition at line 38 of file ClusterDynamics.h.

◆ NodeType

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

Definition at line 45 of file ClusterDynamics.h.

◆ SimplexDim

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

Definition at line 44 of file ClusterDynamics.h.

◆ UniformControllerContainerType

template<int dim>
typedef std::map<size_t,const std::unique_ptr<UniformControllerType> > model::ClusterDynamics< dim >::UniformControllerContainerType

Definition at line 71 of file ClusterDynamics.h.

◆ UniformControllerType

template<int dim>
typedef UniformController<mSize*dim> model::ClusterDynamics< dim >::UniformControllerType

Definition at line 70 of file ClusterDynamics.h.

◆ VectorDim

Definition at line 37 of file ClusterDynamics.h.

◆ VectorISize

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

Definition at line 47 of file ClusterDynamics.h.

◆ VectorMSize

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

Definition at line 46 of file ClusterDynamics.h.

Constructor & Destructor Documentation

◆ ClusterDynamics()

template<int dim>
model::ClusterDynamics< dim >::ClusterDynamics ( MicrostructureContainerType & mc)

Definition at line 90 of file ClusterDynamics.cpp.

Member Function Documentation

◆ applyBoundaryConditions()

template<int dim>
void model::ClusterDynamics< dim >::applyBoundaryConditions ( )

Definition at line 130 of file ClusterDynamics.cpp.

◆ averagePlasticDistortion()

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

Implements model::MicrostructureBase< dim >.

Definition at line 268 of file ClusterDynamics.cpp.

◆ averagePlasticDistortionRate()

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

Implements model::MicrostructureBase< dim >.

Definition at line 281 of file ClusterDynamics.cpp.

◆ averageStress()

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

Implements model::MicrostructureBase< dim >.

Definition at line 355 of file ClusterDynamics.cpp.

◆ displacement()

template<int dim>
ClusterDynamics< dim >::VectorDim model::ClusterDynamics< dim >::displacement ( const VectorDim & ,
const NodeType * const ,
const ElementType * const ,
const SimplexDim * const  ) const
override

Definition at line 287 of file ClusterDynamics.cpp.

◆ getDt()

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

Implements model::MicrostructureBase< dim >.

Definition at line 233 of file ClusterDynamics.cpp.

◆ getUniformControllers()

template<int dim>
ClusterDynamics< dim >::UniformControllerContainerType model::ClusterDynamics< dim >::getUniformControllers ( const DefectiveCrystalBase< dim > & ddBase,
const ClusterDynamicsParameters< dim > & cdp )
static

Definition at line 60 of file ClusterDynamics.cpp.

◆ immobileClusters()

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

Definition at line 334 of file ClusterDynamics.cpp.

◆ inelasticDisplacementRate()

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

Definition at line 255 of file ClusterDynamics.cpp.

◆ initializeConfiguration()

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

Implements model::MicrostructureBase< dim >.

Definition at line 115 of file ClusterDynamics.cpp.

◆ mobileConcentration()

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

Definition at line 299 of file ClusterDynamics.cpp.

◆ output()

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

Implements model::MicrostructureBase< dim >.

Definition at line 239 of file ClusterDynamics.cpp.

◆ reSolve()

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

Implements model::MicrostructureBase< dim >.

Definition at line 201 of file ClusterDynamics.cpp.

◆ solve()

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

Implements model::MicrostructureBase< dim >.

Definition at line 179 of file ClusterDynamics.cpp.

◆ stress()

template<int dim>
ClusterDynamics< dim >::MatrixDim model::ClusterDynamics< dim >::stress ( const VectorDim & ,
const NodeType * const ,
const ElementType * const ,
const SimplexDim * const  ) const
override

Definition at line 293 of file ClusterDynamics.cpp.

◆ updateConfiguration()

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

Implements model::MicrostructureBase< dim >.

Definition at line 207 of file ClusterDynamics.cpp.

Member Data Documentation

◆ cdp

template<int dim>
const ClusterDynamicsParameters<dim>& model::ClusterDynamics< dim >::cdp

Definition at line 75 of file ClusterDynamics.h.

◆ clusterDynamicsFEM

template<int dim>
const std::unique_ptr<ClusterDynamicsFEM<dim> > model::ClusterDynamics< dim >::clusterDynamicsFEM

Definition at line 78 of file ClusterDynamics.h.

◆ iSize

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

Definition at line 41 of file ClusterDynamics.h.

◆ mSize

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

Definition at line 40 of file ClusterDynamics.h.

◆ uniformControllers

template<int dim>
UniformControllerContainerType model::ClusterDynamics< dim >::uniformControllers

Definition at line 79 of file ClusterDynamics.h.

◆ useClusterDynamicsFEM

template<int dim>
const bool model::ClusterDynamics< dim >::useClusterDynamicsFEM

Definition at line 77 of file ClusterDynamics.h.


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