59 std::cout<<
" grain-boundary dissociation..."<<std::flush;
61 const auto t0= std::chrono::system_clock::now();
62 size_t nDissociateted=0;
63 for(
const auto& gbSegment : *
this)
65 if(DN.link(gbSegment.sourceID,gbSegment.sinkID).first)
67 if(gbSegment.isValidDissociation)
69 DN.template disconnect<false>(gbSegment.sourceID,gbSegment.sinkID);
70 DN.connect(gbSegment.sourceID,gbSegment.sinkID,gbSegment.residualBurgers);
71 const size_t newNodeID(DN.insertVertex(gbSegment.dissociateMidpoint.cartesian(),gbSegment.grain.grainID).first->first);
72 DN.connect(gbSegment.sinkID,newNodeID,gbSegment.dissociateBurgers);
73 DN.connect(newNodeID,gbSegment.sourceID,gbSegment.dissociateBurgers);
79 std::cout<<
"("<<nDissociateted<<
" dissociations)"<<
magentaColor<<
" ["<<(std::chrono::duration<double>(std::chrono::system_clock::now()-
t0)).
count()<<
" sec]"<<
defaultColor<<std::endl;