コード例 #1
0
void BoundedReductiveBoxProcessingFunctional2D::getGenerators (
        Box2D const& fullDomain, plint boundaryWidth,
        std::vector<ReductiveBoxProcessorGenerator2D*>& generators )
{
    generators.resize(9);
    BlockSurface2D surf(fullDomain, boundaryWidth);
    generators[0] = new ReductiveBoxProcessorGenerator2D(getBulkProcessor(), surf.bulk() );

    generators[1] = new ReductiveBoxProcessorGenerator2D(getEdgeProcessor(0,-1), surf.edge0N());
    generators[2] = new ReductiveBoxProcessorGenerator2D(getEdgeProcessor(0,+1), surf.edge0P());
    generators[3] = new ReductiveBoxProcessorGenerator2D(getEdgeProcessor(1,-1), surf.edge1N());
    generators[4] = new ReductiveBoxProcessorGenerator2D(getEdgeProcessor(1,+1), surf.edge1P());

    generators[5] = new ReductiveBoxProcessorGenerator2D(getCornerProcessor(-1,-1), surf.cornerNN());
    generators[6] = new ReductiveBoxProcessorGenerator2D(getCornerProcessor(+1,-1), surf.cornerPN());
    generators[7] = new ReductiveBoxProcessorGenerator2D(getCornerProcessor(-1,+1), surf.cornerNP());
    generators[8] = new ReductiveBoxProcessorGenerator2D(getCornerProcessor(+1,+1), surf.cornerPP());
}
コード例 #2
0
void BoundedBoxProcessingFunctional3D::getGenerators (
        Box3D const& fullDomain, plint boundaryWidth,
        std::vector<BoxProcessorGenerator3D*>& generators )
{
    generators.resize(27);
    BlockSurface3D surf(fullDomain, boundaryWidth);
    generators[0] = new BoxProcessorGenerator3D(getBulkProcessor(), surf.bulk() );

    generators[1] = new BoxProcessorGenerator3D(getPlaneProcessor(0,-1), surf.surface0N());
    generators[2] = new BoxProcessorGenerator3D(getPlaneProcessor(0,+1), surf.surface0P());
    generators[3] = new BoxProcessorGenerator3D(getPlaneProcessor(1,-1), surf.surface1N());
    generators[4] = new BoxProcessorGenerator3D(getPlaneProcessor(1,+1), surf.surface1P());
    generators[5] = new BoxProcessorGenerator3D(getPlaneProcessor(2,-1), surf.surface2N());
    generators[6] = new BoxProcessorGenerator3D(getPlaneProcessor(2,+1), surf.surface2P());

    generators[7] = new BoxProcessorGenerator3D(getEdgeProcessor(0, -1, -1), surf.edge0NN() );
    generators[8] = new BoxProcessorGenerator3D(getEdgeProcessor(0, -1,  1), surf.edge0NP() );
    generators[9] = new BoxProcessorGenerator3D(getEdgeProcessor(0,  1, -1), surf.edge0PN() );
    generators[10] = new BoxProcessorGenerator3D(getEdgeProcessor(0,  1,  1), surf.edge0PP() );
    generators[11] = new BoxProcessorGenerator3D(getEdgeProcessor(1, -1, -1), surf.edge1NN() );
    generators[12] = new BoxProcessorGenerator3D(getEdgeProcessor(1, -1,  1), surf.edge1NP() );
    generators[13] = new BoxProcessorGenerator3D(getEdgeProcessor(1,  1, -1), surf.edge1PN() );
    generators[14] = new BoxProcessorGenerator3D(getEdgeProcessor(1,  1,  1), surf.edge1PP() );
    generators[15] = new BoxProcessorGenerator3D(getEdgeProcessor(2, -1, -1), surf.edge2NN() );
    generators[16] = new BoxProcessorGenerator3D(getEdgeProcessor(2, -1,  1), surf.edge2NP() );
    generators[17] = new BoxProcessorGenerator3D(getEdgeProcessor(2,  1, -1), surf.edge2PN() );
    generators[18] = new BoxProcessorGenerator3D(getEdgeProcessor(2,  1,  1), surf.edge2PP() );

    generators[19] = new BoxProcessorGenerator3D(getCornerProcessor(-1, -1, -1), surf.cornerNNN() );
    generators[20] = new BoxProcessorGenerator3D(getCornerProcessor(-1, -1,  1), surf.cornerNNP() );
    generators[21] = new BoxProcessorGenerator3D(getCornerProcessor(-1,  1, -1), surf.cornerNPN() );
    generators[22] = new BoxProcessorGenerator3D(getCornerProcessor(-1,  1,  1), surf.cornerNPP() );
    generators[23] = new BoxProcessorGenerator3D(getCornerProcessor( 1, -1, -1), surf.cornerPNN() );
    generators[24] = new BoxProcessorGenerator3D(getCornerProcessor( 1, -1,  1), surf.cornerPNP() );
    generators[25] = new BoxProcessorGenerator3D(getCornerProcessor( 1,  1, -1), surf.cornerPPN() );
    generators[26] = new BoxProcessorGenerator3D(getCornerProcessor( 1,  1,  1), surf.cornerPPP() );
}