void XfemManager :: propagateFronts() { for ( auto &ei: enrichmentItemList ) { ei->propagateFronts(); if ( giveVtkDebug() ) { std :: vector< FloatArray >points; ei->giveSubPolygon(points, -0.1, 1.1); std :: vector< double >x, y; for ( size_t j = 0; j < points.size(); j++ ) { x.push_back( points [ j ].at(1) ); y.push_back( points [ j ].at(2) ); } char fileName [ 200 ]; sprintf(fileName, "crack%d.dat", ei->giveNumber()); XFEMDebugTools :: WriteArrayToGnuplot(fileName, x, y); } } updateNodeEnrichmentItemMap(); }
void XfemManager :: propagateFronts(bool &oAnyFronHasPropagated) { oAnyFronHasPropagated = false; for ( auto &ei: enrichmentItemList ) { bool eiHasPropagated = false; ei->propagateFronts(eiHasPropagated); if(eiHasPropagated) { oAnyFronHasPropagated = true; } #if 0 if ( giveVtkDebug() ) { GeometryBasedEI *geoEI = dynamic_cast< GeometryBasedEI * >( ei ); if ( geoEI != NULL ) { std :: vector< FloatArray >points; geoEI->giveSubPolygon(points, -0.1, 1.1); std :: vector< double >x, y; for ( size_t j = 0; j < points.size(); j++ ) { x.push_back( points [ j ].at(1) ); y.push_back( points [ j ].at(2) ); } char fileName [ 200 ]; sprintf( fileName, "crack%d.dat", ei->giveNumber() ); XFEMDebugTools :: WriteArrayToGnuplot(fileName, x, y); } } #endif } updateNodeEnrichmentItemMap(); }