9#ifndef model_SingleCrystalBase_cpp_
10#define model_SingleCrystalBase_cpp_
26 if(mat.crystalStructure==
"BCC")
30 else if(mat.crystalStructure==
"FCC")
34 else if(mat.crystalStructure==
"HEX")
38 else if(mat.crystalStructure==
"CubicFluorite")
44 throw std::runtime_error(
"SingleCrystalSelector::latticeBasis: unknown crystal structure "+mat.crystalStructure);
45 return MatrixDim::Identity();
52 if(mat.crystalStructure==
"BCC")
56 else if(mat.crystalStructure==
"FCC")
60 else if(mat.crystalStructure==
"HEX")
64 else if(mat.crystalStructure==
"CubicFluorite")
70 throw std::runtime_error(
"SingleCrystalSelector::planeNormals: unknown crystal structure "+mat.crystalStructure);
78 if(mat.crystalStructure==
"BCC")
82 else if(mat.crystalStructure==
"FCC")
86 else if(mat.crystalStructure==
"HEX")
90 else if(mat.crystalStructure==
"CubicFluorite")
96 throw std::runtime_error(
"SingleCrystalSelector::slipSystems: unknown crystal structure "+mat.crystalStructure);
104 if(mat.crystalStructure==
"BCC")
108 else if(mat.crystalStructure==
"FCC")
112 else if(mat.crystalStructure==
"HEX")
116 else if(mat.crystalStructure==
"CubicFluorite")
122 throw std::runtime_error(
"SingleCrystalSelector::secondPhases: unknown crystal structure "+mat.crystalStructure);
const MatrixDimD latticeBasis
SingleCrystalBase(const PolycrystallineMaterialBase &material, const MatrixDim &Q)
TypeTraits< SingleCrystalBase< dim > >::SlipSystemContainerType SlipSystemContainerType
TypeTraits< SingleCrystalBase< dim > >::PlaneNormalContainerType PlaneNormalContainerType
const PlaneNormalContainerType & planeNormals() const
const SecondPhase< dim > & secondPhase(const size_t &) const
TypeTraits< SingleCrystalBase< dim > >::LatticeType LatticeType
const SlipSystemContainerType & slipSystems() const
const SlipSystem & slipSystem(const size_t &) const
const GlidePlaneBase & planeBase(const size_t &) const
TypeTraits< SingleCrystalBase< dim > >::SecondPhaseContainerType SecondPhaseContainerType
TypeTraits< SingleCrystalBase< dim > >::MatrixDim MatrixDim
const SecondPhaseContainerType & secondPhases() const
static PlaneNormalContainerType planeNormals(const PolycrystallineMaterialBase &material, const LatticeType &lat)
static SlipSystemContainerType slipSystems(const PolycrystallineMaterialBase &material, const LatticeType &lat, const PlaneNormalContainerType &)
static MatrixDim latticeBasis(const PolycrystallineMaterialBase &material)
TypeTraits< SingleCrystalBase< dim > >::PlaneNormalContainerType PlaneNormalContainerType
static SecondPhaseContainerType secondPhases(const PolycrystallineMaterialBase &material, const LatticeType &lat, const PlaneNormalContainerType &)
TypeTraits< SingleCrystalBase< dim > >::MatrixDim MatrixDim
TypeTraits< SingleCrystalBase< dim > >::SecondPhaseContainerType SecondPhaseContainerType
TypeTraits< SingleCrystalBase< dim > >::LatticeType LatticeType
TypeTraits< SingleCrystalBase< dim > >::SlipSystemContainerType SlipSystemContainerType