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

#include <Polycrystal.h>

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

Public Types

typedef SimplicialMesh< dim > SimplicialMeshType
typedef Polyhedron< dim, dim > MeshRegionType
typedef LatticeVector< dim > LatticeVectorType
typedef ReciprocalLatticeVector< dim > ReciprocalLatticeVectorType
typedef Eigen::Matrix< double, dim, 1 > VectorDim
typedef Grain< dim > GrainType
typedef GrainBoundary< dim > GrainBoundaryType
typedef std::map< size_t, std::shared_ptr< Grain< dim > > > GrainContainerType

Public Member Functions

 Polycrystal (const std::string &polyFile, const SimplicialMeshType &mesh_in)
const std::shared_ptr< GrainType > & grain (const size_t &k) const
const GrainBoundaryType & grainBoundary (const size_t &i, const size_t &j) const
LatticeVectorType latticeVectorFromPosition (const VectorDim &p, const Simplex< dim, dim > *const guess) const
LatticeVectorType latticeVectorFromPosition (const VectorDim &p) const
ReciprocalLatticeVectorType reciprocalLatticeVectorFromPosition (const VectorDim &p, const Simplex< dim, dim > *const guess) const
ReciprocalLatticeVectorType reciprocalLatticeVectorFromPosition (const VectorDim &p) const
VectorDim randomPoint () const
std::pair< LatticeVector< dim >, int > randomLatticePointInMesh () const
Public Member Functions inherited from model::PolycrystallineMaterialBase
 PolycrystallineMaterialBase (const std::string &fileName, const double &absoluteTemperature)
bool isEnabledPlane (const std::string &planeStr) const
bool isEnabledSlipSystem (const std::string &ssStr) const

Public Attributes

const SimplicialMeshType & mesh
const std::map< size_t, std::shared_ptr< Grain< dim > > > grains
const std::map< std::pair< size_t, size_t >, const GrainBoundaryType *const > grainBoundaries
const double Omega
Public Attributes inherited from model::PolycrystallineMaterialBase
const std::string materialFile
const std::string materialName
const std::string crystalStructure
const int atomsPerUnitCell
const double T
const double Tm
const double mu0_SI
const double mu1_SI
const double mu_SI
const double nu
const double E_SI
const double rho_SI
const double cs_SI
const double b_SI
const double kB
const double mu
const double b
const double cs
const double C1
const double C2
const double C3
const double C4
const std::set< std::string > enabledSlipSystems
const std::set< std::string > enabledSecondPhases

Additional Inherited Members

Static Public Member Functions inherited from model::PolycrystallineMaterialBase
static const std::string & getMaterialFile (const std::string &fileName)
Static Public Attributes inherited from model::PolycrystallineMaterialBase
static constexpr double kB_SI =1.38064852e-23
static constexpr double eV2J =1.6021766208e-19

Detailed Description

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

Definition at line 35 of file Polycrystal.h.

Member Typedef Documentation

◆ GrainBoundaryType

template<int dim>
typedef GrainBoundary<dim> model::Polycrystal< dim >::GrainBoundaryType

Definition at line 46 of file Polycrystal.h.

◆ GrainContainerType

template<int dim>
typedef std::map<size_t,std::shared_ptr<Grain<dim> > > model::Polycrystal< dim >::GrainContainerType

Definition at line 47 of file Polycrystal.h.

◆ GrainType

template<int dim>
typedef Grain<dim> model::Polycrystal< dim >::GrainType

Definition at line 45 of file Polycrystal.h.

◆ LatticeVectorType

template<int dim>
typedef LatticeVector<dim> model::Polycrystal< dim >::LatticeVectorType

Definition at line 42 of file Polycrystal.h.

◆ MeshRegionType

template<int dim>
typedef Polyhedron<dim,dim> model::Polycrystal< dim >::MeshRegionType

Definition at line 40 of file Polycrystal.h.

◆ ReciprocalLatticeVectorType

template<int dim>
typedef ReciprocalLatticeVector<dim> model::Polycrystal< dim >::ReciprocalLatticeVectorType

Definition at line 43 of file Polycrystal.h.

◆ SimplicialMeshType

template<int dim>
typedef SimplicialMesh<dim> model::Polycrystal< dim >::SimplicialMeshType

Definition at line 39 of file Polycrystal.h.

◆ VectorDim

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

Definition at line 44 of file Polycrystal.h.

Constructor & Destructor Documentation

◆ Polycrystal()

template<int dim>
model::Polycrystal< dim >::Polycrystal ( const std::string & polyFile,
const SimplicialMeshType & mesh_in )

Definition at line 37 of file Polycrystal.cpp.

Member Function Documentation

◆ grain()

template<int dim>
const std::shared_ptr< typename Polycrystal< dim >::GrainType > & model::Polycrystal< dim >::grain ( const size_t & k) const

Definition at line 118 of file Polycrystal.cpp.

◆ grainBoundary()

template<int dim>
const Polycrystal< dim >::GrainBoundaryType & model::Polycrystal< dim >::grainBoundary ( const size_t & i,
const size_t & j ) const

Definition at line 124 of file Polycrystal.cpp.

◆ latticeVectorFromPosition() [1/2]

template<int dim>
Polycrystal< dim >::LatticeVectorType model::Polycrystal< dim >::latticeVectorFromPosition ( const VectorDim & p) const

Definition at line 140 of file Polycrystal.cpp.

◆ latticeVectorFromPosition() [2/2]

template<int dim>
Polycrystal< dim >::LatticeVectorType model::Polycrystal< dim >::latticeVectorFromPosition ( const VectorDim & p,
const Simplex< dim, dim > *const guess ) const

Definition at line 131 of file Polycrystal.cpp.

◆ randomLatticePointInMesh()

template<int dim>
std::pair< LatticeVector< dim >, int > model::Polycrystal< dim >::randomLatticePointInMesh ( ) const

Definition at line 176 of file Polycrystal.cpp.

◆ randomPoint()

template<int dim>
Polycrystal< dim >::VectorDim model::Polycrystal< dim >::randomPoint ( ) const

Definition at line 161 of file Polycrystal.cpp.

◆ reciprocalLatticeVectorFromPosition() [1/2]

template<int dim>
Polycrystal< dim >::ReciprocalLatticeVectorType model::Polycrystal< dim >::reciprocalLatticeVectorFromPosition ( const VectorDim & p) const

Definition at line 155 of file Polycrystal.cpp.

◆ reciprocalLatticeVectorFromPosition() [2/2]

template<int dim>
Polycrystal< dim >::ReciprocalLatticeVectorType model::Polycrystal< dim >::reciprocalLatticeVectorFromPosition ( const VectorDim & p,
const Simplex< dim, dim > *const guess ) const

Definition at line 146 of file Polycrystal.cpp.

Member Data Documentation

◆ grainBoundaries

template<int dim>
const std::map<std::pair<size_t,size_t>,const GrainBoundaryType* const> model::Polycrystal< dim >::grainBoundaries

Definition at line 57 of file Polycrystal.h.

◆ grains

template<int dim>
const std::map<size_t,std::shared_ptr<Grain<dim> > > model::Polycrystal< dim >::grains

Definition at line 56 of file Polycrystal.h.

◆ mesh

template<int dim>
const SimplicialMeshType& model::Polycrystal< dim >::mesh

Definition at line 55 of file Polycrystal.h.

◆ Omega

template<int dim>
const double model::Polycrystal< dim >::Omega

Definition at line 58 of file Polycrystal.h.


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