mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
COMP: Multiple changes - first clean build after latest merge - UNTESTED
This commit is contained in:
@ -63,7 +63,7 @@ void Foam::meshToMesh::mapInternalSrcToTgt
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -76,7 +76,7 @@ void Foam::meshToMesh::mapInternalSrcToTgt
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -89,7 +89,7 @@ void Foam::meshToMesh::mapInternalSrcToTgt
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ void Foam::meshToMesh::mapInternalSrcToTgt
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -115,7 +115,7 @@ void Foam::meshToMesh::mapInternalSrcToTgt
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -128,7 +128,7 @@ void Foam::meshToMesh::mapInternalSrcToTgt
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -141,7 +141,7 @@ void Foam::meshToMesh::mapInternalTgtToSrc
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -154,7 +154,7 @@ void Foam::meshToMesh::mapInternalTgtToSrc
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -167,7 +167,7 @@ void Foam::meshToMesh::mapInternalTgtToSrc
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -180,7 +180,7 @@ void Foam::meshToMesh::mapInternalTgtToSrc
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -193,7 +193,7 @@ void Foam::meshToMesh::mapInternalTgtToSrc
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
@ -206,7 +206,7 @@ void Foam::meshToMesh::mapInternalTgtToSrc
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapSrcToTgt(field, cop, result.internalField());
|
||||
mapSrcToTgt(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -554,7 +554,7 @@ void Foam::meshToMesh::mapSrcToTgt
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapInternalSrcToTgt(field, cop, result.primitiveFieldRef(), secondOrder);
|
||||
mapInternalSrcToTgt(field, cop, result, secondOrder);
|
||||
|
||||
const PtrList<AMIPatchToPatchInterpolation>& AMIList = patchAMIs();
|
||||
|
||||
@ -751,14 +751,14 @@ void Foam::meshToMesh::mapInternalTgtToSrc
|
||||
mapTgtToSrc
|
||||
(
|
||||
field,
|
||||
fvc::grad(field)().internalField(),
|
||||
fvc::grad(field)().primitiveField(),
|
||||
cop,
|
||||
result.internalField()
|
||||
result.primitiveFieldRef()
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
mapTgtToSrc(field, cop, result.internalField());
|
||||
mapTgtToSrc(field, cop, result.primitiveFieldRef());
|
||||
}
|
||||
}
|
||||
|
||||
@ -784,27 +784,6 @@ void Foam::meshToMesh::mapAndOpTgtToSrc
|
||||
}
|
||||
|
||||
|
||||
template<class Type, class CombineOp>
|
||||
void Foam::meshToMesh::mapAndOpTgtToSrc
|
||||
(
|
||||
const AMIPatchToPatchInterpolation& AMI,
|
||||
Field<Type>& srcField,
|
||||
const Field<Type>& tgtField,
|
||||
const CombineOp& cop
|
||||
) const
|
||||
{
|
||||
srcField = pTraits<Type>::zero;
|
||||
|
||||
AMI.interpolateToSource
|
||||
(
|
||||
tgtField,
|
||||
multiplyWeightedOp<Type, CombineOp>(cop),
|
||||
srcField,
|
||||
UList<Type>::null()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
template<class Type, class CombineOp>
|
||||
void Foam::meshToMesh::mapTgtToSrc
|
||||
(
|
||||
@ -814,7 +793,7 @@ void Foam::meshToMesh::mapTgtToSrc
|
||||
const bool secondOrder
|
||||
) const
|
||||
{
|
||||
mapInternalTgtToSrc(field, cop, result.primitiveFieldRef(), secondOrder);
|
||||
mapInternalTgtToSrc(field, cop, result, secondOrder);
|
||||
|
||||
const PtrList<AMIPatchToPatchInterpolation>& AMIList = patchAMIs();
|
||||
|
||||
|
||||
@ -1,51 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Typedef
|
||||
Foam::IOprobes
|
||||
|
||||
Description
|
||||
Instance of the generic IOOutputFilter for probes.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef IOprobes_H
|
||||
#define IOprobes_H
|
||||
|
||||
#include "probes.H"
|
||||
#include "patchProbes.H"
|
||||
#include "IOOutputFilter.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
typedef IOOutputFilter<probes> IOprobes;
|
||||
typedef IOOutputFilter<patchProbes> IOpatchProbes;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -154,10 +154,10 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
|
||||
(
|
||||
true,
|
||||
facePt,
|
||||
faceI
|
||||
facei
|
||||
);
|
||||
|
||||
sampleInfo.second().first() = magSqr(facePt-sample);
|
||||
sampleInfo.second().first() = magSqr(facePt - sample);
|
||||
sampleInfo.second().second() = Pstream::myProcNo();
|
||||
|
||||
nearest[probei]= sampleInfo;
|
||||
@ -172,24 +172,24 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
|
||||
|
||||
|
||||
// Update actual probe locations
|
||||
forAll(nearest, sampleI)
|
||||
forAll(nearest, samplei)
|
||||
{
|
||||
operator[](sampleI) = nearest[sampleI].first().rawPoint();
|
||||
operator[](samplei) = nearest[samplei].first().rawPoint();
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
InfoInFunction << endl;
|
||||
forAll(nearest, sampleI)
|
||||
forAll(nearest, samplei)
|
||||
{
|
||||
label proci = nearest[sampleI].second().second();
|
||||
label localI = nearest[sampleI].first().index();
|
||||
label proci = nearest[samplei].second().second();
|
||||
label locali = nearest[samplei].first().index();
|
||||
|
||||
Info<< " " << sampleI << " coord:"<< operator[](sampleI)
|
||||
<< " found on processor:" << procI
|
||||
<< " in local face:" << localI
|
||||
<< " with location:" << nearest[sampleI].first().rawPoint()
|
||||
Info<< " " << samplei << " coord:"<< operator[](samplei)
|
||||
<< " found on processor:" << proci
|
||||
<< " in local face:" << locali
|
||||
<< " with location:" << nearest[samplei].first().rawPoint()
|
||||
<< endl;
|
||||
}
|
||||
}
|
||||
@ -212,31 +212,23 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
|
||||
}
|
||||
|
||||
|
||||
void Foam::patchProbes::readDict(const dictionary& dict)
|
||||
{
|
||||
probes::readDict(dict);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::patchProbes::patchProbes
|
||||
(
|
||||
const word& name,
|
||||
const Time& t,
|
||||
const dictionary& dict
|
||||
const dictionary& dict,
|
||||
const bool loadFromFiles,
|
||||
const bool readFields
|
||||
)
|
||||
:
|
||||
probes(name, t, dict)
|
||||
probes(name, t, dict, loadFromFiles, false)
|
||||
{
|
||||
// When constructing probes above it will have called the
|
||||
// probes::findElements (since the virtual mechanism not yet operating).
|
||||
// Not easy to workaround (apart from feeding through flag into constructor)
|
||||
// so clear out any cells found for now.
|
||||
elementList_.clear();
|
||||
faceList_.clear();
|
||||
|
||||
read(dict);
|
||||
if (readFields)
|
||||
{
|
||||
read(dict);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -246,7 +238,7 @@ Foam::patchProbes::patchProbes
|
||||
const objectRegistry& obr,
|
||||
const dictionary& dict,
|
||||
const bool loadFromFiles,
|
||||
) const bool readFields
|
||||
const bool readFields
|
||||
)
|
||||
:
|
||||
probes(name, obr, dict, loadFromFiles, false)
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -147,9 +147,6 @@ protected:
|
||||
//- Find elements containing patchProbes
|
||||
virtual void findElements(const fvMesh&);
|
||||
|
||||
//- Read dictionary settings
|
||||
void readDict(const dictionary& dict);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@ -173,7 +170,9 @@ public:
|
||||
(
|
||||
const word& name,
|
||||
const Time& time,
|
||||
const dictionary& dict
|
||||
const dictionary& dict,
|
||||
const bool loadFromFiles = false,
|
||||
const bool readFields = true
|
||||
);
|
||||
|
||||
//- Construct for given objectRegistry and dictionary.
|
||||
@ -184,7 +183,7 @@ public:
|
||||
const objectRegistry&,
|
||||
const dictionary&,
|
||||
const bool loadFromFiles = false,
|
||||
const bool findElements = true
|
||||
const bool readFields = true
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -208,11 +208,7 @@ Foam::patchProbes::sample
|
||||
|
||||
forAll(*this, probei)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
label faceI = faceList_[probeI];
|
||||
=======
|
||||
label facei = elementList_[probei];
|
||||
>>>>>>> foundation-github
|
||||
label facei = faceList_[probei];
|
||||
|
||||
if (facei >= 0)
|
||||
{
|
||||
@ -263,11 +259,7 @@ Foam::patchProbes::sample
|
||||
|
||||
forAll(*this, probei)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
label faceI = faceList_[probeI];
|
||||
=======
|
||||
label facei = elementList_[probei];
|
||||
>>>>>>> foundation-github
|
||||
label facei = faceList_[probei];
|
||||
|
||||
if (facei >= 0)
|
||||
{
|
||||
|
||||
@ -214,7 +214,7 @@ Foam::label Foam::probes::prepare()
|
||||
{
|
||||
if (!currentFields.erase(iter.key()))
|
||||
{
|
||||
DdebugInfo<< "close probe stream: " << iter()->name() << endl;
|
||||
DebugInfo<< "close probe stream: " << iter()->name() << endl;
|
||||
|
||||
delete probeFilePtrs_.remove(iter);
|
||||
}
|
||||
@ -267,18 +267,33 @@ Foam::label Foam::probes::prepare()
|
||||
Foam::probes::probes
|
||||
(
|
||||
const word& name,
|
||||
const Time& t,
|
||||
const dictionary& dict
|
||||
const Time& runTime,
|
||||
const dictionary& dict,
|
||||
const bool loadFromFiles,
|
||||
const bool readFields
|
||||
)
|
||||
:
|
||||
fvMeshFunctionObject(t, name),
|
||||
functionObject(name),
|
||||
pointField(0),
|
||||
loadFromFiles_(false),
|
||||
mesh_
|
||||
(
|
||||
refCast<const fvMesh>
|
||||
(
|
||||
runTime.lookupObject<objectRegistry>
|
||||
(
|
||||
dict.lookupOrDefault("region", polyMesh::defaultRegion)
|
||||
)
|
||||
)
|
||||
),
|
||||
loadFromFiles_(loadFromFiles),
|
||||
fieldSelection_(),
|
||||
fixedLocations_(true),
|
||||
interpolationScheme_("cell")
|
||||
{
|
||||
read(dict);
|
||||
if (readFields)
|
||||
{
|
||||
read(dict);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -291,8 +306,9 @@ Foam::probes::probes
|
||||
const bool readFields
|
||||
)
|
||||
:
|
||||
fvMeshFunctionObject(obr, name),
|
||||
functionObject(name),
|
||||
pointField(0),
|
||||
mesh_(refCast<const fvMesh>(obr)),
|
||||
loadFromFiles_(loadFromFiles),
|
||||
fieldSelection_(),
|
||||
fixedLocations_(true),
|
||||
@ -393,7 +409,7 @@ void Foam::probes::updateMesh(const mapPolyMesh& mpm)
|
||||
label celli = elementList_[i];
|
||||
if (celli != -1)
|
||||
{
|
||||
label newCelli = reverseMap[cellI];
|
||||
label newCelli = reverseMap[celli];
|
||||
if (newCelli == -1)
|
||||
{
|
||||
// cell removed
|
||||
|
||||
@ -76,7 +76,7 @@ SourceFiles
|
||||
#ifndef probes_H
|
||||
#define probes_H
|
||||
|
||||
#include "fvMeshFunctionObject.H"
|
||||
#include "functionObject.H"
|
||||
#include "HashPtrTable.H"
|
||||
#include "OFstream.H"
|
||||
#include "polyMesh.H"
|
||||
@ -104,7 +104,7 @@ class mapPolyMesh;
|
||||
|
||||
class probes
|
||||
:
|
||||
public fvMeshFunctionObject,
|
||||
public functionObject,
|
||||
public pointField
|
||||
{
|
||||
protected:
|
||||
@ -128,6 +128,9 @@ protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
//- Const reference to fvMesh
|
||||
const fvMesh& mesh_;
|
||||
|
||||
//- Load fields from files (not from objectRegistry)
|
||||
bool loadFromFiles_;
|
||||
|
||||
@ -236,7 +239,9 @@ public:
|
||||
(
|
||||
const word& name,
|
||||
const Time& runTime,
|
||||
const dictionary& dict
|
||||
const dictionary& dict,
|
||||
const bool loadFromFiles = false,
|
||||
const bool readFields = true
|
||||
);
|
||||
|
||||
//- Construct for given objectRegistry and dictionary.
|
||||
@ -246,7 +251,7 @@ public:
|
||||
const word& name,
|
||||
const objectRegistry& obr,
|
||||
const dictionary& dict,
|
||||
const bool loadFromFiles = false
|
||||
const bool loadFromFiles = false,
|
||||
const bool readFields = true
|
||||
);
|
||||
|
||||
|
||||
@ -115,7 +115,7 @@ Foam::label Foam::probes::classifyFields()
|
||||
|
||||
if (loadFromFiles_)
|
||||
{
|
||||
// check files for a particular time
|
||||
// Check files for a particular time
|
||||
IOobjectList objects(mesh_, mesh_.time().timeName());
|
||||
wordList allFields = objects.sortedNames();
|
||||
|
||||
@ -134,7 +134,7 @@ Foam::label Foam::probes::classifyFields()
|
||||
}
|
||||
else
|
||||
{
|
||||
// check currently available fields
|
||||
// Check currently available fields
|
||||
wordList allFields = mesh_.sortedNames();
|
||||
labelList indices = findStrings(fieldSelection_, allFields);
|
||||
|
||||
@ -153,4 +153,5 @@ Foam::label Foam::probes::classifyFields()
|
||||
return nFields;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -1,49 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Typedef
|
||||
Foam::IOsampledSets
|
||||
|
||||
Description
|
||||
Instance of the generic IOOutputFilter for sampledSets.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef IOsampledSets_H
|
||||
#define IOsampledSets_H
|
||||
|
||||
#include "sampledSets.H"
|
||||
#include "IOOutputFilter.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
typedef IOOutputFilter<sampledSets> IOsampledSets;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -141,22 +141,13 @@ void Foam::sampledSets::combineSampledSets
|
||||
Foam::sampledSets::sampledSets
|
||||
(
|
||||
const word& name,
|
||||
const Time& t,
|
||||
const Time& runTime,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
functionObject(name),
|
||||
functionObjects::regionFunctionObject(name, runTime, dict),
|
||||
PtrList<sampledSet>(),
|
||||
mesh_
|
||||
(
|
||||
refCast<const fvMesh>
|
||||
(
|
||||
t.lookupObject<objectRegistry>
|
||||
(
|
||||
dict.lookupOrDefault("region", polyMesh::defaultRegion)
|
||||
)
|
||||
)
|
||||
),
|
||||
mesh_(refCast<const fvMesh>(obr_)),
|
||||
loadFromFiles_(false),
|
||||
outputPath_(fileName::null),
|
||||
searchEngine_(mesh_),
|
||||
@ -188,7 +179,7 @@ Foam::sampledSets::sampledSets
|
||||
const bool loadFromFiles
|
||||
)
|
||||
:
|
||||
stateFunctionObject(obr, name),
|
||||
functionObjects::regionFunctionObject(name, obr, dict),
|
||||
PtrList<sampledSet>(),
|
||||
mesh_(refCast<const fvMesh>(obr)),
|
||||
loadFromFiles_(loadFromFiles),
|
||||
|
||||
@ -62,7 +62,7 @@ class fvMesh;
|
||||
|
||||
class sampledSets
|
||||
:
|
||||
public regionFunctionObject,
|
||||
public functionObjects::regionFunctionObject,
|
||||
public PtrList<sampledSet>
|
||||
{
|
||||
// Private classes
|
||||
|
||||
@ -1257,7 +1257,7 @@ void Foam::isoSurface::trimToBox
|
||||
}
|
||||
|
||||
|
||||
bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
|
||||
bool Foam::isoSurface::validTri(const triSurface& surf, const label facei)
|
||||
{
|
||||
// Simple check on indices ok.
|
||||
|
||||
@ -1407,6 +1407,7 @@ Foam::isoSurface::isoSurface
|
||||
const scalarField& pVals,
|
||||
const scalar iso,
|
||||
const bool regularise,
|
||||
const boundBox& bounds,
|
||||
const scalar mergeTol
|
||||
)
|
||||
:
|
||||
@ -1414,6 +1415,7 @@ Foam::isoSurface::isoSurface
|
||||
pVals_(pVals),
|
||||
iso_(iso),
|
||||
regularise_(regularise),
|
||||
bounds_(bounds),
|
||||
mergeDistance_(mergeTol*mesh_.bounds().mag())
|
||||
{
|
||||
if (debug)
|
||||
|
||||
@ -378,7 +378,7 @@ class isoSurface
|
||||
);
|
||||
|
||||
//- Check single triangle for (topological) validity
|
||||
static bool validTri(const triSurface&, const label);
|
||||
static bool validTri(const triSurface&, const label facei);
|
||||
|
||||
static triSurface subsetMesh
|
||||
(
|
||||
|
||||
@ -1,49 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Typedef
|
||||
Foam::IOsampledSurfaces
|
||||
|
||||
Description
|
||||
Instance of the generic IOOutputFilter for sampledSurfaces.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef IOsampledSurfaces_H
|
||||
#define IOsampledSurfaces_H
|
||||
|
||||
#include "sampledSurfaces.H"
|
||||
#include "IOOutputFilter.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
typedef IOOutputFilter<sampledSurfaces> IOsampledSurfaces;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -96,12 +96,13 @@ void Foam::sampledSurfaces::writeGeometry() const
|
||||
Foam::sampledSurfaces::sampledSurfaces
|
||||
(
|
||||
const word& name,
|
||||
const Time& t,
|
||||
const Time& runTime,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
regionFunctionObject(t, name),
|
||||
functionObjects::regionFunctionObject(name, runTime, dict),
|
||||
PtrList<sampledSurface>(),
|
||||
mesh_(refCast<const fvMesh>(obr_)),
|
||||
loadFromFiles_(false),
|
||||
outputPath_(fileName::null),
|
||||
fieldSelection_(),
|
||||
@ -130,8 +131,9 @@ Foam::sampledSurfaces::sampledSurfaces
|
||||
const bool loadFromFiles
|
||||
)
|
||||
:
|
||||
regionFunctionObject(obr, name),
|
||||
functionObjects::regionFunctionObject(name, obr, dict),
|
||||
PtrList<sampledSurface>(),
|
||||
mesh_(refCast<const fvMesh>(obr)),
|
||||
loadFromFiles_(loadFromFiles),
|
||||
outputPath_(fileName::null),
|
||||
fieldSelection_(),
|
||||
@ -143,11 +145,11 @@ Foam::sampledSurfaces::sampledSurfaces
|
||||
|
||||
if (Pstream::parRun())
|
||||
{
|
||||
outputPath_ = time_.path()/".."/"postProcessing"/name_;
|
||||
outputPath_ = time_.path()/".."/"postProcessing"/name;
|
||||
}
|
||||
else
|
||||
{
|
||||
outputPath_ = time_.path()/"postProcessing"/name_;
|
||||
outputPath_ = time_.path()/"postProcessing"/name;
|
||||
}
|
||||
|
||||
read(dict);
|
||||
|
||||
@ -61,7 +61,7 @@ class dictionary;
|
||||
|
||||
class sampledSurfaces
|
||||
:
|
||||
public regionFunctionObject,
|
||||
public functionObjects::regionFunctionObject,
|
||||
public PtrList<sampledSurface>
|
||||
{
|
||||
// Private classes
|
||||
@ -95,6 +95,9 @@ class sampledSurfaces
|
||||
|
||||
// Private data
|
||||
|
||||
//- Const reference to fvMesh
|
||||
const fvMesh& mesh_;
|
||||
|
||||
//- Load fields from files (not from objectRegistry)
|
||||
const bool loadFromFiles_;
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -28,7 +28,6 @@ License
|
||||
#include "IOmanip.H"
|
||||
#include "Time.H"
|
||||
#include "pointIOField.H"
|
||||
#include "AverageIOField.H"
|
||||
#include "primitivePatch.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
@ -113,30 +112,9 @@ Foam::fileName Foam::boundaryDataSurfaceWriter::writeTemplate
|
||||
|
||||
// Write field
|
||||
{
|
||||
AverageIOField<Type> vals
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
baseDir/timeName/fieldName,
|
||||
dummyTime,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
),
|
||||
Type(Zero),
|
||||
values
|
||||
);
|
||||
|
||||
// Do like regIOobject::writeObject but don't do instance() adaptation
|
||||
// since this would write to e.g. 0/ instead of postProcessing/
|
||||
|
||||
// Try opening an OFstream for object
|
||||
mkDir(vals.path());
|
||||
OFstream os(vals.objectPath());
|
||||
|
||||
vals.writeHeader(os);
|
||||
vals.writeData(os);
|
||||
vals.writeEndDivider(os);
|
||||
fileName valsFile(baseDir/timeName/fieldName);
|
||||
OFstream os(valsFile);
|
||||
os << values;
|
||||
}
|
||||
|
||||
return baseDir;
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -38,49 +38,6 @@ namespace Foam
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class Type>
|
||||
void Foam::foamSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
fileName surfaceDir(outputDir/surfaceName);
|
||||
|
||||
if (!isDir(surfaceDir))
|
||||
{
|
||||
mkDir(surfaceDir);
|
||||
}
|
||||
|
||||
if (verbose)
|
||||
{
|
||||
Info<< "Writing field " << fieldName << " to " << surfaceDir << endl;
|
||||
}
|
||||
|
||||
// geometry should already have been written
|
||||
// Values to separate directory (e.g. "scalarField/p")
|
||||
|
||||
fileName foamName(pTraits<Type>::typeName);
|
||||
fileName valuesDir(surfaceDir / (foamName + Field<Type>::typeName));
|
||||
|
||||
if (!isDir(valuesDir))
|
||||
{
|
||||
mkDir(valuesDir);
|
||||
}
|
||||
|
||||
// values
|
||||
OFstream(valuesDir/fieldName)() << values;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::foamSurfaceWriter::foamSurfaceWriter()
|
||||
@ -97,7 +54,7 @@ Foam::foamSurfaceWriter::~foamSurfaceWriter()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::foamSurfaceWriter::write
|
||||
Foam::fileName Foam::foamSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
@ -127,7 +84,7 @@ void Foam::foamSurfaceWriter::write
|
||||
|
||||
// Face centers. Not really necessary but very handy when reusing as inputs
|
||||
// for e.g. timeVaryingMapped bc.
|
||||
pointField faceCentres(faces.size(),point::zero);
|
||||
pointField faceCentres(faces.size(), Zero);
|
||||
|
||||
forAll(faces, facei)
|
||||
{
|
||||
@ -135,6 +92,8 @@ void Foam::foamSurfaceWriter::write
|
||||
}
|
||||
|
||||
OFstream(surfaceDir/"faceCentres")() << faceCentres;
|
||||
|
||||
return surfaceDir;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::foamSurfaceWriter
|
||||
|
||||
Description
|
||||
A surfaceWriter for foams
|
||||
A surfaceWriter for OpenFOAM surfaces
|
||||
|
||||
SourceFiles
|
||||
foamSurfaceWriter.C
|
||||
@ -182,7 +182,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "foamFileSurfaceWriterTemplates.C"
|
||||
#include "foamSurfaceWriterTemplates.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -29,7 +29,7 @@ License
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class Type>
|
||||
Foam::fileName Foam::foamFileSurfaceWriter::writeTemplate
|
||||
Foam::fileName Foam::foamSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
Reference in New Issue
Block a user