Go to the documentation of this file.
33 Foam::cv2DControls::cv2DControls
39 motionControl_(
controlDict.subDict(
"motionControl")),
40 conformationControl_(
controlDict.subDict(
"surfaceConformation")),
42 minCellSize_(motionControl_.
get<scalar>(
"minCellSize")),
43 minCellSize2_(
Foam::
sqr(minCellSize_)),
45 maxQuadAngle_(conformationControl_.
get<scalar>(
"maxQuadAngle")),
49 motionControl_.
get<scalar>(
"nearWallAlignedDist") * minCellSize_
51 nearWallAlignedDist2_(
Foam::
sqr(nearWallAlignedDist_)),
53 insertSurfaceNearestPointPairs_
55 conformationControl_.
get<Switch>
57 "insertSurfaceNearestPointPairs"
62 conformationControl_.
get<Switch>
67 insertSurfaceNearPointPairs_
69 conformationControl_.
get<Switch>
71 "insertSurfaceNearPointPairs"
77 motionControl_.getOrDefault<Switch>(
"objOutput", false)
82 motionControl_.getOrDefault<Switch>(
"meshedSurfaceOutput", false)
87 conformationControl_.
get<Switch>(
"randomiseInitialGrid")
91 conformationControl_.
get<scalar>(
"randomPerturbation")
94 maxBoundaryConformingIter_
96 conformationControl_.
get<label>(
"maxBoundaryConformingIter")
108 conformationControl_.
get<scalar>(
"minEdgeLenCoeff") * minCellSize_
110 minEdgeLen2_(
Foam::
sqr(minEdgeLen_)),
114 conformationControl_.
get<scalar>(
"maxNotchLenCoeff") * minCellSize_
116 maxNotchLen2_(
Foam::
sqr(maxNotchLen_)),
120 conformationControl_.
get<scalar>(
"minNearPointDistCoeff")*minCellSize_
122 minNearPointDist2_(
Foam::
sqr(minNearPointDist_)),
126 conformationControl_.
get<scalar>(
"pointPairDistanceCoeff")*minCellSize_
139 os <<
nl <<
"Outputting CV2D Mesher controls:" <<
nl
141 <<
indent <<
"minCellSize2_ : " << minCellSize2_ <<
nl
142 <<
indent <<
"span_ / span2_ : " << span_ <<
" / " << span2_ <<
nl
143 <<
indent <<
"maxNotchLen2_ : " << maxNotchLen2_ <<
nl
144 <<
indent <<
"minNearPointDist2_ : " << minNearPointDist2_ <<
nl
145 <<
indent <<
"nearWallAlignedDist2_ : " << nearWallAlignedDist2_ <<
nl
146 <<
indent <<
"ppDist_ : " << ppDist_ <<
nl
147 <<
indent <<
"minEdgeLen2_ : " << minEdgeLen2_ <<
nl
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Ostream & endl(Ostream &os)
label min(const labelHashSet &set, label minValue=labelMax)
void write(Ostream &os) const
Ostream & operator<<(Ostream &, const boundaryPatch &p)
runTime controlDict().readEntry("adjustTimeStep"
virtual ios_base::fmtflags flags() const
label max(const labelHashSet &set, label maxValue=labelMin)
@ END_BLOCK
End block [isseparator].
OBJstream os(runTime.globalPath()/outputName)
Ostream & indent(Ostream &os)
IOstream & scientific(IOstream &io)
@ BEGIN_BLOCK
Begin block [isseparator].
virtual int precision() const
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
unsigned short indentLevel() const noexcept