Esempio n. 1
0
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();
}
Esempio n. 2
0
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();
}