mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev
This commit is contained in:
@ -26,5 +26,4 @@ EXE_LIBS = \
|
||||
-ltopoChangerFvMesh \
|
||||
-lmeshTools \
|
||||
-lfvOptions \
|
||||
-lsampling \
|
||||
-lsixDoFRigidBodyMotion
|
||||
-lsampling
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
if (packingLimiter)
|
||||
{
|
||||
// Calculating exceeding volume fractions
|
||||
volScalarField alphaEx(max(alpha1 - alphaMax, scalar(0)));
|
||||
|
||||
// Finding neighbouring cells of the whole domain
|
||||
labelListList neighbour = mesh.cellCells();
|
||||
scalarField cellVolumes(mesh.cellVolumes());
|
||||
|
||||
forAll (alphaEx, celli)
|
||||
{
|
||||
// Finding the labels of the neighbouring cells
|
||||
labelList neighbourCell = neighbour[celli];
|
||||
|
||||
// Initializing neighbouring cells contribution
|
||||
scalar neighboursEx = 0.0;
|
||||
|
||||
forAll (neighbourCell, cellj)
|
||||
{
|
||||
labelList neighboursNeighbour = neighbour[neighbourCell[cellj]];
|
||||
scalar neighboursNeighbourCellVolumes = 0.0;
|
||||
|
||||
forAll (neighboursNeighbour, cellk)
|
||||
{
|
||||
neighboursNeighbourCellVolumes +=
|
||||
cellVolumes[neighboursNeighbour[cellk]];
|
||||
}
|
||||
|
||||
neighboursEx +=
|
||||
alphaEx[neighbourCell[cellj]]*cellVolumes[celli]
|
||||
/neighboursNeighbourCellVolumes;
|
||||
}
|
||||
|
||||
alpha1[celli] += neighboursEx - alphaEx[celli];
|
||||
}
|
||||
}
|
||||
@ -1,36 +0,0 @@
|
||||
IOdictionary ppProperties
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"ppProperties",
|
||||
runTime.constant(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
);
|
||||
|
||||
scalar preAlphaExp
|
||||
(
|
||||
readScalar(ppProperties.lookup("preAlphaExp"))
|
||||
);
|
||||
|
||||
scalar alphaMax
|
||||
(
|
||||
readScalar(ppProperties.lookup("alphaMax"))
|
||||
);
|
||||
|
||||
scalar expMax
|
||||
(
|
||||
readScalar(ppProperties.lookup("expMax"))
|
||||
);
|
||||
|
||||
dimensionedScalar g0
|
||||
(
|
||||
ppProperties.lookup("g0")
|
||||
);
|
||||
|
||||
Switch packingLimiter
|
||||
(
|
||||
ppProperties.lookup("packingLimiter")
|
||||
);
|
||||
@ -418,9 +418,9 @@ addLayersControls
|
||||
// default is 0.
|
||||
//nSmoothDisplacement 90;
|
||||
|
||||
// Optional: do not extrude any point where all surrounding faces
|
||||
// have at least one point not extruded. Default is true.
|
||||
//detectExtrusionIsland false;
|
||||
// (wip)Optional: do not extrude a point if none of the surrounding points is
|
||||
// not extruded. Default is false.
|
||||
//detectExtrusionIsland true;
|
||||
|
||||
|
||||
// Mesh shrinking
|
||||
@ -488,7 +488,9 @@ meshQualityControls
|
||||
//(
|
||||
// mesh // write intermediate meshes
|
||||
// intersections // write current mesh intersections as .obj files
|
||||
// featureSeeds // write information about explicit feature edge refinement
|
||||
// featureSeeds // write information about explicit feature edge
|
||||
// // refinement
|
||||
// attraction // write attraction as .obj files
|
||||
// layerInfo // write information about layers
|
||||
//);
|
||||
//
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -90,7 +90,7 @@ void writeWeights(const polyMesh& mesh)
|
||||
(
|
||||
ami.tgtWeightsSum(),
|
||||
cpp.neighbPatch(),
|
||||
"output",
|
||||
"postProcessing",
|
||||
"tgt",
|
||||
tmName
|
||||
);
|
||||
@ -98,7 +98,7 @@ void writeWeights(const polyMesh& mesh)
|
||||
(
|
||||
ami.srcWeightsSum(),
|
||||
cpp,
|
||||
"output",
|
||||
"postProcessing",
|
||||
"src",
|
||||
tmName
|
||||
);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -141,7 +141,7 @@ void Foam::primitiveMesh::makeCellCentresAndVols
|
||||
|
||||
forAll(cellCtrs, celli)
|
||||
{
|
||||
if (cellVols[celli] > VSMALL)
|
||||
if (mag(cellVols[celli]) > VSMALL)
|
||||
{
|
||||
cellCtrs[celli] /= cellVols[celli];
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -41,7 +41,7 @@ Description
|
||||
#include "mapPolyMesh.H"
|
||||
#include "addPatchCellLayer.H"
|
||||
#include "mapDistributePolyMesh.H"
|
||||
#include "OFstream.H"
|
||||
#include "OBJstream.H"
|
||||
#include "layerParameters.H"
|
||||
#include "combineFaces.H"
|
||||
#include "IOmanip.H"
|
||||
@ -80,37 +80,25 @@ void Foam::autoLayerDriver::dumpDisplacement
|
||||
const List<extrudeMode>& extrudeStatus
|
||||
)
|
||||
{
|
||||
OFstream dispStr(prefix + "_disp.obj");
|
||||
OBJstream dispStr(prefix + "_disp.obj");
|
||||
Info<< "Writing all displacements to " << dispStr.name() << endl;
|
||||
|
||||
label vertI = 0;
|
||||
|
||||
forAll(patchDisp, patchPointI)
|
||||
{
|
||||
const point& pt = pp.localPoints()[patchPointI];
|
||||
|
||||
meshTools::writeOBJ(dispStr, pt); vertI++;
|
||||
meshTools::writeOBJ(dispStr, pt + patchDisp[patchPointI]); vertI++;
|
||||
|
||||
dispStr << "l " << vertI-1 << ' ' << vertI << nl;
|
||||
dispStr.write(linePointRef(pt, pt + patchDisp[patchPointI]));
|
||||
}
|
||||
|
||||
|
||||
OFstream illStr(prefix + "_illegal.obj");
|
||||
OBJstream illStr(prefix + "_illegal.obj");
|
||||
Info<< "Writing invalid displacements to " << illStr.name() << endl;
|
||||
|
||||
vertI = 0;
|
||||
|
||||
forAll(patchDisp, patchPointI)
|
||||
{
|
||||
if (extrudeStatus[patchPointI] != EXTRUDE)
|
||||
{
|
||||
const point& pt = pp.localPoints()[patchPointI];
|
||||
|
||||
meshTools::writeOBJ(illStr, pt); vertI++;
|
||||
meshTools::writeOBJ(illStr, pt + patchDisp[patchPointI]); vertI++;
|
||||
|
||||
illStr << "l " << vertI-1 << ' ' << vertI << nl;
|
||||
illStr.write(linePointRef(pt, pt + patchDisp[patchPointI]));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -441,13 +429,12 @@ void Foam::autoLayerDriver::handleFeatureAngle
|
||||
point::max // null value
|
||||
);
|
||||
|
||||
label vertI = 0;
|
||||
autoPtr<OFstream> str;
|
||||
autoPtr<OBJstream> str;
|
||||
if (debug&meshRefinement::MESH)
|
||||
{
|
||||
str.reset
|
||||
(
|
||||
new OFstream
|
||||
new OBJstream
|
||||
(
|
||||
mesh.time().path()
|
||||
/ "featureEdges_"
|
||||
@ -497,11 +484,9 @@ void Foam::autoLayerDriver::handleFeatureAngle
|
||||
|
||||
if (str.valid())
|
||||
{
|
||||
meshTools::writeOBJ(str(), pp.localPoints()[e[0]]);
|
||||
vertI++;
|
||||
meshTools::writeOBJ(str(), pp.localPoints()[e[1]]);
|
||||
vertI++;
|
||||
str()<< "l " << vertI-1 << ' ' << vertI << nl;
|
||||
const point& p0 = pp.localPoints()[e[0]];
|
||||
const point& p1 = pp.localPoints()[e[1]];
|
||||
str().write(linePointRef(p0, p1));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1542,7 +1527,7 @@ void Foam::autoLayerDriver::getPatchDisplacement
|
||||
|
||||
if (!meshTools::visNormal(n, faceNormals, pointFaces[patchPointI]))
|
||||
{
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
Pout<< "No valid normal for point " << meshPointI
|
||||
<< ' ' << pp.points()[meshPointI]
|
||||
@ -1582,7 +1567,7 @@ void Foam::autoLayerDriver::getPatchDisplacement
|
||||
|
||||
if (nPoints > 0)
|
||||
{
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
Pout<< "Displacement at illegal point "
|
||||
<< localPoints[patchPointI]
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -94,7 +94,7 @@ Foam::label Foam::autoRefineDriver::featureEdgeRefine
|
||||
(
|
||||
meshRefiner_.refineCandidates
|
||||
(
|
||||
refineParams.keepPoints()[0], // For now only use one.
|
||||
refineParams.keepPoints(),
|
||||
refineParams.curvature(),
|
||||
refineParams.planarAngle(),
|
||||
|
||||
@ -207,7 +207,7 @@ Foam::label Foam::autoRefineDriver::surfaceOnlyRefine
|
||||
(
|
||||
meshRefiner_.refineCandidates
|
||||
(
|
||||
refineParams.keepPoints()[0],
|
||||
refineParams.keepPoints(),
|
||||
refineParams.curvature(),
|
||||
refineParams.planarAngle(),
|
||||
|
||||
@ -341,7 +341,7 @@ Foam::label Foam::autoRefineDriver::gapOnlyRefine
|
||||
(
|
||||
meshRefiner_.refineCandidates
|
||||
(
|
||||
refineParams.keepPoints()[0],
|
||||
refineParams.keepPoints(),
|
||||
refineParams.curvature(),
|
||||
refineParams.planarAngle(),
|
||||
|
||||
@ -753,7 +753,7 @@ Foam::label Foam::autoRefineDriver::shellRefine
|
||||
(
|
||||
meshRefiner_.refineCandidates
|
||||
(
|
||||
refineParams.keepPoints()[0],
|
||||
refineParams.keepPoints(),
|
||||
refineParams.curvature(),
|
||||
refineParams.planarAngle(),
|
||||
|
||||
|
||||
@ -1279,7 +1279,7 @@ void Foam::autoSnapDriver::detectNearSurfaces
|
||||
|
||||
|
||||
autoPtr<OBJstream> gapStr;
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
gapStr.reset
|
||||
(
|
||||
@ -3089,7 +3089,7 @@ void Foam::autoSnapDriver::doSnap
|
||||
meshMover.setDisplacement(disp);
|
||||
|
||||
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
dumpMove
|
||||
(
|
||||
@ -3120,13 +3120,6 @@ void Foam::autoSnapDriver::doSnap
|
||||
<< " surfaces but the"
|
||||
<< " resulting mesh will not satisfy your quality"
|
||||
<< " constraints" << nl << endl;
|
||||
//Info<< "Did not succesfully snap mesh. Giving up."
|
||||
// << nl << endl;
|
||||
//
|
||||
//// Use current mesh as base mesh
|
||||
//meshMover.correct();
|
||||
//
|
||||
//break;
|
||||
}
|
||||
|
||||
if (debug&meshRefinement::MESH)
|
||||
|
||||
@ -422,7 +422,7 @@ void Foam::autoSnapDriver::calcNearestFace
|
||||
^ faceSurfaceNormal[faceI];
|
||||
}
|
||||
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
dumpMove
|
||||
(
|
||||
@ -1037,7 +1037,7 @@ void Foam::autoSnapDriver::featureAttractionUsingReconstruction
|
||||
{
|
||||
autoPtr<OBJstream> feStr;
|
||||
autoPtr<OBJstream> fpStr;
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
feStr.reset
|
||||
(
|
||||
@ -1331,7 +1331,7 @@ void Foam::autoSnapDriver::releasePointsNextToMultiPatch
|
||||
) const
|
||||
{
|
||||
autoPtr<OBJstream> multiPatchStr;
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
multiPatchStr.reset
|
||||
(
|
||||
@ -1809,7 +1809,7 @@ void Foam::autoSnapDriver::determineFeatures
|
||||
autoPtr<OBJstream> missedEdgeStr;
|
||||
autoPtr<OBJstream> featurePointStr;
|
||||
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
featureEdgeStr.reset
|
||||
(
|
||||
@ -2263,7 +2263,7 @@ void Foam::autoSnapDriver::determineBaffleFeatures
|
||||
|
||||
|
||||
autoPtr<OBJstream> baffleEdgeStr;
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
baffleEdgeStr.reset
|
||||
(
|
||||
@ -2865,7 +2865,7 @@ void Foam::autoSnapDriver::featureAttractionUsingFeatureEdges
|
||||
|
||||
|
||||
// Dump
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
OBJstream featureEdgeStr
|
||||
(
|
||||
@ -2962,7 +2962,7 @@ void Foam::autoSnapDriver::featureAttractionUsingFeatureEdges
|
||||
);
|
||||
}
|
||||
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
dumpMove
|
||||
(
|
||||
@ -3380,7 +3380,7 @@ Foam::vectorField Foam::autoSnapDriver::calcNearestSurfaceFeature
|
||||
// Re-add normal component
|
||||
tangPatchDisp += (pointNormals & patchDisp) * pointNormals;
|
||||
|
||||
if (debug&meshRefinement::OBJINTERSECTIONS)
|
||||
if (debug&meshRefinement::ATTRACTION)
|
||||
{
|
||||
dumpMove
|
||||
(
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -67,13 +67,14 @@ namespace Foam
|
||||
const char* Foam::NamedEnum
|
||||
<
|
||||
Foam::meshRefinement::IOdebugType,
|
||||
4
|
||||
5
|
||||
>::names[] =
|
||||
{
|
||||
"mesh",
|
||||
//"scalarLevels",
|
||||
"intersections",
|
||||
"featureSeeds",
|
||||
"attraction",
|
||||
"layerInfo"
|
||||
};
|
||||
|
||||
@ -102,7 +103,7 @@ namespace Foam
|
||||
|
||||
}
|
||||
|
||||
const Foam::NamedEnum<Foam::meshRefinement::IOdebugType, 4>
|
||||
const Foam::NamedEnum<Foam::meshRefinement::IOdebugType, 5>
|
||||
Foam::meshRefinement::IOdebugTypeNames;
|
||||
|
||||
const Foam::NamedEnum<Foam::meshRefinement::IOoutputType, 1>
|
||||
|
||||
@ -92,15 +92,17 @@ public:
|
||||
//IOSCALARLEVELS,
|
||||
IOOBJINTERSECTIONS,
|
||||
IOFEATURESEEDS,
|
||||
IOATTRACTION,
|
||||
IOLAYERINFO
|
||||
};
|
||||
static const NamedEnum<IOdebugType, 4> IOdebugTypeNames;
|
||||
static const NamedEnum<IOdebugType, 5> IOdebugTypeNames;
|
||||
enum debugType
|
||||
{
|
||||
MESH = 1<<IOMESH,
|
||||
//SCALARLEVELS = 1<<IOSCALARLEVELS,
|
||||
OBJINTERSECTIONS = 1<<IOOBJINTERSECTIONS,
|
||||
FEATURESEEDS = 1<<IOFEATURESEEDS,
|
||||
ATTRACTION = 1<< IOATTRACTION,
|
||||
LAYERINFO = 1<<IOLAYERINFO
|
||||
};
|
||||
|
||||
@ -256,7 +258,7 @@ private:
|
||||
// (or -1 if not passed through). Uses tracking.
|
||||
void markFeatureCellLevel
|
||||
(
|
||||
const point& keepPoint,
|
||||
const pointField& keepPoints,
|
||||
labelList& maxFeatureLevel
|
||||
) const;
|
||||
|
||||
@ -264,7 +266,7 @@ private:
|
||||
// features.
|
||||
label markFeatureRefinement
|
||||
(
|
||||
const point& keepPoint,
|
||||
const pointField& keepPoints,
|
||||
const label nAllowRefine,
|
||||
|
||||
labelList& refineCell,
|
||||
@ -779,7 +781,7 @@ public:
|
||||
//- Calculate list of cells to refine.
|
||||
labelList refineCandidates
|
||||
(
|
||||
const point& keepPoint,
|
||||
const pointField& keepPoints,
|
||||
const scalar curvature,
|
||||
const scalar planarAngle,
|
||||
|
||||
@ -914,7 +916,7 @@ public:
|
||||
//- Select coupled faces that are not collocated
|
||||
void selectSeparatedCoupledFaces(boolList&) const;
|
||||
|
||||
//- Find region cell is in. Uses optional perturbation to re-test.
|
||||
//- Find region point is in. Uses optional perturbation to re-test.
|
||||
static label findRegion
|
||||
(
|
||||
const polyMesh&,
|
||||
@ -1018,6 +1020,8 @@ public:
|
||||
const labelHashSet& set
|
||||
) const;
|
||||
|
||||
//- Merge edges, maintain mesh quality. Return global number
|
||||
// of edges merged
|
||||
label mergeEdgesUndo
|
||||
(
|
||||
const scalar minCos,
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -313,7 +313,7 @@ bool Foam::meshRefinement::markForRefine
|
||||
|
||||
void Foam::meshRefinement::markFeatureCellLevel
|
||||
(
|
||||
const point& keepPoint,
|
||||
const pointField& keepPoints,
|
||||
labelList& maxFeatureLevel
|
||||
) const
|
||||
{
|
||||
@ -345,106 +345,111 @@ void Foam::meshRefinement::markFeatureCellLevel
|
||||
// what to seed. Do this on only the processor that
|
||||
// holds the keepPoint.
|
||||
|
||||
label cellI = -1;
|
||||
label tetFaceI = -1;
|
||||
label tetPtI = -1;
|
||||
|
||||
mesh_.findCellFacePt(keepPoint, cellI, tetFaceI, tetPtI);
|
||||
|
||||
if (cellI != -1)
|
||||
forAll(keepPoints, i)
|
||||
{
|
||||
// I am the processor that holds the keepPoint
|
||||
const point& keepPoint = keepPoints[i];
|
||||
|
||||
forAll(features_, featI)
|
||||
label cellI = -1;
|
||||
label tetFaceI = -1;
|
||||
label tetPtI = -1;
|
||||
|
||||
mesh_.findCellFacePt(keepPoint, cellI, tetFaceI, tetPtI);
|
||||
|
||||
if (cellI != -1)
|
||||
{
|
||||
const edgeMesh& featureMesh = features_[featI];
|
||||
const label featureLevel = features_.levels()[featI][0];
|
||||
const labelListList& pointEdges = featureMesh.pointEdges();
|
||||
// I am the processor that holds the keepPoint
|
||||
|
||||
// Find regions on edgeMesh
|
||||
labelList edgeRegion;
|
||||
label nRegions = featureMesh.regions(edgeRegion);
|
||||
|
||||
|
||||
PackedBoolList regionVisited(nRegions);
|
||||
|
||||
|
||||
// 1. Seed all 'knots' in edgeMesh
|
||||
|
||||
|
||||
forAll(pointEdges, pointI)
|
||||
forAll(features_, featI)
|
||||
{
|
||||
if (pointEdges[pointI].size() != 2)
|
||||
const edgeMesh& featureMesh = features_[featI];
|
||||
const label featureLevel = features_.levels()[featI][0];
|
||||
const labelListList& pointEdges = featureMesh.pointEdges();
|
||||
|
||||
// Find regions on edgeMesh
|
||||
labelList edgeRegion;
|
||||
label nRegions = featureMesh.regions(edgeRegion);
|
||||
|
||||
|
||||
PackedBoolList regionVisited(nRegions);
|
||||
|
||||
|
||||
// 1. Seed all 'knots' in edgeMesh
|
||||
|
||||
|
||||
forAll(pointEdges, pointI)
|
||||
{
|
||||
if (debug&meshRefinement::FEATURESEEDS)
|
||||
if (pointEdges[pointI].size() != 2)
|
||||
{
|
||||
Pout<< "Adding particle from point:" << pointI
|
||||
<< " coord:" << featureMesh.points()[pointI]
|
||||
<< " since number of emanating edges:"
|
||||
<< pointEdges[pointI].size()
|
||||
<< endl;
|
||||
}
|
||||
if (debug&meshRefinement::FEATURESEEDS)
|
||||
{
|
||||
Pout<< "Adding particle from point:" << pointI
|
||||
<< " coord:" << featureMesh.points()[pointI]
|
||||
<< " since number of emanating edges:"
|
||||
<< pointEdges[pointI].size()
|
||||
<< endl;
|
||||
}
|
||||
|
||||
// Non-manifold point. Create particle.
|
||||
startPointCloud.addParticle
|
||||
(
|
||||
new trackedParticle
|
||||
// Non-manifold point. Create particle.
|
||||
startPointCloud.addParticle
|
||||
(
|
||||
mesh_,
|
||||
keepPoint,
|
||||
cellI,
|
||||
tetFaceI,
|
||||
tetPtI,
|
||||
featureMesh.points()[pointI], // endpos
|
||||
featureLevel, // level
|
||||
featI, // featureMesh
|
||||
pointI // end point
|
||||
)
|
||||
);
|
||||
new trackedParticle
|
||||
(
|
||||
mesh_,
|
||||
keepPoint,
|
||||
cellI,
|
||||
tetFaceI,
|
||||
tetPtI,
|
||||
featureMesh.points()[pointI], // endpos
|
||||
featureLevel, // level
|
||||
featI, // featureMesh
|
||||
pointI // end point
|
||||
)
|
||||
);
|
||||
|
||||
// Mark
|
||||
if (pointEdges[pointI].size() > 0)
|
||||
{
|
||||
label e0 = pointEdges[pointI][0];
|
||||
label regionI = edgeRegion[e0];
|
||||
regionVisited[regionI] = 1u;
|
||||
// Mark
|
||||
if (pointEdges[pointI].size() > 0)
|
||||
{
|
||||
label e0 = pointEdges[pointI][0];
|
||||
label regionI = edgeRegion[e0];
|
||||
regionVisited[regionI] = 1u;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 2. Any regions that have not been visited at all? These can
|
||||
// only be circular regions!
|
||||
forAll(featureMesh.edges(), edgeI)
|
||||
{
|
||||
if (regionVisited.set(edgeRegion[edgeI], 1u))
|
||||
// 2. Any regions that have not been visited at all? These can
|
||||
// only be circular regions!
|
||||
forAll(featureMesh.edges(), edgeI)
|
||||
{
|
||||
const edge& e = featureMesh.edges()[edgeI];
|
||||
label pointI = e.start();
|
||||
if (debug&meshRefinement::FEATURESEEDS)
|
||||
if (regionVisited.set(edgeRegion[edgeI], 1u))
|
||||
{
|
||||
Pout<< "Adding particle from point:" << pointI
|
||||
<< " coord:" << featureMesh.points()[pointI]
|
||||
<< " on circular region:" << edgeRegion[edgeI]
|
||||
<< endl;
|
||||
}
|
||||
const edge& e = featureMesh.edges()[edgeI];
|
||||
label pointI = e.start();
|
||||
if (debug&meshRefinement::FEATURESEEDS)
|
||||
{
|
||||
Pout<< "Adding particle from point:" << pointI
|
||||
<< " coord:" << featureMesh.points()[pointI]
|
||||
<< " on circular region:" << edgeRegion[edgeI]
|
||||
<< endl;
|
||||
}
|
||||
|
||||
// Non-manifold point. Create particle.
|
||||
startPointCloud.addParticle
|
||||
(
|
||||
new trackedParticle
|
||||
// Non-manifold point. Create particle.
|
||||
startPointCloud.addParticle
|
||||
(
|
||||
mesh_,
|
||||
keepPoint,
|
||||
cellI,
|
||||
tetFaceI,
|
||||
tetPtI,
|
||||
featureMesh.points()[pointI], // endpos
|
||||
featureLevel, // level
|
||||
featI, // featureMesh
|
||||
pointI // end point
|
||||
)
|
||||
);
|
||||
new trackedParticle
|
||||
(
|
||||
mesh_,
|
||||
keepPoint,
|
||||
cellI,
|
||||
tetFaceI,
|
||||
tetPtI,
|
||||
featureMesh.points()[pointI], // endpos
|
||||
featureLevel, // level
|
||||
featI, // featureMesh
|
||||
pointI // end point
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -628,7 +633,7 @@ void Foam::meshRefinement::markFeatureCellLevel
|
||||
// Calculates list of cells to refine based on intersection with feature edge.
|
||||
Foam::label Foam::meshRefinement::markFeatureRefinement
|
||||
(
|
||||
const point& keepPoint,
|
||||
const pointField& keepPoints,
|
||||
const label nAllowRefine,
|
||||
|
||||
labelList& refineCell,
|
||||
@ -637,7 +642,7 @@ Foam::label Foam::meshRefinement::markFeatureRefinement
|
||||
{
|
||||
// Largest refinement level of any feature passed through
|
||||
labelList maxFeatureLevel;
|
||||
markFeatureCellLevel(keepPoint, maxFeatureLevel);
|
||||
markFeatureCellLevel(keepPoints, maxFeatureLevel);
|
||||
|
||||
// See which cells to refine. maxFeatureLevel will hold highest level
|
||||
// of any feature edge that passed through.
|
||||
@ -2009,7 +2014,7 @@ Foam::label Foam::meshRefinement::markProximityRefinement
|
||||
// hitting overall limit maxGlobalCells.
|
||||
Foam::labelList Foam::meshRefinement::refineCandidates
|
||||
(
|
||||
const point& keepPoint,
|
||||
const pointField& keepPoints,
|
||||
const scalar curvature,
|
||||
const scalar planarAngle,
|
||||
|
||||
@ -2077,7 +2082,7 @@ Foam::labelList Foam::meshRefinement::refineCandidates
|
||||
{
|
||||
label nFeatures = markFeatureRefinement
|
||||
(
|
||||
keepPoint,
|
||||
keepPoints,
|
||||
nAllowRefine,
|
||||
|
||||
refineCell,
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
EXE_INC = \
|
||||
-DFULLDEBUG -g -O0 \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/postProcessing/functionObjects/forces/lnInclude \
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -116,7 +116,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::axis::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::axis::writeData
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::axis::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
@ -125,5 +125,4 @@ void Foam::sixDoFRigidBodyMotionConstraints::axis::writeData
|
||||
<< axis_ << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -101,8 +101,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMCCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -116,7 +116,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::line::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::line::writeData
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::line::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
@ -125,5 +125,4 @@ void Foam::sixDoFRigidBodyMotionConstraints::line::writeData
|
||||
<< dir_ << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -100,8 +100,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMCCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -96,11 +96,11 @@ bool Foam::sixDoFRigidBodyMotionConstraints::orientation::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::orientation::writeData
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::orientation::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
{}
|
||||
|
||||
{
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -94,8 +94,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMCCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -97,7 +97,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::plane::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::plane::writeData
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::plane::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
@ -106,5 +106,4 @@ void Foam::sixDoFRigidBodyMotionConstraints::plane::writeData
|
||||
<< normal_ << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -100,8 +100,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMCCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -97,7 +97,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::point::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::point::writeData
|
||||
void Foam::sixDoFRigidBodyMotionConstraints::point::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
@ -106,5 +106,4 @@ void Foam::sixDoFRigidBodyMotionConstraints::point::writeData
|
||||
<< point_ << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -103,8 +103,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMCCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -60,21 +60,14 @@ bool Foam::sixDoFRigidBodyMotionConstraint::read
|
||||
const dictionary& sDoFRBMCDict
|
||||
)
|
||||
{
|
||||
sDoFRBMCCoeffs_ = sDoFRBMCDict.subOrEmptyDict(type() + "Coeffs");
|
||||
sDoFRBMCCoeffs_ = sDoFRBMCDict;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionConstraint::write(Ostream& os) const
|
||||
{
|
||||
os << indent << word(type() + "Coeffs") << nl
|
||||
<< indent << token::BEGIN_BLOCK << nl << incrIndent;
|
||||
|
||||
writeData(os);
|
||||
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
}
|
||||
{}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -146,12 +146,8 @@ public:
|
||||
return sDoFRBMCCoeffs_;
|
||||
}
|
||||
|
||||
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -34,7 +34,10 @@ Foam::sixDoFRigidBodyMotionConstraint::New
|
||||
const dictionary& sDoFRBMCDict
|
||||
)
|
||||
{
|
||||
const word constraintType(sDoFRBMCDict.lookup(typeName));
|
||||
const word constraintType
|
||||
(
|
||||
sDoFRBMCDict.lookup("sixDoFRigidBodyMotionConstraint")
|
||||
);
|
||||
|
||||
dictionaryConstructorTable::iterator cstrIter =
|
||||
dictionaryConstructorTablePtr_->find(constraintType);
|
||||
@ -45,12 +48,11 @@ Foam::sixDoFRigidBodyMotionConstraint::New
|
||||
(
|
||||
"sixDoFRigidBodyMotionConstraint::New"
|
||||
"("
|
||||
"const word&, "
|
||||
"const dictionary&"
|
||||
"const dictionary& sDoFRBMCDict"
|
||||
")"
|
||||
) << "Unknown " << typeName << " type "
|
||||
) << "Unknown sixDoFRigidBodyMotionConstraint type "
|
||||
<< constraintType << nl << nl
|
||||
<< "Valid " << typeName << "s are : " << endl
|
||||
<< "Valid sixDoFRigidBodyMotionConstraints are : " << endl
|
||||
<< dictionaryConstructorTablePtr_->sortedToc()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -195,7 +195,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::writeData
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
@ -213,5 +213,4 @@ void Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::writeData
|
||||
<< damping_ << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -114,8 +114,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMRCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -100,7 +100,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearDamper::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::linearDamper::writeData
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::linearDamper::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -104,8 +104,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMRCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -120,7 +120,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearSpring::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::linearSpring::writeData
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::linearSpring::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
@ -141,5 +141,4 @@ void Foam::sixDoFRigidBodyMotionRestraints::linearSpring::writeData
|
||||
<< restLength_ << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -117,8 +117,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMRCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -60,21 +60,10 @@ bool Foam::sixDoFRigidBodyMotionRestraint::read
|
||||
const dictionary& sDoFRBMRDict
|
||||
)
|
||||
{
|
||||
sDoFRBMRCoeffs_ = sDoFRBMRDict.subOrEmptyDict(type() + "Coeffs");
|
||||
sDoFRBMRCoeffs_ = sDoFRBMRDict;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionRestraint::write(Ostream& os) const
|
||||
{
|
||||
os << indent << word(type() + "Coeffs") << nl
|
||||
<< indent << token::BEGIN_BLOCK << nl << incrIndent;
|
||||
|
||||
writeData(os);
|
||||
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -150,12 +150,8 @@ public:
|
||||
return sDoFRBMRCoeffs_;
|
||||
}
|
||||
|
||||
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const = 0;
|
||||
virtual void write(Ostream&) const = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -34,7 +34,10 @@ Foam::sixDoFRigidBodyMotionRestraint::New
|
||||
const dictionary& sDoFRBMRDict
|
||||
)
|
||||
{
|
||||
const word restraintType(sDoFRBMRDict.lookup(typeName));
|
||||
const word restraintType
|
||||
(
|
||||
sDoFRBMRDict.lookup("sixDoFRigidBodyMotionRestraint")
|
||||
);
|
||||
|
||||
dictionaryConstructorTable::iterator cstrIter =
|
||||
dictionaryConstructorTablePtr_->find(restraintType);
|
||||
@ -45,12 +48,11 @@ Foam::sixDoFRigidBodyMotionRestraint::New
|
||||
(
|
||||
"sixDoFRigidBodyMotionRestraint::New"
|
||||
"("
|
||||
"const word&, "
|
||||
"const dictionary&"
|
||||
"const dictionary& sDoFRBMRDict"
|
||||
")"
|
||||
) << "Unknown " << typeName << " type "
|
||||
) << "Unknown sixDoFRigidBodyMotionRestraint type "
|
||||
<< restraintType << nl << nl
|
||||
<< "Valid " << typeName << " s types are : " << endl
|
||||
<< "Valid sixDoFRigidBodyMotionRestraint types are : " << endl
|
||||
<< dictionaryConstructorTablePtr_->sortedToc()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -102,7 +102,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularDamper::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularDamper::writeData
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularDamper::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -103,8 +103,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMRCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -147,7 +147,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::writeData
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -111,8 +111,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMRCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -221,8 +221,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
|
||||
}
|
||||
|
||||
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::
|
||||
writeData
|
||||
void Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -121,8 +121,8 @@ public:
|
||||
//- Update properties from given dictionary
|
||||
virtual bool read(const dictionary& sDoFRBMRCoeff);
|
||||
|
||||
//- Write model data
|
||||
virtual void writeData(Ostream&) const;
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -60,8 +60,14 @@ void Foam::sixDoFRigidBodyMotion::write(Ostream& os) const
|
||||
os.writeKeyword("sixDoFRigidBodyMotionRestraint")
|
||||
<< restraintType << token::END_STATEMENT << nl;
|
||||
|
||||
os.writeKeyword(word(restraintType + "Coeffs")) << nl;
|
||||
|
||||
os << indent << token::BEGIN_BLOCK << nl << incrIndent;
|
||||
|
||||
restraints_[rI].write(os);
|
||||
|
||||
os << decrIndent << indent << token::END_BLOCK << nl;
|
||||
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
}
|
||||
|
||||
@ -83,8 +89,16 @@ void Foam::sixDoFRigidBodyMotion::write(Ostream& os) const
|
||||
os.writeKeyword("sixDoFRigidBodyMotionConstraint")
|
||||
<< constraintType << token::END_STATEMENT << nl;
|
||||
|
||||
constraints_[rI].sixDoFRigidBodyMotionConstraint::write(os);
|
||||
|
||||
os.writeKeyword(word(constraintType + "Coeffs")) << nl;
|
||||
|
||||
os << indent << token::BEGIN_BLOCK << nl << incrIndent;
|
||||
|
||||
constraints_[rI].write(os);
|
||||
|
||||
os << decrIndent << indent << token::END_BLOCK << nl;
|
||||
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user