Beispiel #1
0
Foam::circleSet::circleSet
(
    const word& name,
    const polyMesh& mesh,
    const meshSearch& searchEngine,
    const word& axis,
    const point& origin,
    const vector& circleAxis,
    const point& startPoint,
    const scalar dTheta
)
    :
    sampledSet(name, mesh, searchEngine, axis),
    origin_(origin),
    circleAxis_(circleAxis),
    startPoint_(startPoint),
    dTheta_(dTheta)
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Beispiel #2
0
sampleGen::sampleGen(std::shared_ptr<std::mt19937> gen ,std::bernoulli_distribution samp){
    m_gen = gen;
    m_samp = samp;
    m_history = std::vector<bool>();
    
    genSamples();
};
Beispiel #3
0
int sampleGen::doDsum(int N){
 /* Make sure I have enough samples to compute the sum*/   
  while (N > (m_history.size() - 1))
        genSamples();
  
  /*Make iterators range*/
  auto start = m_history.begin();
  auto end = m_history.begin()+N;
  
  return std::accumulate(start,end,0);
};
Foam::midPointAndFaceSet::midPointAndFaceSet
(
    const word& name,
    const polyMesh& mesh,
    const meshSearch& searchEngine,
    const dictionary& dict
)
:
    faceOnlySet(name, mesh, searchEngine, dict)
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Beispiel #5
0
Foam::polyLineSet::polyLineSet
(
    const word& name,
    const polyMesh& mesh,
    const meshSearch& searchEngine,
    const dictionary& dict
)
:
    sampledSet(name, mesh, searchEngine, dict),
    sampleCoords_(dict.lookup("points"))
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Foam::faceOnlySet::faceOnlySet
(
    const word& name,
    const polyMesh& mesh,
    meshSearch& searchEngine,
    const dictionary& dict
)
:
    sampledSet(name, mesh, searchEngine, dict),
    start_(dict.lookup("start")),
    end_(dict.lookup("end"))
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Foam::midPointAndFaceSet::midPointAndFaceSet
(
    const word& name,
    const polyMesh& mesh,
    const meshSearch& searchEngine,
    const word& axis,
    const point& start,
    const point& end
)
:
    faceOnlySet(name, mesh, searchEngine, axis, start, end)
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Beispiel #8
0
Foam::polyLineSet::polyLineSet
(
    const word& name,
    const polyMesh& mesh,
    const meshSearch& searchEngine,
    const word& axis,
    const List<point>& sampleCoords
)
:
    sampledSet(name, mesh, searchEngine, axis),
    sampleCoords_(sampleCoords)
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Beispiel #9
0
Foam::sampledSets::lineUniform::lineUniform
(
    const word& name,
    const polyMesh& mesh,
    const meshSearch& searchEngine,
    const dictionary& dict
)
:
    sampledSet(name, mesh, searchEngine, dict),
    start_(dict.lookup("start")),
    end_(dict.lookup("end")),
    nPoints_(readLabel(dict.lookup("nPoints")))
{
    genSamples();

    if (debug)
    {
        write(Pout);
    }
}
Beispiel #10
0
Foam::faceOnlySet::faceOnlySet
(
    const word& name,
    const polyMesh& mesh,
    meshSearch& searchEngine,
    const word& axis,
    const point& start,
    const point& end
)
:
    sampledSet(name, mesh, searchEngine, axis),
    start_(start),
    end_(end)
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Foam::uniformSet::uniformSet
(
    const word& name,
    const polyMesh& mesh,
    meshSearch& searchEngine,
    const word& axis,
    const point& start,
    const point& end,
    const label nPoints
)
:
    sampledSet(name, mesh, searchEngine, axis),
    start_(start),
    end_(end),
    nPoints_(nPoints)
{
    genSamples();

    if (debug)
    {
        write(Info);
    }
}
Beispiel #12
0
Foam::circleSet::circleSet
(
    const word& name,
    const polyMesh& mesh,
    const meshSearch& searchEngine,
    const dictionary& dict
)
    :
    sampledSet(name, mesh, searchEngine, dict),
    origin_(dict.lookup("origin")),
    circleAxis_(dict.lookup("circleAxis")),
    startPoint_(dict.lookup("startPoint")),
    dTheta_(readScalar(dict.lookup("dTheta")))
{
    // normalise circleAxis
    circleAxis_ /= mag(circleAxis_);

    genSamples();

    if (debug)
    {
        write(Info);
    }
}