8#ifndef model_Polycrystal_H_
9#define model_Polycrystal_H_
29#include <LatticeVector.h>
51 std::map<std::pair<size_t,size_t>,
const GrainBoundaryType*
const> getGrainBoundaries()
const;
52 double getAtomicVolume()
const;
56 const std::map<size_t,std::shared_ptr<Grain<dim>>>
grains;
61 const std::shared_ptr<GrainType>&
grain(
const size_t&
k)
const;
GrainBoundary< dim > GrainBoundaryType
ReciprocalLatticeVectorType reciprocalLatticeVectorFromPosition(const VectorDim &p) const
const GrainBoundaryType & grainBoundary(const size_t &i, const size_t &j) const
SimplicialMesh< dim > SimplicialMeshType
ReciprocalLatticeVector< dim > ReciprocalLatticeVectorType
std::pair< LatticeVector< dim >, int > randomLatticePointInMesh() const
Polyhedron< dim, dim > MeshRegionType
const SimplicialMeshType & mesh
LatticeVector< dim > LatticeVectorType
Eigen::Matrix< double, dim, 1 > VectorDim
const std::shared_ptr< GrainType > & grain(const size_t &k) const
LatticeVectorType latticeVectorFromPosition(const VectorDim &p) const
LatticeVectorType latticeVectorFromPosition(const VectorDim &p, const Simplex< dim, dim > *const guess) const
ReciprocalLatticeVectorType reciprocalLatticeVectorFromPosition(const VectorDim &p, const Simplex< dim, dim > *const guess) const
std::map< size_t, std::shared_ptr< Grain< dim > > > GrainContainerType
const std::map< size_t, std::shared_ptr< Grain< dim > > > grains
VectorDim randomPoint() const
const std::map< std::pair< size_t, size_t >, const GrainBoundaryType *const > grainBoundaries
Polycrystal(const std::string &polyFile, const SimplicialMeshType &mesh_in)
PolycrystallineMaterialBase(const std::string &fileName, const double &absoluteTemperature)