mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' into particleInteractions
This commit is contained in:
@ -28,16 +28,18 @@ wmake libso surfMesh
|
||||
wmake libso triSurface
|
||||
|
||||
# Decomposition methods needed by dummyThirdParty
|
||||
parallel/AllwmakeLnInclude
|
||||
parallel/decompose/AllwmakeLnInclude
|
||||
# dummyThirdParty (dummy metisDecomp, scotchDecomp etc) needed by e.g. meshTools
|
||||
dummyThirdParty/Allwmake
|
||||
|
||||
# Build the proper scotchDecomp, metisDecomp etc.
|
||||
parallel/decompose/Allwmake
|
||||
|
||||
wmake libso meshTools
|
||||
wmake libso finiteVolume
|
||||
wmake libso genericPatchFields
|
||||
|
||||
# Build the proper scotchDecomp, metisDecomp etc.
|
||||
parallel/Allwmake
|
||||
parallel/reconstruct/Allwmake
|
||||
|
||||
wmake libso sampling
|
||||
|
||||
@ -52,7 +54,6 @@ thermophysicalModels/Allwmake
|
||||
transportModels/Allwmake
|
||||
turbulenceModels/Allwmake
|
||||
lagrangian/Allwmake
|
||||
parallel/Allwmake
|
||||
postProcessing/Allwmake
|
||||
conversion/Allwmake
|
||||
mesh/Allwmake
|
||||
|
||||
@ -181,7 +181,6 @@ inline unsigned Hash<triFace>::operator()(const triFace& t, unsigned seed) const
|
||||
|
||||
|
||||
//- Hash specialization for hashing triFace - a commutative hash value.
|
||||
// Hash incrementally.
|
||||
template<>
|
||||
inline unsigned Hash<triFace>::operator()(const triFace& t) const
|
||||
{
|
||||
|
||||
@ -300,7 +300,7 @@ void Foam::coupledPolyPatch::calcTransformTensors
|
||||
{
|
||||
// Rotation, no separation
|
||||
|
||||
// Assume per-face differening transformation, correct later
|
||||
// Assume per-face differing transformation, correct later
|
||||
|
||||
separation_.setSize(0);
|
||||
|
||||
|
||||
@ -47,14 +47,15 @@ namespace Foam
|
||||
|
||||
|
||||
template<>
|
||||
const char* NamedEnum<cyclicPolyPatch::transformType, 3>::names[] =
|
||||
const char* NamedEnum<cyclicPolyPatch::transformType, 4>::names[] =
|
||||
{
|
||||
"unknown",
|
||||
"rotational",
|
||||
"translational"
|
||||
"translational",
|
||||
"noOrdering"
|
||||
};
|
||||
|
||||
const NamedEnum<cyclicPolyPatch::transformType, 3>
|
||||
const NamedEnum<cyclicPolyPatch::transformType, 4>
|
||||
cyclicPolyPatch::transformTypeNames;
|
||||
}
|
||||
|
||||
@ -1153,6 +1154,16 @@ bool Foam::cyclicPolyPatch::order
|
||||
<< ". It is " << pp.size() << abort(FatalError);
|
||||
}
|
||||
|
||||
if (transform_ == NOORDERING)
|
||||
{
|
||||
if (debug)
|
||||
{
|
||||
Pout<< "cyclicPolyPatch::order : noOrdering mode." << endl;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
label halfSize = pp.size()/2;
|
||||
|
||||
// Supplied primitivePatch already with new points.
|
||||
@ -1630,7 +1641,7 @@ void Foam::cyclicPolyPatch::write(Ostream& os) const
|
||||
{
|
||||
case ROTATIONAL:
|
||||
{
|
||||
os.writeKeyword("transform") << transformTypeNames[ROTATIONAL]
|
||||
os.writeKeyword("transform") << transformTypeNames[transform_]
|
||||
<< token::END_STATEMENT << nl;
|
||||
os.writeKeyword("rotationAxis") << rotationAxis_
|
||||
<< token::END_STATEMENT << nl;
|
||||
@ -1640,12 +1651,18 @@ void Foam::cyclicPolyPatch::write(Ostream& os) const
|
||||
}
|
||||
case TRANSLATIONAL:
|
||||
{
|
||||
os.writeKeyword("transform") << transformTypeNames[TRANSLATIONAL]
|
||||
os.writeKeyword("transform") << transformTypeNames[transform_]
|
||||
<< token::END_STATEMENT << nl;
|
||||
os.writeKeyword("separationVector") << separationVector_
|
||||
<< token::END_STATEMENT << nl;
|
||||
break;
|
||||
}
|
||||
case NOORDERING:
|
||||
{
|
||||
os.writeKeyword("transform") << transformTypeNames[transform_]
|
||||
<< token::END_STATEMENT << nl;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
// no additional info to write
|
||||
|
||||
@ -42,7 +42,6 @@ Description
|
||||
|
||||
SourceFiles
|
||||
cyclicPolyPatch.C
|
||||
cyclicPolyPatchMorph.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -72,11 +71,12 @@ public:
|
||||
|
||||
enum transformType
|
||||
{
|
||||
UNKNOWN,
|
||||
ROTATIONAL,
|
||||
TRANSLATIONAL
|
||||
UNKNOWN, // unspecified; automatic ordering
|
||||
ROTATIONAL, // rotation along coordinate axis
|
||||
TRANSLATIONAL, // translation
|
||||
NOORDERING // unspecified, no automatic ordering
|
||||
};
|
||||
static const NamedEnum<transformType, 3> transformTypeNames;
|
||||
static const NamedEnum<transformType, 4> transformTypeNames;
|
||||
|
||||
|
||||
private:
|
||||
@ -118,8 +118,6 @@ private:
|
||||
//- Find amongst selected faces the one with the largest area
|
||||
static label findMaxArea(const pointField&, const faceList&);
|
||||
|
||||
void calcTransforms();
|
||||
|
||||
|
||||
// Face ordering
|
||||
|
||||
@ -175,6 +173,9 @@ protected:
|
||||
|
||||
// Protected Member functions
|
||||
|
||||
//- Recalculate the transformation tensors
|
||||
virtual void calcTransforms();
|
||||
|
||||
//- Initialise the calculation of the patch geometry
|
||||
virtual void initGeometry(PstreamBuffers&);
|
||||
|
||||
|
||||
@ -10,7 +10,8 @@ case "$WM_MPLIB" in
|
||||
echo
|
||||
echo "Note: ignore spurious warnings about missing mpicxx.h headers"
|
||||
set -x
|
||||
(WM_OPTIONS=${WM_OPTIONS}$WM_MPLIB; wmake libso mpi)
|
||||
# force compilation into qualified directory
|
||||
WM_OPTIONS=${WM_OPTIONS}$WM_MPLIB wmake libso mpi
|
||||
;;
|
||||
|
||||
#GAMMA)
|
||||
|
||||
4
src/dummyThirdParty/metisDecomp/Make/options
vendored
4
src/dummyThirdParty/metisDecomp/Make/options
vendored
@ -1,5 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(FOAM_SRC)/parallel/decompositionMethods/lnInclude \
|
||||
-I$(FOAM_SRC)/parallel/metisDecomp/lnInclude
|
||||
-I$(FOAM_SRC)/parallel/decompose/decompositionMethods/lnInclude \
|
||||
-I$(FOAM_SRC)/parallel/decompose/metisDecomp/lnInclude
|
||||
|
||||
LIB_LIBS =
|
||||
|
||||
@ -34,8 +34,8 @@ static const char* notImplementedMessage =
|
||||
"\n"
|
||||
"Please install metis and make sure that libmetis.so is in your "
|
||||
"LD_LIBRARY_PATH.\n"
|
||||
"The metisDecomp library can then be built in $FOAM_SRC/decompositionMethods/"
|
||||
"metisDecomp\n";
|
||||
"The metisDecomp library can then be built in "
|
||||
"$FOAM_SRC/parallel/decompose/decompositionMethods/metisDecomp\n";
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(FOAM_SRC)/parallel/decompositionMethods/lnInclude \
|
||||
-I$(FOAM_SRC)/parallel/parMetisDecomp/lnInclude
|
||||
-I$(FOAM_SRC)/parallel/decompose/decompositionMethods/lnInclude \
|
||||
-I$(FOAM_SRC)/parallel/decompose/parMetisDecomp/lnInclude
|
||||
|
||||
LIB_LIBS =
|
||||
|
||||
@ -50,8 +50,8 @@ static const char* notImplementedMessage =
|
||||
"\n"
|
||||
"Please install parMetis and make sure that libparMetis.so is in your "
|
||||
"LD_LIBRARY_PATH.\n"
|
||||
"The parMetisDecomp library can then be built in $FOAM_SRC/decompositionMethods/"
|
||||
"parMetisDecomp\n";
|
||||
"The parMetisDecomp library can then be built in "
|
||||
"$FOAM_SRC/parallel/decompose/decompositionMethods/parMetisDecomp\n";
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(FOAM_SRC)/parallel/decompositionMethods/lnInclude \
|
||||
-I$(FOAM_SRC)/parallel/scotchDecomp/lnInclude
|
||||
EXE_INC = \
|
||||
-I$(FOAM_SRC)/parallel/decompose/decompositionMethods/lnInclude \
|
||||
-I$(FOAM_SRC)/parallel/decompose/scotchDecomp/lnInclude
|
||||
|
||||
LIB_LIBS =
|
||||
|
||||
|
||||
@ -115,8 +115,8 @@ static const char* notImplementedMessage =
|
||||
"\n"
|
||||
"Please install scotch and make sure that libscotch.so is in your "
|
||||
"LD_LIBRARY_PATH.\n"
|
||||
"The scotchDecomp library can then be built in $FOAM_SRC/decompositionMethods/"
|
||||
"scotchDecomp\n";
|
||||
"The scotchDecomp library can then be built in "
|
||||
"$FOAM_SRC/parallel/decompose/decompositionMethods/scotchDecomp\n";
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -34,7 +34,6 @@ License
|
||||
#include "polyAddFace.H"
|
||||
#include "polyModifyFace.H"
|
||||
#include "polyAddCell.H"
|
||||
#include "wallPoint.H"
|
||||
#include "globalIndex.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
@ -713,14 +712,14 @@ void Foam::addPatchCellLayer::setRefinement
|
||||
}
|
||||
|
||||
{
|
||||
pointField d(mesh_.nPoints(), wallPoint::greatPoint);
|
||||
pointField d(mesh_.nPoints(), vector::max);
|
||||
UIndirectList<point>(d, meshPoints) = firstLayerDisp;
|
||||
syncTools::syncPointList
|
||||
(
|
||||
mesh_,
|
||||
d,
|
||||
minEqOp<vector>(),
|
||||
wallPoint::greatPoint,
|
||||
vector::max,
|
||||
false
|
||||
);
|
||||
|
||||
|
||||
@ -49,14 +49,6 @@ namespace Foam
|
||||
}
|
||||
|
||||
|
||||
const Foam::point Foam::polyTopoChange::greatPoint
|
||||
(
|
||||
GREAT,
|
||||
GREAT,
|
||||
GREAT
|
||||
);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
// Renumber with special handling for merged items (marked with <-1)
|
||||
@ -2695,7 +2687,7 @@ void Foam::polyTopoChange::removePoint
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
points_[pointI] = greatPoint;
|
||||
points_[pointI] = point::max;
|
||||
pointMap_[pointI] = -1;
|
||||
if (mergePointI >= 0)
|
||||
{
|
||||
|
||||
@ -45,7 +45,7 @@ Description
|
||||
- no item can be removed more than once.
|
||||
- removed cell: cell set to 0 faces.
|
||||
- removed face: face set to 0 vertices.
|
||||
- removed point: coordinate set to greatPoint (GREAT,GREAT,GREAT).
|
||||
- removed point: coordinate set to vector::max (VGREAT,VGREAT,VGREAT).
|
||||
Note that this might give problems if this value is used already.
|
||||
To see if point is equal to above value we don't use == (which might give
|
||||
problems with roundoff error) but instead compare the individual component
|
||||
@ -98,12 +98,6 @@ template<class T, class Container> class CompactListList;
|
||||
|
||||
class polyTopoChange
|
||||
{
|
||||
// Static data members
|
||||
|
||||
//- Value of deleted point
|
||||
static const point greatPoint;
|
||||
|
||||
|
||||
// Private data
|
||||
|
||||
//- Whether to allow referencing illegal points/cells/faces
|
||||
|
||||
@ -33,9 +33,9 @@ inline bool Foam::polyTopoChange::pointRemoved(const label pointI) const
|
||||
const point& pt = points_[pointI];
|
||||
|
||||
return
|
||||
pt.x() > 0.5*greatPoint.x()
|
||||
&& pt.y() > 0.5*greatPoint.y()
|
||||
&& pt.z() > 0.5*greatPoint.z();
|
||||
pt.x() > 0.5*vector::max.x()
|
||||
&& pt.y() > 0.5*vector::max.y()
|
||||
&& pt.z() > 0.5*vector::max.z();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -33,7 +33,6 @@ License
|
||||
#include "polyAddPoint.H"
|
||||
#include "polyModifyFace.H"
|
||||
#include "syncTools.H"
|
||||
#include "wallPoint.H" // only to use 'greatPoint'
|
||||
#include "faceSet.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
@ -570,7 +569,7 @@ void Foam::removePoints::getUnrefimentSet
|
||||
{
|
||||
label savedPointI = -savedFace[fp]-1;
|
||||
|
||||
if (savedPoints_[savedPointI] == wallPoint::greatPoint)
|
||||
if (savedPoints_[savedPointI] == vector::max)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
@ -745,7 +744,7 @@ void Foam::removePoints::setUnrefinement
|
||||
{
|
||||
label localI = localPoints[i];
|
||||
|
||||
if (savedPoints_[localI] == wallPoint::greatPoint)
|
||||
if (savedPoints_[localI] == vector::max)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
@ -767,7 +766,7 @@ void Foam::removePoints::setUnrefinement
|
||||
);
|
||||
|
||||
// Mark the restored points so they are not restored again.
|
||||
savedPoints_[localI] = wallPoint::greatPoint;
|
||||
savedPoints_[localI] = vector::max;
|
||||
}
|
||||
|
||||
forAll(localFaces, i)
|
||||
|
||||
@ -26,7 +26,6 @@ License
|
||||
|
||||
#include "nearWallDistNoSearch.H"
|
||||
#include "fvMesh.H"
|
||||
#include "wallPoint.H"
|
||||
#include "wallFvPatch.H"
|
||||
#include "surfaceFields.H"
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ namespace Foam
|
||||
|
||||
void Foam::displacementLayeredMotionFvMotionSolver::calcZoneMask
|
||||
(
|
||||
const label cellZoneI,
|
||||
const label cellZoneI,
|
||||
PackedBoolList& isZonePoint,
|
||||
PackedBoolList& isZoneEdge
|
||||
) const
|
||||
@ -133,16 +133,14 @@ void Foam::displacementLayeredMotionFvMotionSolver::walkStructured
|
||||
vectorField& data
|
||||
) const
|
||||
{
|
||||
const pointField& points = mesh().points();
|
||||
|
||||
List<pointEdgeStructuredWalk> seedInfo(seedPoints.size());
|
||||
|
||||
forAll(seedPoints, i)
|
||||
{
|
||||
seedInfo[i] = pointEdgeStructuredWalk
|
||||
(
|
||||
true,
|
||||
points[seedPoints[i]],
|
||||
points0()[seedPoints[i]], // location of data
|
||||
points0()[seedPoints[i]], // previous location
|
||||
0.0,
|
||||
seedData[i]
|
||||
);
|
||||
@ -150,23 +148,39 @@ void Foam::displacementLayeredMotionFvMotionSolver::walkStructured
|
||||
|
||||
// Current info on points
|
||||
List<pointEdgeStructuredWalk> allPointInfo(mesh().nPoints());
|
||||
// Mark points inside cellZone
|
||||
|
||||
// Mark points inside cellZone.
|
||||
// Note that we use points0, not mesh.points()
|
||||
// so as not to accumulate errors.
|
||||
forAll(isZonePoint, pointI)
|
||||
{
|
||||
if (isZonePoint[pointI])
|
||||
{
|
||||
allPointInfo[pointI].inZone() = true;
|
||||
allPointInfo[pointI] = pointEdgeStructuredWalk
|
||||
(
|
||||
points0()[pointI], // location of data
|
||||
vector::max, // not valid
|
||||
0.0,
|
||||
vector::zero // passive data
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Current info on edges
|
||||
List<pointEdgeStructuredWalk> allEdgeInfo(mesh().nEdges());
|
||||
|
||||
// Mark edges inside cellZone
|
||||
forAll(isZoneEdge, edgeI)
|
||||
{
|
||||
if (isZoneEdge[edgeI])
|
||||
{
|
||||
allEdgeInfo[edgeI].inZone() = true;
|
||||
allEdgeInfo[edgeI] = pointEdgeStructuredWalk
|
||||
(
|
||||
mesh().edges()[edgeI].centre(points0()), // location of data
|
||||
vector::max, // not valid
|
||||
0.0,
|
||||
vector::zero
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ class displacementLayeredMotionFvMotionSolver
|
||||
|
||||
void calcZoneMask
|
||||
(
|
||||
const label cellZoneI,
|
||||
const label cellZoneI,
|
||||
PackedBoolList& isZonePoint,
|
||||
PackedBoolList& isZoneEdge
|
||||
) const;
|
||||
|
||||
@ -35,7 +35,7 @@ Foam::Ostream& Foam::operator<<
|
||||
)
|
||||
{
|
||||
return os
|
||||
<< wDist.inZone_ << wDist.previousPoint_
|
||||
<< wDist.point0_ << wDist.previousPoint_
|
||||
<< wDist.dist_ << wDist.data_;
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ Foam::Istream& Foam::operator>>
|
||||
)
|
||||
{
|
||||
return is
|
||||
>> wDist.inZone_ >> wDist.previousPoint_
|
||||
>> wDist.point0_ >> wDist.previousPoint_
|
||||
>> wDist.dist_ >> wDist.data_;
|
||||
}
|
||||
|
||||
|
||||
@ -61,10 +61,10 @@ class pointEdgeStructuredWalk
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Is this point/edge inside the walk zone
|
||||
bool inZone_;
|
||||
//- Starting location
|
||||
point point0_;
|
||||
|
||||
//- Previuos point
|
||||
//- Previous point
|
||||
point previousPoint_;
|
||||
|
||||
//- Sum of distance
|
||||
@ -77,15 +77,6 @@ class pointEdgeStructuredWalk
|
||||
|
||||
//- Evaluate distance to point.
|
||||
inline bool update
|
||||
(
|
||||
const point&,
|
||||
const pointEdgeStructuredWalk& w2,
|
||||
const scalar tol
|
||||
);
|
||||
|
||||
//- Combine current with w2. Update distSqr, origin if w2 has smaller
|
||||
// quantities and returns true.
|
||||
inline bool update
|
||||
(
|
||||
const pointEdgeStructuredWalk& w2,
|
||||
const scalar tol
|
||||
@ -101,7 +92,7 @@ public:
|
||||
//- Construct from components
|
||||
inline pointEdgeStructuredWalk
|
||||
(
|
||||
const bool,
|
||||
const point&,
|
||||
const point&,
|
||||
const scalar,
|
||||
const vector&
|
||||
@ -114,10 +105,6 @@ public:
|
||||
|
||||
inline bool inZone() const;
|
||||
|
||||
inline bool& inZone();
|
||||
|
||||
inline const point& previousPoint() const;
|
||||
|
||||
inline scalar dist() const;
|
||||
|
||||
inline const vector& data() const;
|
||||
|
||||
@ -32,16 +32,15 @@ License
|
||||
// Update this with w2.
|
||||
inline bool Foam::pointEdgeStructuredWalk::update
|
||||
(
|
||||
const point& pt,
|
||||
const pointEdgeStructuredWalk& w2,
|
||||
const scalar tol
|
||||
)
|
||||
{
|
||||
if (!valid())
|
||||
{
|
||||
// current not yet set. Walked from w2 to here (=pt)
|
||||
dist_ = w2.dist_ + mag(pt-w2.previousPoint_);
|
||||
previousPoint_ = pt;
|
||||
// current not yet set. Walked from w2 to here (=point0)
|
||||
dist_ = w2.dist_ + mag(point0_-w2.previousPoint_);
|
||||
previousPoint_ = point0_;
|
||||
data_ = w2.data_;
|
||||
|
||||
return true;
|
||||
@ -52,36 +51,13 @@ inline bool Foam::pointEdgeStructuredWalk::update
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Update this with w2 (information on same point)
|
||||
inline bool Foam::pointEdgeStructuredWalk::update
|
||||
(
|
||||
const pointEdgeStructuredWalk& w2,
|
||||
const scalar tol
|
||||
)
|
||||
{
|
||||
if (!valid())
|
||||
{
|
||||
// current not yet set so use neighbour
|
||||
dist_ = w2.dist_;
|
||||
previousPoint_ = w2.previousPoint_;
|
||||
data_ = w2.data_;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// already nearer to pt
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
// Null constructor
|
||||
inline Foam::pointEdgeStructuredWalk::pointEdgeStructuredWalk()
|
||||
:
|
||||
inZone_(false),
|
||||
point0_(vector::max),
|
||||
previousPoint_(vector::max),
|
||||
dist_(0),
|
||||
data_(vector::zero)
|
||||
@ -91,13 +67,13 @@ inline Foam::pointEdgeStructuredWalk::pointEdgeStructuredWalk()
|
||||
// Construct from origin, distance
|
||||
inline Foam::pointEdgeStructuredWalk::pointEdgeStructuredWalk
|
||||
(
|
||||
const bool inZone,
|
||||
const point& previousPoint,
|
||||
const point& point0,
|
||||
const point& previousPoint,
|
||||
const scalar dist,
|
||||
const vector& data
|
||||
)
|
||||
:
|
||||
inZone_(inZone),
|
||||
point0_(point0),
|
||||
previousPoint_(previousPoint),
|
||||
dist_(dist),
|
||||
data_(data)
|
||||
@ -108,20 +84,14 @@ inline Foam::pointEdgeStructuredWalk::pointEdgeStructuredWalk
|
||||
|
||||
inline bool Foam::pointEdgeStructuredWalk::inZone() const
|
||||
{
|
||||
return inZone_;
|
||||
return point0_ != vector::max;
|
||||
}
|
||||
|
||||
|
||||
inline bool& Foam::pointEdgeStructuredWalk::inZone()
|
||||
{
|
||||
return inZone_;
|
||||
}
|
||||
|
||||
|
||||
inline const Foam::point& Foam::pointEdgeStructuredWalk::previousPoint() const
|
||||
{
|
||||
return previousPoint_;
|
||||
}
|
||||
//inline const Foam::point& Foam::pointEdgeStructuredWalk::previousPoint() const
|
||||
//{
|
||||
// return previousPoint_;
|
||||
//}
|
||||
|
||||
|
||||
inline Foam::scalar Foam::pointEdgeStructuredWalk::dist() const
|
||||
@ -210,15 +180,15 @@ inline bool Foam::pointEdgeStructuredWalk::updatePoint
|
||||
const scalar tol
|
||||
)
|
||||
{
|
||||
if (inZone_)
|
||||
if (inZone())
|
||||
{
|
||||
return update(mesh.points()[pointI], edgeInfo, tol);
|
||||
return update(edgeInfo, tol);
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Update this with new information on same point
|
||||
@ -230,9 +200,9 @@ inline bool Foam::pointEdgeStructuredWalk::updatePoint
|
||||
const scalar tol
|
||||
)
|
||||
{
|
||||
if (inZone_)
|
||||
if (inZone())
|
||||
{
|
||||
return update(mesh.points()[pointI], newPointInfo, tol);
|
||||
return update(newPointInfo, tol);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -249,7 +219,7 @@ inline bool Foam::pointEdgeStructuredWalk::updatePoint
|
||||
)
|
||||
{
|
||||
return update(newPointInfo, tol);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Update this with information from connected point
|
||||
@ -262,21 +232,15 @@ inline bool Foam::pointEdgeStructuredWalk::updateEdge
|
||||
const scalar tol
|
||||
)
|
||||
{
|
||||
if (inZone_)
|
||||
if (inZone())
|
||||
{
|
||||
const pointField& points = mesh.points();
|
||||
|
||||
const edge& e = mesh.edges()[edgeI];
|
||||
|
||||
const point edgeMid(0.5*(points[e[0]] + points[e[1]]));
|
||||
|
||||
return update(edgeMid, pointInfo, tol);
|
||||
return update(pointInfo, tol);
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
|
||||
@ -286,7 +250,7 @@ inline bool Foam::pointEdgeStructuredWalk::operator==
|
||||
const Foam::pointEdgeStructuredWalk& rhs
|
||||
) const
|
||||
{
|
||||
return previousPoint() == rhs.previousPoint();
|
||||
return previousPoint_ == rhs.previousPoint_;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -28,6 +28,11 @@ Class
|
||||
Description
|
||||
Limited to C(s) + O2 -> CO2
|
||||
|
||||
Loosely based on the reference:
|
||||
Murphy, J. J., Shaddix, C. R., Combustion kinetics of coal chars
|
||||
in oxygen-enriched environments, Combustion and Flame 144,
|
||||
pp710-729, 2006
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef COxidationMurphyShaddix_H
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/parallel/decompositionMethods/lnInclude \
|
||||
-I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \
|
||||
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||
|
||||
@ -38,7 +38,6 @@ SourceFiles
|
||||
|
||||
#include "autoPtr.H"
|
||||
#include "dictionary.H"
|
||||
#include "wallPoint.H"
|
||||
#include "searchableSurfaces.H"
|
||||
#include "refinementSurfaces.H"
|
||||
#include "shellSurfaces.H"
|
||||
@ -95,9 +94,9 @@ class autoHexMeshDriver
|
||||
|
||||
void operator()(vector& x, const vector& y) const
|
||||
{
|
||||
if (y != wallPoint::greatPoint)
|
||||
if (y != point::max)
|
||||
{
|
||||
if (x == wallPoint::greatPoint)
|
||||
if (x == point::max)
|
||||
{
|
||||
x = y;
|
||||
}
|
||||
|
||||
@ -991,7 +991,7 @@ void Foam::autoLayerDriver::handleFeatureAngle
|
||||
if (minCos < 1-SMALL)
|
||||
{
|
||||
// Normal component of normals of connected faces.
|
||||
vectorField edgeNormal(mesh.nEdges(), wallPoint::greatPoint);
|
||||
vectorField edgeNormal(mesh.nEdges(), point::max);
|
||||
|
||||
const labelListList& edgeFaces = pp.edgeFaces();
|
||||
|
||||
@ -1016,7 +1016,7 @@ void Foam::autoLayerDriver::handleFeatureAngle
|
||||
mesh,
|
||||
edgeNormal,
|
||||
nomalsCombine(),
|
||||
wallPoint::greatPoint, // null value
|
||||
point::max, // null value
|
||||
false // no separation
|
||||
);
|
||||
|
||||
@ -1040,7 +1040,7 @@ void Foam::autoLayerDriver::handleFeatureAngle
|
||||
|
||||
const vector& n = edgeNormal[meshEdgeI];
|
||||
|
||||
if (n != wallPoint::greatPoint)
|
||||
if (n != point::max)
|
||||
{
|
||||
scalar cos = n & pp.faceNormals()[eFaces[0]];
|
||||
|
||||
@ -1640,7 +1640,7 @@ void Foam::autoLayerDriver::syncPatchDisplacement
|
||||
meshPoints,
|
||||
patchDisp,
|
||||
minEqOp<vector>(),
|
||||
wallPoint::greatPoint, // null value
|
||||
point::max, // null value
|
||||
false // no separation
|
||||
);
|
||||
|
||||
|
||||
@ -37,7 +37,6 @@ SourceFiles
|
||||
#define autoLayerDriver_H
|
||||
|
||||
#include "meshRefinement.H"
|
||||
#include "wallPoint.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -50,7 +49,6 @@ class pointSet;
|
||||
class motionSmoother;
|
||||
class addPatchCellLayer;
|
||||
class pointData;
|
||||
class wallPoint;
|
||||
class faceSet;
|
||||
class layerParameters;
|
||||
|
||||
@ -81,9 +79,9 @@ class autoLayerDriver
|
||||
|
||||
void operator()(vector& x, const vector& y) const
|
||||
{
|
||||
if (y != wallPoint::greatPoint)
|
||||
if (y != point::max)
|
||||
{
|
||||
if (x == wallPoint::greatPoint)
|
||||
if (x == point::max)
|
||||
{
|
||||
x = y;
|
||||
}
|
||||
|
||||
@ -102,9 +102,10 @@ Foam::Map<Foam::label> Foam::autoSnapDriver::getZoneBafflePatches
|
||||
FatalErrorIn("getZoneBafflePatches(const bool)")
|
||||
<< "Face " << faceI
|
||||
<< " fc:" << mesh.faceCentres()[faceI]
|
||||
<< " is in faceZone "
|
||||
<< " in zone " << fZone.name()
|
||||
<< " is in patch "
|
||||
<< mesh.boundaryMesh()[oldPatchI].name()
|
||||
<< " and in faceZone "
|
||||
<< " and in patch "
|
||||
<< mesh.boundaryMesh()[patchI].name()
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
@ -26,7 +26,6 @@ License
|
||||
|
||||
#include "polyMesh.H"
|
||||
#include "transform.H"
|
||||
#include "wallPoint.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
@ -138,10 +137,10 @@ inline bool Foam::pointData::update
|
||||
// Null constructor
|
||||
inline Foam::pointData::pointData()
|
||||
:
|
||||
origin_(wallPoint::greatPoint),
|
||||
origin_(point::max),
|
||||
distSqr_(GREAT),
|
||||
s_(GREAT),
|
||||
v_(wallPoint::greatPoint)
|
||||
v_(point::max)
|
||||
{}
|
||||
|
||||
|
||||
@ -199,7 +198,7 @@ inline const Foam::vector& Foam::pointData::v() const
|
||||
|
||||
inline bool Foam::pointData::valid() const
|
||||
{
|
||||
return origin_ != wallPoint::greatPoint;
|
||||
return origin_ != point::max;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/triSurface/lnInclude \
|
||||
-I$(LIB_SRC)/parallel/decompositionMethods/lnInclude \
|
||||
-I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
|
||||
@ -26,10 +26,6 @@ License
|
||||
|
||||
#include "pointEdgePoint.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
Foam::point Foam::pointEdgePoint::greatPoint(GREAT, GREAT, GREAT);
|
||||
|
||||
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
|
||||
|
||||
Foam::Ostream& Foam::operator<<
|
||||
|
||||
@ -92,12 +92,6 @@ class pointEdgePoint
|
||||
|
||||
public:
|
||||
|
||||
// Static data members
|
||||
|
||||
//- initial point far away.
|
||||
static point greatPoint;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null
|
||||
|
||||
@ -117,7 +117,7 @@ inline bool Foam::pointEdgePoint::update
|
||||
// Null constructor
|
||||
inline Foam::pointEdgePoint::pointEdgePoint()
|
||||
:
|
||||
origin_(greatPoint),
|
||||
origin_(point::max),
|
||||
distSqr_(GREAT)
|
||||
{}
|
||||
|
||||
@ -158,7 +158,7 @@ inline Foam::scalar Foam::pointEdgePoint::distSqr() const
|
||||
|
||||
inline bool Foam::pointEdgePoint::valid() const
|
||||
{
|
||||
return origin_ != greatPoint;
|
||||
return origin_ != point::max;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -106,7 +106,7 @@ Foam::label Foam::patchDataWave<TransferType>::getValues
|
||||
|
||||
distance_[cellI] = dist;
|
||||
|
||||
//cellData_[cellI] = wallPoint::greatPoint;
|
||||
//cellData_[cellI] = point::max;
|
||||
cellData_[cellI] = cellInfo[cellI].data();
|
||||
|
||||
nIllegal++;
|
||||
@ -153,7 +153,7 @@ Foam::label Foam::patchDataWave<TransferType>::getValues
|
||||
|
||||
patchField[patchFaceI] = dist;
|
||||
|
||||
//patchDataField[patchFaceI] = wallPoint::greatPoint;
|
||||
//patchDataField[patchFaceI] = point::max;
|
||||
patchDataField[patchFaceI] = faceInfo[meshFaceI].data();
|
||||
|
||||
nIllegal++;
|
||||
|
||||
@ -26,11 +26,6 @@ License
|
||||
|
||||
#include "wallPoint.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
Foam::point Foam::wallPoint::greatPoint(GREAT, GREAT, GREAT);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
|
||||
|
||||
Foam::Ostream& Foam::operator<<(Foam::Ostream& os, const Foam::wallPoint& wDist)
|
||||
|
||||
@ -87,12 +87,6 @@ class wallPoint
|
||||
|
||||
public:
|
||||
|
||||
// Static data members
|
||||
|
||||
//- initial point far away.
|
||||
static point greatPoint;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null
|
||||
|
||||
@ -84,7 +84,7 @@ inline bool Foam::wallPoint::update
|
||||
// Null constructor
|
||||
inline Foam::wallPoint::wallPoint()
|
||||
:
|
||||
origin_(greatPoint),
|
||||
origin_(point::max),
|
||||
distSqr_(GREAT)
|
||||
{}
|
||||
|
||||
@ -131,7 +131,7 @@ inline Foam::scalar& Foam::wallPoint::distSqr()
|
||||
|
||||
inline bool Foam::wallPoint::valid() const
|
||||
{
|
||||
return origin_ != greatPoint;
|
||||
return origin_ != point::max;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -6,7 +6,6 @@ wmakeLnInclude decompositionMethods
|
||||
|
||||
wmake libso scotchDecomp
|
||||
wmake libso metisDecomp
|
||||
wmake libso reconstruct
|
||||
|
||||
if [ -d "$FOAM_MPI_LIBBIN" ]
|
||||
then
|
||||
@ -6,3 +6,5 @@ wmakeLnInclude decompositionMethods
|
||||
wmakeLnInclude metisDecomp
|
||||
wmakeLnInclude parMetisDecomp
|
||||
wmakeLnInclude scotchDecomp
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
||||
8
src/parallel/reconstruct/Allwmake
Executable file
8
src/parallel/reconstruct/Allwmake
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
set -x
|
||||
|
||||
wmake libso reconstruct
|
||||
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
||||
@ -800,9 +800,7 @@ void Foam::isoSurface::calcSnappedPoint
|
||||
const pointField& pts = mesh_.points();
|
||||
const pointField& cc = mesh_.cellCentres();
|
||||
|
||||
|
||||
const point greatPoint(VGREAT, VGREAT, VGREAT);
|
||||
pointField collapsedPoint(mesh_.nPoints(), greatPoint);
|
||||
pointField collapsedPoint(mesh_.nPoints(), point::max);
|
||||
|
||||
|
||||
// Work arrays
|
||||
@ -966,7 +964,7 @@ void Foam::isoSurface::calcSnappedPoint
|
||||
|
||||
|
||||
// Synchronise snap location
|
||||
syncUnseparatedPoints(collapsedPoint, greatPoint);
|
||||
syncUnseparatedPoints(collapsedPoint, point::max);
|
||||
|
||||
|
||||
snappedPoint.setSize(mesh_.nPoints());
|
||||
@ -974,7 +972,7 @@ void Foam::isoSurface::calcSnappedPoint
|
||||
|
||||
forAll(collapsedPoint, pointI)
|
||||
{
|
||||
if (collapsedPoint[pointI] != greatPoint)
|
||||
if (collapsedPoint[pointI] != point::max)
|
||||
{
|
||||
snappedPoint[pointI] = snappedPoints.size();
|
||||
snappedPoints.append(collapsedPoint[pointI]);
|
||||
|
||||
@ -630,8 +630,7 @@ void Foam::isoSurfaceCell::calcSnappedPoint
|
||||
labelList& snappedPoint
|
||||
) const
|
||||
{
|
||||
const point greatPoint(VGREAT, VGREAT, VGREAT);
|
||||
pointField collapsedPoint(mesh_.nPoints(), greatPoint);
|
||||
pointField collapsedPoint(mesh_.nPoints(), point::max);
|
||||
|
||||
|
||||
// Work arrays
|
||||
@ -764,7 +763,7 @@ void Foam::isoSurfaceCell::calcSnappedPoint
|
||||
mesh_,
|
||||
collapsedPoint,
|
||||
minEqOp<point>(),
|
||||
greatPoint,
|
||||
point::max,
|
||||
true // are coordinates so separate
|
||||
);
|
||||
|
||||
@ -773,7 +772,7 @@ void Foam::isoSurfaceCell::calcSnappedPoint
|
||||
|
||||
forAll(collapsedPoint, pointI)
|
||||
{
|
||||
if (collapsedPoint[pointI] != greatPoint)
|
||||
if (collapsedPoint[pointI] != point::max)
|
||||
{
|
||||
snappedPoint[pointI] = snappedPoints.size();
|
||||
snappedPoints.append(collapsedPoint[pointI]);
|
||||
|
||||
@ -357,7 +357,7 @@ bool Foam::sampledSurfaces::update()
|
||||
if (Pstream::master() && debug)
|
||||
{
|
||||
Pout<< nl << "Merging all points within "
|
||||
<< mergeDim << " meter" << endl;
|
||||
<< mergeDim << " metre" << endl;
|
||||
}
|
||||
|
||||
forAll(*this, surfI)
|
||||
|
||||
Reference in New Issue
Block a user