90 std::shared_ptr<GlidePlaneNoise> planeNoise(
new GlidePlaneNoise(material));
97 const std::shared_ptr<DislocationMobility> mobility(mobilitySelector.
getMobility(material,dislocationMobilityType));
99 for(
const auto& planeBase : plN)
101 if(std::fabs(planeBase.second->planeSpacing()-d111)<FLT_EPSILON)
103 const auto& a1(planeBase.second->primitiveVectors.first);
104 const auto& a3(planeBase.second->primitiveVectors.second);
107 const auto b2(a3-a1);
108 const auto b3(a3*(-1));
110 std::vector<RationalLatticeDirection<3>> slipDirs;
111 slipDirs.emplace_back(
Rational( 1,1),b1);
112 slipDirs.emplace_back(
Rational(-1,1),b1);
113 slipDirs.emplace_back(
Rational( 1,1),b2);
114 slipDirs.emplace_back(
Rational(-1,1),b2);
115 slipDirs.emplace_back(
Rational( 1,1),b3);
116 slipDirs.emplace_back(
Rational(-1,1),b3);
118 for(
const auto& slipDir : slipDirs)
120 temp.emplace(
temp.size(),
new SlipSystem(*planeBase.second, slipDir,mobility,planeNoise));
130 const std::shared_ptr<DislocationMobility> mobility(mobilitySelector.
getMobility(material,dislocationMobilityType));
132 for(
const auto& planeBase : plN)
134 if(std::fabs(planeBase.second->planeSpacing()-d110)<FLT_EPSILON)
136 const auto b1(planeBase.second->primitiveVectors.first);
138 std::vector<RationalLatticeDirection<3>> slipDirs;
139 slipDirs.emplace_back(
Rational( 1,1),b1);
140 slipDirs.emplace_back(
Rational(-1,1),b1);
142 for(
const auto& slipDir : slipDirs)
144 temp.emplace(
temp.size(),
new SlipSystem(*planeBase.second, slipDir,mobility,planeNoise));
153 const std::shared_ptr<DislocationMobility> mobility(mobilitySelector.
getMobility(material,dislocationMobilityType));
155 for(
const auto& planeBase : plN)
157 if(std::fabs(planeBase.second->planeSpacing()-d100)<FLT_EPSILON)
159 const auto& b1(planeBase.second->primitiveVectors.first);
160 const auto& b2(planeBase.second->primitiveVectors.second);
162 std::vector<RationalLatticeDirection<3>> slipDirs;
163 slipDirs.emplace_back(
Rational( 1,1),b1);
164 slipDirs.emplace_back(
Rational(-1,1),b1);
165 slipDirs.emplace_back(
Rational( 1,1),b2);
166 slipDirs.emplace_back(
Rational(-1,1),b2);
168 for(
const auto& slipDir : slipDirs)
170 temp.emplace(
temp.size(),
new SlipSystem(*planeBase.second, slipDir,mobility,planeNoise));
std::string readString(const std::string &key, const bool &verbose=false)