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

#include <CrossSlipModels.h>

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

Public Types

typedef TypeTraits< DislocationNetwork< dim > > TraitsType
typedef TraitsType::NetworkLinkType NetworkLinkType
typedef TraitsType::NetworkNodeType NetworkNodeType
typedef std::tuple< std::shared_ptr< NetworkNodeType >, std::shared_ptr< NetworkNodeType >, size_t, size_t > CrossSlipTupleType
typedef std::deque< CrossSlipTupleType > CrossSlipContainerType
Public Types inherited from model::BaseCrossSlipModel< dim >
typedef TypeTraits< DislocationNetwork< dim > > TraitsType
typedef TraitsType::NetworkLinkType NetworkLinkType
typedef TraitsType::NetworkNodeType NetworkNodeType
typedef std::tuple< std::shared_ptr< NetworkNodeType >, std::shared_ptr< NetworkNodeType >, size_t, size_t > CrossSlipTupleType
typedef std::deque< CrossSlipTupleType > CrossSlipContainerType

Public Member Functions

 EscaigCrossSlipModelHEX (const PolycrystallineMaterialBase &material, const DefectiveCrystalTraitsIO &traitsIO)
bool isThermal () const override
std::optional< ThermalCrossSlipEvent > sampleBranch (const std::vector< const NetworkLinkType * > &links, const double dt) override
std::map< int, double > targetRates (const NetworkLinkType &link) const
double nucleationLength (const NetworkLinkType &link) const
double crossSlipRateKernel (const int &k, const NetworkLinkType &link, const SlipSystem &css, const double &w, const double &L, const double &dE, const double &Veg, const double &Vsc, const double &Vec) const
void addToCrossSlip (const NetworkLinkType &link, CrossSlipContainerType &crossSlipDeq) override
std::pair< bool, std::pair< int, int > > isCrossSlipLink (const NetworkLinkType &link) override
Public Member Functions inherited from model::BaseCrossSlipModel< dim >
 BaseCrossSlipModel (const DefectiveCrystalTraitsIO &traitsIO)
virtual ~BaseCrossSlipModel ()=default
std::pair< bool, int > isBaseCrossSlipLink (const NetworkLinkType &link, const bool enforceRemeshLength=true) const

Public Attributes

std::random_device rd
std::mt19937 gen
std::uniform_real_distribution dist
const bool enableBasalSlipSystems
const bool enablePrismaticSlipSystems
const bool enablePyramidalSlipSystems
const double csw
const double csLb
const double csLp
const double csb2pE
const double csb2pVeg
const double csb2pVsc
const double csb2pVec
const double csp2bE
const double csp2bVeg
const double csp2bVsc
const double csp2bVec
Public Attributes inherited from model::BaseCrossSlipModel< dim >
const double crossSlipDeg
const double sinCrossSlip

Detailed Description

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

Definition at line 102 of file CrossSlipModels.h.

Member Typedef Documentation

◆ CrossSlipContainerType

template<int dim>
typedef std::deque<CrossSlipTupleType> model::EscaigCrossSlipModelHEX< dim >::CrossSlipContainerType

Definition at line 108 of file CrossSlipModels.h.

◆ CrossSlipTupleType

template<int dim>
typedef std::tuple<std::shared_ptr<NetworkNodeType>,std::shared_ptr<NetworkNodeType>,size_t,size_t> model::EscaigCrossSlipModelHEX< dim >::CrossSlipTupleType

Definition at line 107 of file CrossSlipModels.h.

◆ NetworkLinkType

template<int dim>
typedef TraitsType::NetworkLinkType model::EscaigCrossSlipModelHEX< dim >::NetworkLinkType

Definition at line 105 of file CrossSlipModels.h.

◆ NetworkNodeType

Definition at line 106 of file CrossSlipModels.h.

◆ TraitsType

template<int dim>
typedef TypeTraits<DislocationNetwork<dim> > model::EscaigCrossSlipModelHEX< dim >::TraitsType

Definition at line 104 of file CrossSlipModels.h.

Constructor & Destructor Documentation

◆ EscaigCrossSlipModelHEX()

template<int dim>
model::EscaigCrossSlipModelHEX< dim >::EscaigCrossSlipModelHEX ( const PolycrystallineMaterialBase & material,
const DefectiveCrystalTraitsIO & traitsIO )

Definition at line 224 of file CrossSlipModels.cpp.

Member Function Documentation

◆ addToCrossSlip()

template<int dim>
void model::EscaigCrossSlipModelHEX< dim >::addToCrossSlip ( const NetworkLinkType & link,
CrossSlipContainerType & crossSlipDeq )
overridevirtual

Implements model::BaseCrossSlipModel< dim >.

Definition at line 355 of file CrossSlipModels.cpp.

◆ crossSlipRateKernel()

template<int dim>
double model::EscaigCrossSlipModelHEX< dim >::crossSlipRateKernel ( const int & k,
const NetworkLinkType & link,
const SlipSystem & css,
const double & w,
const double & L,
const double & dE,
const double & Veg,
const double & Vsc,
const double & Vec ) const
Parameters
[in]kthe current quadrature point

Definition at line 252 of file CrossSlipModels.cpp.

◆ isCrossSlipLink()

template<int dim>
std::pair< bool, std::pair< int, int > > model::EscaigCrossSlipModelHEX< dim >::isCrossSlipLink ( const NetworkLinkType & link)
overridevirtual

Implements model::BaseCrossSlipModel< dim >.

Definition at line 276 of file CrossSlipModels.cpp.

◆ isThermal()

template<int dim>
bool model::EscaigCrossSlipModelHEX< dim >::isThermal ( ) const
inlineoverridevirtual

Reimplemented from model::BaseCrossSlipModel< dim >.

Definition at line 129 of file CrossSlipModels.h.

◆ nucleationLength()

template<int dim>
double model::EscaigCrossSlipModelHEX< dim >::nucleationLength ( const NetworkLinkType & link) const

Definition at line 270 of file CrossSlipModels.cpp.

◆ sampleBranch()

template<int dim>
std::optional< ThermalCrossSlipEvent > model::EscaigCrossSlipModelHEX< dim >::sampleBranch ( const std::vector< const NetworkLinkType * > & links,
const double dt )
overridevirtual

Reimplemented from model::BaseCrossSlipModel< dim >.

Definition at line 330 of file CrossSlipModels.cpp.

◆ targetRates()

template<int dim>
std::map< int, double > model::EscaigCrossSlipModelHEX< dim >::targetRates ( const NetworkLinkType & link) const

Definition at line 284 of file CrossSlipModels.cpp.

Member Data Documentation

◆ csb2pE

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csb2pE

Definition at line 119 of file CrossSlipModels.h.

◆ csb2pVec

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csb2pVec

Definition at line 122 of file CrossSlipModels.h.

◆ csb2pVeg

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csb2pVeg

Definition at line 120 of file CrossSlipModels.h.

◆ csb2pVsc

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csb2pVsc

Definition at line 121 of file CrossSlipModels.h.

◆ csLb

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csLb

Definition at line 117 of file CrossSlipModels.h.

◆ csLp

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csLp

Definition at line 118 of file CrossSlipModels.h.

◆ csp2bE

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csp2bE

Definition at line 123 of file CrossSlipModels.h.

◆ csp2bVec

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csp2bVec

Definition at line 126 of file CrossSlipModels.h.

◆ csp2bVeg

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csp2bVeg

Definition at line 124 of file CrossSlipModels.h.

◆ csp2bVsc

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csp2bVsc

Definition at line 125 of file CrossSlipModels.h.

◆ csw

template<int dim>
const double model::EscaigCrossSlipModelHEX< dim >::csw

Definition at line 116 of file CrossSlipModels.h.

◆ dist

template<int dim>
std::uniform_real_distribution model::EscaigCrossSlipModelHEX< dim >::dist

Definition at line 112 of file CrossSlipModels.h.

◆ enableBasalSlipSystems

template<int dim>
const bool model::EscaigCrossSlipModelHEX< dim >::enableBasalSlipSystems

Definition at line 113 of file CrossSlipModels.h.

◆ enablePrismaticSlipSystems

template<int dim>
const bool model::EscaigCrossSlipModelHEX< dim >::enablePrismaticSlipSystems

Definition at line 114 of file CrossSlipModels.h.

◆ enablePyramidalSlipSystems

template<int dim>
const bool model::EscaigCrossSlipModelHEX< dim >::enablePyramidalSlipSystems

Definition at line 115 of file CrossSlipModels.h.

◆ gen

template<int dim>
std::mt19937 model::EscaigCrossSlipModelHEX< dim >::gen

Definition at line 111 of file CrossSlipModels.h.

◆ rd

template<int dim>
std::random_device model::EscaigCrossSlipModelHEX< dim >::rd

Definition at line 110 of file CrossSlipModels.h.


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