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

#include <PolyhedronInclusion.h>

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

Public Member Functions

 PolyhedronInclusion (const std::map< size_t, PolyhedronInclusionNodeIO< dim > > &nodesMap, const std::map< size_t, std::vector< size_t > > &faceIDs, const MatrixDim &_eT, const double &_nu, const double &_mu, const double &_mobilityReduction, const int &_phaseID, const std::shared_ptr< SecondPhase< dim > > &sph)
bool contains (const VectorDim &x) const override
MatrixDim stress (const VectorDim &x) const override
MatrixDim elasticStrain (const VectorDim &x) const
MatrixDim strain (const VectorDim &x) const
double eshelbyTensorComponent (const int &i, const int &j, const int &k, const int &l, const MatrixDim &PHI, const MatrixDim &delta, const Psi_I1 &psi, const VectorDim &Svnorm, const VectorDim &Vnorm, const VectorDim &Vdir) const
MatrixVoigtSize eshelbyTensorVoigt (const VectorDim &x) const
const std::map< size_t, Plane< dim > > & planes () const
 PolyhedronInclusion (const std::map< size_t, PolyhedronInclusionNodeIO< dim > > &nodesMap, const std::map< size_t, std::vector< size_t > > &faceIDs, const MatrixDim &_eT, const double &_nu, const double &_mu, const double &_mobilityReduction, const int &_phaseID, const int &_masterID, const std::shared_ptr< SecondPhase< dim > > &sph)
bool contains (const VectorDim &x) const override
MatrixDim stress (const VectorDim &x) const override
MatrixDim elasticStrain (const VectorDim &x) const
MatrixDim strain (const VectorDim &x) const
double eshelbyTensorComponent (const int &i, const int &j, const int &k, const int &l, const MatrixDim &PHI, const MatrixDim &delta, const Psi_I1 &psi, const VectorDim &Svnorm, const VectorDim &Vnorm, const VectorDim &Vdir) const
MatrixVoigtSize eshelbyTensorVoigt (const VectorDim &x) const
const std::map< size_t, Plane< dim > > & planes () const
VectorDim center () const
Public Member Functions inherited from model::EshelbyInclusionBase< dim >
 EshelbyInclusionBase (const MatrixDim &_eT, const double &_nu, const double &_mu, const double &_mobilityReduction, const int &_phaseID, const std::shared_ptr< SecondPhase< dim > > &sph)
virtual ~EshelbyInclusionBase ()
Public Member Functions inherited from model::StaticID< EshelbyInclusionBase< dim > >
 StaticID ()

Static Public Member Functions

static std::map< size_t, std::vector< std::pair< size_t, VectorDim > > > getFaces (const std::map< size_t, PolyhedronInclusionNodeIO< dim > > &nodesMap, const std::map< size_t, std::vector< size_t > > &faceIDs)
static double Phi_u_II_a (double a, double b, double le)
static double Phi_u_II_b (double a, double b, double le)
static double Phi_u_II_le (double a, double b, double le)
static double Psi_I1_a_a_a (double a, double b, double le)
static double Psi_I1_a_a_b (double a, double b, double le)
static double Psi_I1_a_a_le (double a, double b, double le)
static double Psi_I1_a_b_b (double a, double b, double le)
static double Psi_I1_a_b_le (double a, double b, double le)
static double Psi_I1_a_le_le (double a, double b, double le)
static double Psi_I1_b_b_b (double a, double b, double le)
static double Psi_I1_b_b_le (double a, double b, double le)
static double Psi_I1_b_le_le (double a, double b, double le)
static double Psi_I1_le_le_le (double a, double b, double le)
static std::map< size_t, std::vector< std::pair< size_t, VectorDim > > > getFaces (const std::map< size_t, PolyhedronInclusionNodeIO< dim > > &nodesMap, const std::map< size_t, std::vector< size_t > > &faceIDs)
static double Phi_u_II_a (double a, double b, double le)
static double Phi_u_II_b (double a, double b, double le)
static double Phi_u_II_le (double a, double b, double le)
static double Psi_I1_a_a_a (double a, double b, double le)
static double Psi_I1_a_a_b (double a, double b, double le)
static double Psi_I1_a_a_le (double a, double b, double le)
static double Psi_I1_a_b_b (double a, double b, double le)
static double Psi_I1_a_b_le (double a, double b, double le)
static double Psi_I1_a_le_le (double a, double b, double le)
static double Psi_I1_b_b_b (double a, double b, double le)
static double Psi_I1_b_b_le (double a, double b, double le)
static double Psi_I1_b_le_le (double a, double b, double le)
static double Psi_I1_le_le_le (double a, double b, double le)
Static Public Member Functions inherited from model::StaticID< EshelbyInclusionBase< dim > >
static size_t nextID ()
static size_t & get_count ()
static void set_count (const size_t &newCount)
static void force_count (const size_t &newCount)
static void set_increment (const size_t &newIncrement)

Public Attributes

const MatrixDim delta
const std::map< size_t, PolyhedronInclusionNodeIO< dim > > & nodes
const std::map< size_t, std::vector< std::pair< size_t, VectorDim > > > faces
const int masterID
Public Attributes inherited from model::EshelbyInclusionBase< dim >
const double nu
const double mu
const double lambda
const double mobilityReduction
const int phaseID
const std::shared_ptr< SecondPhase< dim > > secondPhase
MatrixDim eT
double eTNorm
MatrixDim pT
Public Attributes inherited from model::StaticID< EshelbyInclusionBase< dim > >
const size_t sID
 The static ID of this.

Static Public Attributes

static const SymmetricVoigtTraits< dim > voigtTraits =SymmetricVoigtTraits<dim>((typename SymmetricVoigtTraits<dim>::VoigtSizeMatrixType()<<0,0,1,1,2,2,1,2,0,2,0,1).finished())

Detailed Description

template<int dim>
class model::PolyhedronInclusion< dim >

Definition at line 43 of file PolyhedronInclusion.h.

Constructor & Destructor Documentation

◆ PolyhedronInclusion() [1/2]

template<int dim>
model::PolyhedronInclusion< dim >::PolyhedronInclusion ( const std::map< size_t, PolyhedronInclusionNodeIO< dim > > & nodesMap,
const std::map< size_t, std::vector< size_t > > & faceIDs,
const MatrixDim & _eT,
const double & _nu,
const double & _mu,
const double & _mobilityReduction,
const int & _phaseID,
const std::shared_ptr< SecondPhase< dim > > & sph )

◆ PolyhedronInclusion() [2/2]

template<int dim>
model::PolyhedronInclusion< dim >::PolyhedronInclusion ( const std::map< size_t, PolyhedronInclusionNodeIO< dim > > & nodesMap,
const std::map< size_t, std::vector< size_t > > & faceIDs,
const MatrixDim & _eT,
const double & _nu,
const double & _mu,
const double & _mobilityReduction,
const int & _phaseID,
const int & _masterID,
const std::shared_ptr< SecondPhase< dim > > & sph )

Definition at line 49 of file PolyhedronInclusion_yang.cpp.

Member Function Documentation

◆ center()

template<int dim>
PolyhedronInclusion< dim >::VectorDim model::PolyhedronInclusion< dim >::center ( ) const

Definition at line 132 of file PolyhedronInclusion_yang.cpp.

◆ contains() [1/2]

template<int dim>
bool model::PolyhedronInclusion< dim >::contains ( const VectorDim & x) const
overridevirtual

◆ contains() [2/2]

template<int dim>
bool model::PolyhedronInclusion< dim >::contains ( const VectorDim & x) const
overridevirtual

◆ elasticStrain() [1/2]

template<int dim>
PolyhedronInclusion< dim >::MatrixDim model::PolyhedronInclusion< dim >::elasticStrain ( const VectorDim & x) const

◆ elasticStrain() [2/2]

template<int dim>
MatrixDim model::PolyhedronInclusion< dim >::elasticStrain ( const VectorDim & x) const

◆ eshelbyTensorComponent() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::eshelbyTensorComponent ( const int & i,
const int & j,
const int & k,
const int & l,
const MatrixDim & PHI,
const MatrixDim & delta,
const Psi_I1 & psi,
const VectorDim & Svnorm,
const VectorDim & Vnorm,
const VectorDim & Vdir ) const

◆ eshelbyTensorComponent() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::eshelbyTensorComponent ( const int & i,
const int & j,
const int & k,
const int & l,
const MatrixDim & PHI,
const MatrixDim & delta,
const Psi_I1 & psi,
const VectorDim & Svnorm,
const VectorDim & Vnorm,
const VectorDim & Vdir ) const

◆ eshelbyTensorVoigt() [1/2]

template<int dim>
PolyhedronInclusion< dim >::MatrixVoigtSize model::PolyhedronInclusion< dim >::eshelbyTensorVoigt ( const VectorDim & x) const

◆ eshelbyTensorVoigt() [2/2]

template<int dim>
MatrixVoigtSize model::PolyhedronInclusion< dim >::eshelbyTensorVoigt ( const VectorDim & x) const

◆ getFaces() [1/2]

template<int dim>
std::map< size_t, std::vector< std::pair< size_t, typename PolyhedronInclusion< dim >::VectorDim > > > model::PolyhedronInclusion< dim >::getFaces ( const std::map< size_t, PolyhedronInclusionNodeIO< dim > > & nodesMap,
const std::map< size_t, std::vector< size_t > > & faceIDs )
static

◆ getFaces() [2/2]

template<int dim>
std::map< size_t, std::vector< std::pair< size_t, VectorDim > > > model::PolyhedronInclusion< dim >::getFaces ( const std::map< size_t, PolyhedronInclusionNodeIO< dim > > & nodesMap,
const std::map< size_t, std::vector< size_t > > & faceIDs )
static

◆ Phi_u_II_a() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Phi_u_II_a ( double a,
double b,
double le )
static

◆ Phi_u_II_a() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Phi_u_II_a ( double a,
double b,
double le )
static

◆ Phi_u_II_b() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Phi_u_II_b ( double a,
double b,
double le )
static

◆ Phi_u_II_b() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Phi_u_II_b ( double a,
double b,
double le )
static

◆ Phi_u_II_le() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Phi_u_II_le ( double a,
double b,
double le )
static

◆ Phi_u_II_le() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Phi_u_II_le ( double a,
double b,
double le )
static

◆ planes() [1/2]

template<int dim>
const std::map< size_t, Plane< dim > > & model::PolyhedronInclusion< dim >::planes ( ) const

◆ planes() [2/2]

template<int dim>
const std::map< size_t, Plane< dim > > & model::PolyhedronInclusion< dim >::planes ( ) const

◆ Psi_I1_a_a_a() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_a_a ( double a,
double b,
double le )
static

◆ Psi_I1_a_a_a() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_a_a ( double a,
double b,
double le )
static

◆ Psi_I1_a_a_b() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_a_b ( double a,
double b,
double le )
static

◆ Psi_I1_a_a_b() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_a_b ( double a,
double b,
double le )
static

◆ Psi_I1_a_a_le() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_a_le ( double a,
double b,
double le )
static

◆ Psi_I1_a_a_le() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_a_le ( double a,
double b,
double le )
static

◆ Psi_I1_a_b_b() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_b_b ( double a,
double b,
double le )
static

◆ Psi_I1_a_b_b() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_b_b ( double a,
double b,
double le )
static

◆ Psi_I1_a_b_le() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_b_le ( double a,
double b,
double le )
static

◆ Psi_I1_a_b_le() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_b_le ( double a,
double b,
double le )
static

◆ Psi_I1_a_le_le() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_le_le ( double a,
double b,
double le )
static

◆ Psi_I1_a_le_le() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_a_le_le ( double a,
double b,
double le )
static

◆ Psi_I1_b_b_b() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_b_b_b ( double a,
double b,
double le )
static

◆ Psi_I1_b_b_b() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_b_b_b ( double a,
double b,
double le )
static

◆ Psi_I1_b_b_le() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_b_b_le ( double a,
double b,
double le )
static

◆ Psi_I1_b_b_le() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_b_b_le ( double a,
double b,
double le )
static

◆ Psi_I1_b_le_le() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_b_le_le ( double a,
double b,
double le )
static

◆ Psi_I1_b_le_le() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_b_le_le ( double a,
double b,
double le )
static

◆ Psi_I1_le_le_le() [1/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_le_le_le ( double a,
double b,
double le )
static

◆ Psi_I1_le_le_le() [2/2]

template<int dim>
double model::PolyhedronInclusion< dim >::Psi_I1_le_le_le ( double a,
double b,
double le )
static

◆ strain() [1/2]

template<int dim>
PolyhedronInclusion< dim >::MatrixDim model::PolyhedronInclusion< dim >::strain ( const VectorDim & x) const

◆ strain() [2/2]

template<int dim>
MatrixDim model::PolyhedronInclusion< dim >::strain ( const VectorDim & x) const

◆ stress() [1/2]

template<int dim>
PolyhedronInclusion< dim >::MatrixDim model::PolyhedronInclusion< dim >::stress ( const VectorDim & x) const
overridevirtual

◆ stress() [2/2]

template<int dim>
MatrixDim model::PolyhedronInclusion< dim >::stress ( const VectorDim & x) const
overridevirtual

Member Data Documentation

◆ delta

template<int dim>
const MatrixDim model::PolyhedronInclusion< dim >::delta

Definition at line 80 of file PolyhedronInclusion.h.

◆ faces

template<int dim>
const std::map< size_t, std::vector< std::pair< size_t, VectorDim > > > model::PolyhedronInclusion< dim >::faces

Definition at line 85 of file PolyhedronInclusion.h.

◆ masterID

template<int dim>
const int model::PolyhedronInclusion< dim >::masterID

Definition at line 86 of file PolyhedronInclusion_yang.h.

◆ nodes

template<int dim>
const std::map< size_t, PolyhedronInclusionNodeIO< dim > > & model::PolyhedronInclusion< dim >::nodes

Definition at line 84 of file PolyhedronInclusion.h.

◆ voigtTraits

template<int dim>
const SymmetricVoigtTraits< dim > model::PolyhedronInclusion< dim >::voigtTraits =SymmetricVoigtTraits<dim>((typename SymmetricVoigtTraits<dim>::VoigtSizeMatrixType()<<0,0,1,1,2,2,1,2,0,2,0,1).finished())
static

Definition at line 54 of file PolyhedronInclusion.h.


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