const Foam::surfaceScalarField&
Foam::surfaceInterpolation::weights() const
{
    if (!weights_)
    {
        makeWeights();
    }

    return (*weights_);
}
示例#2
0
void Application::_doRun
(
double& pbaTimeSum,
double& starTimeSum,
double& splayTimeSum,
double& outTimeSum,
double& gregTimeSum
)
{
    Config& config = getConfig();

    cout << "Run: " << config._run << endl;

    // Get points and weights

    if ( config._inFile ) readPoints();
    else                  makePoints();

    makeWeights();

    // Initialize

    gdelInit( config, _pointVec, _weightVec );

    // Compute Delaunay

    double timePba, timeInitialStar, timeConsistent, timeOutput; 

    HostTimer timerAll;
    timerAll.start();
        gdelCompute( timePba, timeInitialStar, timeConsistent, timeOutput );
    timerAll.stop();

    const double timeTotal = timerAll.value();

    cout << "PBA:         " << timePba         << endl; 
    cout << "InitStar:    " << timeInitialStar << endl;
    cout << "Consistency: " << timeConsistent  << endl;
    cout << "StarOutput:  " << timeOutput      << endl;
    cout << "TOTAL Time:  " << timeTotal       << endl;

    pbaTimeSum   += timePba;
    starTimeSum  += timeInitialStar;
    splayTimeSum += timeConsistent;
    outTimeSum   += timeOutput;
    gregTimeSum  += timeTotal;

    // Check

    if ( config._doCheck )
    {
        TetraMesh tetMesh;
        tetMesh.setPoints( _pointVec, _weightVec );
        getTetraFromGpu( tetMesh );
        tetMesh.check();
    }

    // Destroy

    gdelDeInit();
    _pointVec.clear();
    _weightVec.clear();

    return;
}