37 switch (bulkNucleationModel)
42 for(
const auto& simplex :
DN.ddBase.mesh.simplices())
44 const auto c(simplex.second->center());
45 const auto grainID(simplex.second->region->regionID);
46 const auto& grain(
DN.ddBase.poly.grain(grainID));
47 const auto sigma(
DN.microstructures.stress(
c,
nullptr,
nullptr,
nullptr));
48 std::map<float,std::shared_ptr<SlipSystem>> rssMap;
49 for(
const auto&
ss : grain->slipSystems())
51 rssMap.emplace((sigma*
ss.second->unitSlip).dot(
ss.second->unitNormal),
ss.second);
53 if(rssMap.begin()->first < 0.05)
55 const auto& maxRssSlipSystem(rssMap.begin()->second);
57 spec.slipSystemIDs.push_back(maxRssSlipSystem->sID);
58 spec.loopRadii.push_back(50.0);
59 spec.loopCenters=
c.transpose();
60 spec.loopSides.push_back(10);