mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: use meshedSurf API for surface writers (issue #104)
- Allows passing of additional information (per-face zone ids) or possibly other things, while reducing the number of arguments to pass. - In sampledTriSurfaceMesh, preserve the region information that was read in, passing it onwards via the UnsortedMeshSurface content. The Nastran surface writer is currently the only writer making use of this per-face zone information. Passing it through as a PSHELL attribute, which should retain the distinction for parts. (issue #204)
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -289,8 +289,11 @@ Foam::tmp<Foam::triSurfacePointScalarField> Foam::automatic::load()
|
||||
(
|
||||
surface_.searchableSurface::time().constant()/"triSurface",
|
||||
surfaceName_.lessExt().name(),
|
||||
meshedSurfRef
|
||||
(
|
||||
surface_.points(),
|
||||
faces,
|
||||
faces
|
||||
),
|
||||
"cellSize",
|
||||
pointCellSize,
|
||||
true,
|
||||
|
||||
@ -9,5 +9,4 @@ EXE_INC = \
|
||||
EXE_LIBS = \
|
||||
-lmeshTools \
|
||||
-lsampling \
|
||||
-lsurfMesh \
|
||||
-ldynamicMesh
|
||||
|
||||
@ -1019,8 +1019,11 @@ Foam::label Foam::checkGeometry
|
||||
(
|
||||
"postProcessing",
|
||||
"src_" + tmName,
|
||||
meshedSurfRef
|
||||
(
|
||||
mergedPoints,
|
||||
mergedFaces,
|
||||
mergedFaces
|
||||
),
|
||||
"weightsSum",
|
||||
mergedWeights,
|
||||
false
|
||||
@ -1066,8 +1069,11 @@ Foam::label Foam::checkGeometry
|
||||
(
|
||||
"postProcessing",
|
||||
"tgt_" + tmName,
|
||||
meshedSurfRef
|
||||
(
|
||||
mergedPoints,
|
||||
mergedFaces,
|
||||
mergedFaces
|
||||
),
|
||||
"weightsSum",
|
||||
mergedWeights,
|
||||
false
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -42,6 +42,7 @@ License
|
||||
#include "globalIndex.H"
|
||||
#include "PatchTools.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::printMeshStats(const polyMesh& mesh, const bool allTopology)
|
||||
{
|
||||
@ -238,7 +239,16 @@ void Foam::mergeAndWrite
|
||||
// Write
|
||||
if (Pstream::master())
|
||||
{
|
||||
writer.write(outputDir, name, mergedPoints, mergedFaces);
|
||||
writer.write
|
||||
(
|
||||
outputDir,
|
||||
name,
|
||||
meshedSurfRef
|
||||
(
|
||||
mergedPoints,
|
||||
mergedFaces
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -247,8 +257,11 @@ void Foam::mergeAndWrite
|
||||
(
|
||||
outputDir,
|
||||
name,
|
||||
meshedSurfRef
|
||||
(
|
||||
setPatch.localPoints(),
|
||||
setPatch.localFaces()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/surfMesh/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
|
||||
@ -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.
|
||||
@ -95,8 +95,11 @@ void writeWeights
|
||||
(
|
||||
directory,
|
||||
prefix + "_" + timeName,
|
||||
meshedSurfRef
|
||||
(
|
||||
mergedPoints,
|
||||
mergedFaces,
|
||||
mergedFaces
|
||||
),
|
||||
"weightsSum",
|
||||
mergedWeights,
|
||||
false
|
||||
|
||||
@ -7,5 +7,4 @@ EXE_INC = \
|
||||
EXE_LIBS = \
|
||||
-lsampling \
|
||||
-ltriSurface \
|
||||
-lsurfMesh \
|
||||
-lmeshTools
|
||||
|
||||
@ -228,8 +228,11 @@ void writeZoning
|
||||
(
|
||||
surfFilePath,
|
||||
surfFileNameBase,
|
||||
meshedSurfRef
|
||||
(
|
||||
surf.points(),
|
||||
faces,
|
||||
faces
|
||||
),
|
||||
fieldName,
|
||||
scalarFaceZone,
|
||||
false // face based data
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -1643,8 +1643,11 @@ int main(int argc, char *argv[])
|
||||
(
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
meshedSurfRef
|
||||
(
|
||||
surf.points(),
|
||||
faces,
|
||||
faces
|
||||
),
|
||||
"internalCloseness", // fieldName
|
||||
internalCloseness,
|
||||
false, // isNodeValues
|
||||
@ -1655,8 +1658,11 @@ int main(int argc, char *argv[])
|
||||
(
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
meshedSurfRef
|
||||
(
|
||||
surf.points(),
|
||||
faces,
|
||||
faces
|
||||
),
|
||||
"externalCloseness", // fieldName
|
||||
externalCloseness,
|
||||
false, // isNodeValues
|
||||
@ -1691,8 +1697,11 @@ int main(int argc, char *argv[])
|
||||
(
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
meshedSurfRef
|
||||
(
|
||||
surf.points(),
|
||||
faces,
|
||||
faces
|
||||
),
|
||||
"curvature", // fieldName
|
||||
k,
|
||||
true, // isNodeValues
|
||||
@ -1769,8 +1778,11 @@ int main(int argc, char *argv[])
|
||||
(
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
meshedSurfRef
|
||||
(
|
||||
surf.points(),
|
||||
faces,
|
||||
faces
|
||||
),
|
||||
"featureProximity", // fieldName
|
||||
featureProximity,
|
||||
false, // isNodeValues
|
||||
|
||||
@ -328,8 +328,11 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::writeValues
|
||||
(
|
||||
outputDir(),
|
||||
regionTypeNames_[regionType_] + ("_" + regionName_),
|
||||
meshedSurfRef
|
||||
(
|
||||
points,
|
||||
faces,
|
||||
faces
|
||||
),
|
||||
fieldName,
|
||||
allValues,
|
||||
false
|
||||
|
||||
@ -17,6 +17,7 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
||||
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/surfMesh/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
|
||||
@ -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.
|
||||
@ -204,8 +204,7 @@ void Foam::FacePostProcessing<CloudType>::write()
|
||||
(
|
||||
this->writeTimeDir(),
|
||||
fZone.name(),
|
||||
allPoints,
|
||||
allFaces,
|
||||
meshedSurfRef(allPoints, allFaces),
|
||||
"massTotal",
|
||||
zoneMassTotal[zoneI],
|
||||
false
|
||||
@ -215,8 +214,7 @@ void Foam::FacePostProcessing<CloudType>::write()
|
||||
(
|
||||
this->writeTimeDir(),
|
||||
fZone.name(),
|
||||
allPoints,
|
||||
allFaces,
|
||||
meshedSurfRef(allPoints, allFaces),
|
||||
"massFlowRate",
|
||||
zoneMassFlowRate[zoneI],
|
||||
false
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -409,10 +409,10 @@ void Foam::ParticleCollector<CloudType>::write()
|
||||
|
||||
Info<< type() << " output:" << nl;
|
||||
|
||||
Field<scalar> faceMassTotal(mass_.size(), 0.0);
|
||||
Field<scalar> faceMassTotal(mass_.size(), Zero);
|
||||
this->getModelProperty("massTotal", faceMassTotal);
|
||||
|
||||
Field<scalar> faceMassFlowRate(massFlowRate_.size(), 0.0);
|
||||
Field<scalar> faceMassFlowRate(massFlowRate_.size(), Zero);
|
||||
this->getModelProperty("massFlowRate", faceMassFlowRate);
|
||||
|
||||
|
||||
@ -467,8 +467,7 @@ void Foam::ParticleCollector<CloudType>::write()
|
||||
(
|
||||
this->writeTimeDir(),
|
||||
"collector",
|
||||
points_,
|
||||
faces_,
|
||||
meshedSurfRef(points_, faces_),
|
||||
"massTotal",
|
||||
faceMassTotal,
|
||||
false
|
||||
@ -478,8 +477,7 @@ void Foam::ParticleCollector<CloudType>::write()
|
||||
(
|
||||
this->writeTimeDir(),
|
||||
"collector",
|
||||
points_,
|
||||
faces_,
|
||||
meshedSurfRef(points_, faces_),
|
||||
"massFlowRate",
|
||||
faceMassFlowRate,
|
||||
false
|
||||
@ -490,7 +488,7 @@ void Foam::ParticleCollector<CloudType>::write()
|
||||
|
||||
if (resetOnWrite_)
|
||||
{
|
||||
Field<scalar> dummy(faceMassTotal.size(), 0.0);
|
||||
Field<scalar> dummy(faceMassTotal.size(), Zero);
|
||||
this->setModelProperty("massTotal", dummy);
|
||||
this->setModelProperty("massFlowRate", dummy);
|
||||
|
||||
|
||||
@ -22,6 +22,7 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
||||
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/surfMesh/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
|
||||
@ -290,12 +290,16 @@ Foam::scalar surfaceNoise::writeSurfaceData
|
||||
}
|
||||
}
|
||||
|
||||
// could also have meshedSurface implement meshedSurf
|
||||
fileName outFileName = writerPtr_->write
|
||||
(
|
||||
outDir,
|
||||
fName,
|
||||
meshedSurfRef
|
||||
(
|
||||
surf.points(),
|
||||
surf.surfFaces(),
|
||||
surf.surfFaces()
|
||||
),
|
||||
title,
|
||||
allData,
|
||||
false
|
||||
@ -313,12 +317,16 @@ Foam::scalar surfaceNoise::writeSurfaceData
|
||||
{
|
||||
const meshedSurface& surf = readerPtr_->geometry();
|
||||
|
||||
// could also have meshedSurface implement meshedSurf
|
||||
writerPtr_->write
|
||||
(
|
||||
outDir,
|
||||
fName,
|
||||
meshedSurfRef
|
||||
(
|
||||
surf.points(),
|
||||
surf.surfFaces(),
|
||||
surf.surfFaces()
|
||||
),
|
||||
title,
|
||||
data,
|
||||
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.
|
||||
@ -193,6 +193,12 @@ public:
|
||||
return facesPtr_;
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return Foam::emptyLabelList;
|
||||
}
|
||||
|
||||
//- Face area vectors
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
@ -212,6 +218,7 @@ public:
|
||||
}
|
||||
|
||||
|
||||
//- The underlying surface
|
||||
const triSurface& surface() const
|
||||
{
|
||||
if (cell_)
|
||||
|
||||
@ -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.
|
||||
@ -199,6 +199,12 @@ public:
|
||||
return facesPtr_;
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return Foam::emptyLabelList;
|
||||
}
|
||||
|
||||
//- Face area magnitudes
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
|
||||
@ -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.
|
||||
@ -168,6 +168,12 @@ public:
|
||||
return facesPtr_;
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return Foam::emptyLabelList;
|
||||
}
|
||||
|
||||
//- Face area magnitudes
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
|
||||
@ -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.
|
||||
@ -182,6 +182,12 @@ public:
|
||||
return facesPtr_;
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return Foam::emptyLabelList;
|
||||
}
|
||||
|
||||
//- Face area magnitudes
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
|
||||
@ -180,6 +180,12 @@ public:
|
||||
return MeshStorage::surfFaces();
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return Foam::emptyLabelList;
|
||||
}
|
||||
|
||||
//- Face area vectors
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
|
||||
@ -140,6 +140,13 @@ public:
|
||||
return cuttingPlane::surfFaces();
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
// Could instead return meshCells or cellZoneId of the meshCells.
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return Foam::emptyLabelList;
|
||||
}
|
||||
|
||||
//- Face area magnitudes
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
|
||||
@ -52,7 +52,7 @@ SourceFiles
|
||||
#ifndef sampledSurface_H
|
||||
#define sampledSurface_H
|
||||
|
||||
#include "pointField.H"
|
||||
#include "meshedSurf.H"
|
||||
#include "word.H"
|
||||
#include "labelList.H"
|
||||
#include "faceList.H"
|
||||
@ -83,6 +83,8 @@ Ostream& operator<<(Ostream&, const sampledSurface&);
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class sampledSurface
|
||||
:
|
||||
public meshedSurf
|
||||
{
|
||||
// Private data
|
||||
|
||||
|
||||
@ -72,20 +72,17 @@ void Foam::sampledSurfaces::writeGeometry() const
|
||||
(
|
||||
outputDir,
|
||||
s.name(),
|
||||
meshedSurfRef
|
||||
(
|
||||
mergeList_[surfI].points,
|
||||
mergeList_[surfI].faces
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
else if (s.faces().size())
|
||||
{
|
||||
formatter_->write
|
||||
(
|
||||
outputDir,
|
||||
s.name(),
|
||||
s.points(),
|
||||
s.faces()
|
||||
);
|
||||
formatter_->write(outputDir, s.name(), s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
@ -79,8 +79,11 @@ void Foam::sampledSurfaces::writeSurface
|
||||
(
|
||||
outputDir,
|
||||
s.name(),
|
||||
meshedSurfRef
|
||||
(
|
||||
mergeList_[surfI].points,
|
||||
mergeList_[surfI].faces,
|
||||
mergeList_[surfI].faces
|
||||
),
|
||||
fieldName,
|
||||
allValues,
|
||||
s.interpolate()
|
||||
@ -106,8 +109,7 @@ void Foam::sampledSurfaces::writeSurface
|
||||
(
|
||||
outputDir,
|
||||
s.name(),
|
||||
s.points(),
|
||||
s.faces(),
|
||||
s,
|
||||
fieldName,
|
||||
values,
|
||||
s.interpolate()
|
||||
|
||||
@ -305,9 +305,13 @@ bool Foam::sampledTriSurfaceMesh::update(const meshSearch& meshSearcher)
|
||||
// Create faces and points for subsetted surface
|
||||
faceList& faces = this->storedFaces();
|
||||
faces.setSize(faceMap.size());
|
||||
|
||||
labelList& zoneIds = this->storedZoneIds();
|
||||
zoneIds.setSize(faceMap.size());
|
||||
|
||||
forAll(faceMap, i)
|
||||
{
|
||||
const triFace& f = s[faceMap[i]];
|
||||
const labelledTri& f = s[faceMap[i]];
|
||||
triFace newF
|
||||
(
|
||||
reversePointMap[f[0]],
|
||||
@ -315,6 +319,7 @@ bool Foam::sampledTriSurfaceMesh::update(const meshSearch& meshSearcher)
|
||||
reversePointMap[f[2]]
|
||||
);
|
||||
faces[i] = newF.triFaceFace();
|
||||
zoneIds[i] = f.region(); // preserve zone information
|
||||
|
||||
forAll(newF, fp)
|
||||
{
|
||||
@ -775,7 +780,8 @@ void Foam::sampledTriSurfaceMesh::print(Ostream& os) const
|
||||
os << "sampledTriSurfaceMesh: " << name() << " :"
|
||||
<< " surface:" << surface_.objectRegistry::name()
|
||||
<< " faces:" << faces().size()
|
||||
<< " points:" << points().size();
|
||||
<< " points:" << points().size()
|
||||
<< " zoneids:" << zoneIds().size();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ class meshSearch;
|
||||
class sampledTriSurfaceMesh
|
||||
:
|
||||
public sampledSurface,
|
||||
public MeshedSurface<face>
|
||||
public UnsortedMeshedSurface<face>
|
||||
{
|
||||
public:
|
||||
//- Types of communications
|
||||
@ -101,7 +101,7 @@ public:
|
||||
private:
|
||||
|
||||
//- Private typedefs for convenience
|
||||
typedef MeshedSurface<face> MeshStorage;
|
||||
typedef UnsortedMeshedSurface<face> MeshStorage;
|
||||
|
||||
|
||||
// Private data
|
||||
@ -216,6 +216,12 @@ public:
|
||||
return MeshStorage::surfFaces();
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return MeshStorage::zoneIds();
|
||||
}
|
||||
|
||||
//- Face area vectors
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
|
||||
@ -148,6 +148,12 @@ public:
|
||||
return MeshStorage::surfFaces();
|
||||
}
|
||||
|
||||
//- Const access to per-face zone/region information
|
||||
virtual const labelList& zoneIds() const
|
||||
{
|
||||
return Foam::emptyLabelList;
|
||||
}
|
||||
|
||||
//- Face area vectors (normals)
|
||||
virtual const vectorField& Sf() const
|
||||
{
|
||||
|
||||
@ -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.
|
||||
@ -53,14 +53,14 @@ Foam::fileName Foam::boundaryDataSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
const fileName baseDir(outputDir.path()/surfaceName);
|
||||
const fileName timeName(outputDir.name());
|
||||
|
||||
const pointField& points = surf.points();
|
||||
|
||||
// Construct dummy time to use as an objectRegistry
|
||||
const fileName caseDir(getEnv("FOAM_CASE"));
|
||||
@ -110,6 +110,8 @@ Foam::fileName Foam::boundaryDataSurfaceWriter::write
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// create write methods
|
||||
defineSurfaceWriterWriteFields(Foam::boundaryDataSurfaceWriter);
|
||||
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
\\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -98,8 +98,7 @@ class boundaryDataSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -130,10 +129,9 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
|
||||
//- Write scalarField for a single surface to file.
|
||||
@ -142,13 +140,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -156,13 +153,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -170,13 +166,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write symmTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -184,13 +179,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write tensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -198,13 +192,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -37,8 +37,7 @@ Foam::fileName Foam::boundaryDataSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -48,6 +47,9 @@ Foam::fileName Foam::boundaryDataSurfaceWriter::writeTemplate
|
||||
const fileName baseDir(outputDir.path()/surfaceName);
|
||||
const fileName timeName(outputDir.name());
|
||||
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
|
||||
|
||||
// Construct dummy time to use as an objectRegistry
|
||||
const fileName caseDir(getEnv("FOAM_CASE"));
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -39,10 +39,12 @@ namespace Foam
|
||||
void Foam::dxSurfaceWriter::writeGeometry
|
||||
(
|
||||
Ostream& os,
|
||||
const pointField& points,
|
||||
const faceList& faces
|
||||
const meshedSurf& surf
|
||||
)
|
||||
{
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
|
||||
// Write vertex coordinates
|
||||
|
||||
os << "# The irregular positions" << nl
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -53,7 +53,7 @@ class dxSurfaceWriter
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
static void writeGeometry(Ostream&, const pointField&, const faceList&);
|
||||
static void writeGeometry(Ostream&, const meshedSurf&);
|
||||
static void writeTrailer(Ostream&, const bool isNodeValues);
|
||||
|
||||
template<class Type>
|
||||
@ -65,8 +65,7 @@ class dxSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -98,13 +97,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -112,13 +110,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -126,13 +123,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write symmTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -140,13 +136,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write tensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -154,13 +149,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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.
|
||||
@ -50,8 +50,7 @@ Foam::fileName Foam::dxSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -70,7 +69,7 @@ Foam::fileName Foam::dxSurfaceWriter::writeTemplate
|
||||
Info<< "Writing field " << fieldName << " to " << os.name() << endl;
|
||||
}
|
||||
|
||||
writeGeometry(os, points, faces);
|
||||
writeGeometry(os, surf);
|
||||
writeData(os, values);
|
||||
writeTrailer(os, isNodeValues);
|
||||
|
||||
|
||||
@ -84,11 +84,12 @@ Foam::fileName Foam::ensightSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
const ensight::FileName surfName(surfaceName);
|
||||
|
||||
if (!isDir(outputDir))
|
||||
|
||||
@ -67,8 +67,7 @@ class ensightSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -81,8 +80,7 @@ class ensightSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -95,8 +93,7 @@ class ensightSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -135,10 +132,9 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
|
||||
//- Write scalarField for a single surface to file.
|
||||
@ -147,13 +143,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -161,13 +156,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -175,13 +169,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write symmTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -189,13 +182,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write tensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -203,13 +195,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -40,8 +40,7 @@ Foam::fileName Foam::ensightSurfaceWriter::writeUncollated
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -117,7 +116,14 @@ Foam::fileName Foam::ensightSurfaceWriter::writeUncollated
|
||||
<< " " << timeValue
|
||||
<< nl << nl << "# end" << nl;
|
||||
|
||||
ensightPartFaces ensPart(0, osGeom.name().name(), points, faces, true);
|
||||
ensightPartFaces ensPart
|
||||
(
|
||||
0,
|
||||
osGeom.name().name(),
|
||||
surf.points(),
|
||||
surf.faces(),
|
||||
true // contiguous points
|
||||
);
|
||||
osGeom << ensPart;
|
||||
|
||||
// Write field
|
||||
@ -139,8 +145,7 @@ Foam::fileName Foam::ensightSurfaceWriter::writeCollated
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -310,7 +315,14 @@ Foam::fileName Foam::ensightSurfaceWriter::writeCollated
|
||||
|
||||
|
||||
// Write geometry
|
||||
ensightPartFaces ensPart(0, meshFile.name(), points, faces, true);
|
||||
ensightPartFaces ensPart
|
||||
(
|
||||
0,
|
||||
meshFile.name(),
|
||||
surf.points(),
|
||||
surf.faces(),
|
||||
true // contiguous points
|
||||
);
|
||||
if (!exists(meshFile))
|
||||
{
|
||||
if (verbose)
|
||||
@ -377,8 +389,7 @@ Foam::fileName Foam::ensightSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -391,8 +402,7 @@ Foam::fileName Foam::ensightSurfaceWriter::writeTemplate
|
||||
(
|
||||
outputDir,
|
||||
surfaceName,
|
||||
points,
|
||||
faces,
|
||||
surf,
|
||||
fieldName,
|
||||
values,
|
||||
isNodeValues,
|
||||
@ -405,8 +415,7 @@ Foam::fileName Foam::ensightSurfaceWriter::writeTemplate
|
||||
(
|
||||
outputDir,
|
||||
surfaceName,
|
||||
points,
|
||||
faces,
|
||||
surf,
|
||||
fieldName,
|
||||
values,
|
||||
isNodeValues,
|
||||
|
||||
@ -24,10 +24,7 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "foamSurfaceWriter.H"
|
||||
|
||||
#include "OFstream.H"
|
||||
#include "OSspecific.H"
|
||||
|
||||
#include "makeSurfaceWriterMethods.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
@ -58,11 +55,13 @@ Foam::fileName Foam::foamSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
|
||||
fileName surfaceDir(outputDir/surfaceName);
|
||||
|
||||
if (!isDir(surfaceDir))
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -58,8 +58,7 @@ class foamSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -97,10 +96,9 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
|
||||
//- Write scalarField for a single surface to file.
|
||||
@ -109,13 +107,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -123,13 +120,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -137,13 +133,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write symmTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -151,13 +146,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write tensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -165,13 +159,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -33,8 +33,7 @@ Foam::fileName Foam::foamSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -51,8 +51,7 @@ namespace Foam
|
||||
( \
|
||||
const fileName& outputDir, \
|
||||
const fileName& surfaceName, \
|
||||
const pointField& points, \
|
||||
const faceList& faces, \
|
||||
const meshedSurf& surf, \
|
||||
const word& fieldName, \
|
||||
const Field<FieldType>& values, \
|
||||
const bool isNodeValues, \
|
||||
@ -63,8 +62,7 @@ namespace Foam
|
||||
( \
|
||||
outputDir, \
|
||||
surfaceName, \
|
||||
points, \
|
||||
faces, \
|
||||
surf, \
|
||||
fieldName, \
|
||||
values, \
|
||||
isNodeValues, \
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -27,6 +27,7 @@ License
|
||||
#include "IOmanip.H"
|
||||
#include "Tuple2.H"
|
||||
#include "makeSurfaceWriterMethods.H"
|
||||
#include "HashSet.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -204,6 +205,7 @@ void Foam::nastranSurfaceWriter::writeFace
|
||||
const word& faceType,
|
||||
const labelList& facePts,
|
||||
label& nFace,
|
||||
const label PID,
|
||||
OFstream& os
|
||||
) const
|
||||
{
|
||||
@ -221,16 +223,12 @@ void Foam::nastranSurfaceWriter::writeFace
|
||||
|
||||
// For CTRIA3 elements, cols 7 onwards are not used
|
||||
|
||||
label PID = 1;
|
||||
|
||||
writeKeyword(faceType, os);
|
||||
|
||||
os << separator_;
|
||||
|
||||
os.setf(ios_base::right);
|
||||
|
||||
writeValue(nFace++, os);
|
||||
|
||||
os << separator_;
|
||||
|
||||
writeValue(PID, os);
|
||||
@ -286,12 +284,15 @@ void Foam::nastranSurfaceWriter::writeFace
|
||||
|
||||
void Foam::nastranSurfaceWriter::writeGeometry
|
||||
(
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
List<DynamicList<face>>& decomposedFaces,
|
||||
OFstream& os
|
||||
) const
|
||||
{
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
const labelList& zones = surf.zoneIds();
|
||||
|
||||
// Write points
|
||||
|
||||
os << "$" << nl
|
||||
@ -303,28 +304,31 @@ void Foam::nastranSurfaceWriter::writeGeometry
|
||||
writeCoord(points[pointi], pointi, os);
|
||||
}
|
||||
|
||||
|
||||
// Write faces
|
||||
decomposedFaces.clear();
|
||||
decomposedFaces.setSize(faces.size());
|
||||
|
||||
os << "$" << nl
|
||||
<< "$ Faces" << nl
|
||||
<< "$" << nl;
|
||||
|
||||
label nFace = 1;
|
||||
label nFace = 1; // the element-id
|
||||
|
||||
forAll(faces, facei)
|
||||
{
|
||||
const face& f = faces[facei];
|
||||
// 1-offset for PID
|
||||
const label PID = 1 + (facei < zones.size() ? zones[facei] : 0);
|
||||
|
||||
if (f.size() == 3)
|
||||
{
|
||||
writeFace("CTRIA3", faces[facei], nFace, os);
|
||||
decomposedFaces[facei].append(faces[facei]);
|
||||
writeFace("CTRIA3", f, nFace, PID, os);
|
||||
decomposedFaces[facei].append(f);
|
||||
}
|
||||
else if (f.size() == 4)
|
||||
{
|
||||
writeFace("CQUAD4", faces[facei], nFace, os);
|
||||
decomposedFaces[facei].append(faces[facei]);
|
||||
writeFace("CQUAD4", f, nFace, PID, os);
|
||||
decomposedFaces[facei].append(f);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -335,7 +339,7 @@ void Foam::nastranSurfaceWriter::writeGeometry
|
||||
|
||||
forAll(triFaces, trii)
|
||||
{
|
||||
writeFace("CTRIA3", triFaces[trii], nFace, os);
|
||||
writeFace("CTRIA3", triFaces[trii], nFace, PID, os);
|
||||
decomposedFaces[facei].append(triFaces[trii]);
|
||||
}
|
||||
}
|
||||
@ -343,15 +347,25 @@ void Foam::nastranSurfaceWriter::writeGeometry
|
||||
}
|
||||
|
||||
|
||||
void Foam::nastranSurfaceWriter::writeFooter(Ostream& os) const
|
||||
void Foam::nastranSurfaceWriter::writeFooter
|
||||
(
|
||||
Ostream& os,
|
||||
const meshedSurf& surf
|
||||
) const
|
||||
{
|
||||
label PID = 1;
|
||||
// zone id have been used for the PID. Find unique values.
|
||||
|
||||
labelList pidsUsed = labelHashSet(surf.zoneIds()).sortedToc();
|
||||
if (pidsUsed.empty())
|
||||
{
|
||||
pidsUsed.setSize(1, Zero); // fallback
|
||||
}
|
||||
|
||||
for (auto pid : pidsUsed)
|
||||
{
|
||||
writeKeyword("PSHELL", os);
|
||||
|
||||
os << separator_;
|
||||
|
||||
writeValue(PID, os);
|
||||
writeValue(pid+1, os); // 1-offset for PID
|
||||
|
||||
for (label i = 0; i < 7; i++)
|
||||
{
|
||||
@ -359,13 +373,16 @@ void Foam::nastranSurfaceWriter::writeFooter(Ostream& os) const
|
||||
os << separator_;
|
||||
writeValue(1, os);
|
||||
}
|
||||
|
||||
os << nl;
|
||||
writeKeyword("MAT1", os);
|
||||
os << separator_;
|
||||
}
|
||||
|
||||
|
||||
// use single material ID
|
||||
|
||||
label MID = 1;
|
||||
|
||||
writeKeyword("MAT1", os);
|
||||
os << separator_;
|
||||
writeValue(MID, os);
|
||||
|
||||
for (label i = 0; i < 7; i++)
|
||||
@ -374,7 +391,6 @@ void Foam::nastranSurfaceWriter::writeFooter(Ostream& os) const
|
||||
os << separator_;
|
||||
writeValue("", os);
|
||||
}
|
||||
|
||||
os << nl;
|
||||
}
|
||||
|
||||
@ -431,8 +447,7 @@ Foam::fileName Foam::nastranSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
@ -453,16 +468,15 @@ Foam::fileName Foam::nastranSurfaceWriter::write
|
||||
<< "$" << nl
|
||||
<< "BEGIN BULK" << nl;
|
||||
|
||||
List<DynamicList<face>> decomposedFaces(faces.size());
|
||||
|
||||
writeGeometry(points, faces, decomposedFaces, os);
|
||||
List<DynamicList<face>> decomposedFaces;
|
||||
writeGeometry(surf, decomposedFaces, os);
|
||||
|
||||
if (!isDir(outputDir))
|
||||
{
|
||||
mkDir(outputDir);
|
||||
}
|
||||
|
||||
writeFooter(os);
|
||||
writeFooter(os, surf);
|
||||
|
||||
os << "ENDDATA" << endl;
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -27,6 +27,7 @@ Class
|
||||
Description
|
||||
A surface writer for the Nastran file format - both surface mesh and fields
|
||||
|
||||
\verbatim
|
||||
formatOptions
|
||||
{
|
||||
nastran
|
||||
@ -43,6 +44,7 @@ Description
|
||||
format free; //short, long, free
|
||||
}
|
||||
};
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
nastranSurfaceWriter.C
|
||||
@ -80,21 +82,20 @@ public:
|
||||
wfFree
|
||||
};
|
||||
|
||||
static const NamedEnum<writeFormat, 3> writeFormatNames_;
|
||||
|
||||
enum dataFormat
|
||||
{
|
||||
dfPLOAD2,
|
||||
dfPLOAD4
|
||||
};
|
||||
|
||||
static const NamedEnum<dataFormat, 2> dataFormatNames_;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// Private data
|
||||
|
||||
static const NamedEnum<writeFormat, 3> writeFormatNames_;
|
||||
static const NamedEnum<dataFormat, 2> dataFormatNames_;
|
||||
|
||||
//- Write option
|
||||
writeFormat writeFormat_;
|
||||
|
||||
@ -127,14 +128,14 @@ private:
|
||||
const word& faceType,
|
||||
const labelList& facePts,
|
||||
label& nFace,
|
||||
const label PID,
|
||||
OFstream& os
|
||||
) const;
|
||||
|
||||
//- Main driver to write the surface mesh geometry
|
||||
void writeGeometry
|
||||
(
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
List<DynamicList<face>>& decomposedFaces,
|
||||
OFstream& os
|
||||
) const;
|
||||
@ -147,7 +148,7 @@ private:
|
||||
) const;
|
||||
|
||||
//- Write the footer information
|
||||
void writeFooter(Ostream& os) const;
|
||||
void writeFooter(Ostream& os, const meshedSurf& surf) const;
|
||||
|
||||
//- Write a formatted value to the output stream
|
||||
template<class Type>
|
||||
@ -173,8 +174,7 @@ private:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -215,10 +215,9 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write scalarField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -226,13 +225,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -240,13 +238,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -254,13 +251,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write symmTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -268,13 +264,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write tensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -282,13 +277,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -115,9 +115,9 @@ void Foam::nastranSurfaceWriter::writeFaceValue
|
||||
|
||||
os << separator_;
|
||||
writeValue(EID, os);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case dfPLOAD4:
|
||||
{
|
||||
writeValue(EID, os);
|
||||
@ -129,6 +129,7 @@ void Foam::nastranSurfaceWriter::writeFaceValue
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
FatalErrorInFunction
|
||||
@ -148,8 +149,7 @@ Foam::fileName Foam::nastranSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -192,10 +192,8 @@ Foam::fileName Foam::nastranSurfaceWriter::writeTemplate
|
||||
<< "$" << nl
|
||||
<< "BEGIN BULK" << nl;
|
||||
|
||||
List<DynamicList<face>> decomposedFaces(faces.size());
|
||||
|
||||
writeGeometry(points, faces, decomposedFaces, os);
|
||||
|
||||
List<DynamicList<face>> decomposedFaces;
|
||||
writeGeometry(surf, decomposedFaces, os);
|
||||
|
||||
os << "$" << nl
|
||||
<< "$ Field data" << nl
|
||||
@ -238,7 +236,7 @@ Foam::fileName Foam::nastranSurfaceWriter::writeTemplate
|
||||
}
|
||||
}
|
||||
|
||||
writeFooter(os);
|
||||
writeFooter(os, surf);
|
||||
|
||||
os << "ENDDATA" << endl;
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -60,8 +60,7 @@ Foam::fileName Foam::proxySurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
@ -83,7 +82,7 @@ Foam::fileName Foam::proxySurfaceWriter::write
|
||||
Info<< "Writing geometry to " << outName << endl;
|
||||
}
|
||||
|
||||
MeshedSurfaceProxy<face>(points, faces).write(outName);
|
||||
MeshedSurfaceProxy<face>(surf.points(), surf.faces()).write(outName);
|
||||
|
||||
return outName;
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -89,10 +89,9 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -40,11 +40,9 @@ namespace Foam
|
||||
inline void Foam::rawSurfaceWriter::writeLocation
|
||||
(
|
||||
Ostream& os,
|
||||
const pointField& points,
|
||||
const label pointi
|
||||
const point& pt
|
||||
)
|
||||
{
|
||||
const point& pt = points[pointi];
|
||||
os << pt.x() << ' ' << pt.y() << ' ' << pt.z() << ' ';
|
||||
}
|
||||
|
||||
@ -53,12 +51,10 @@ inline void Foam::rawSurfaceWriter::writeLocation
|
||||
(
|
||||
Ostream& os,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const label facei
|
||||
const face& f
|
||||
)
|
||||
{
|
||||
const point& ct = faces[facei].centre(points);
|
||||
os << ct.x() << ' ' << ct.y() << ' ' << ct.z() << ' ';
|
||||
writeLocation(os, f.centre(points));
|
||||
}
|
||||
|
||||
|
||||
@ -238,11 +234,13 @@ Foam::fileName Foam::rawSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
|
||||
if (!isDir(outputDir))
|
||||
{
|
||||
mkDir(outputDir);
|
||||
@ -269,7 +267,7 @@ Foam::fileName Foam::rawSurfaceWriter::write
|
||||
// Write faces centres
|
||||
forAll(faces, elemI)
|
||||
{
|
||||
writeLocation(os, points, faces, elemI);
|
||||
writeLocation(os, points, faces[elemI]);
|
||||
os << nl;
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -59,19 +59,13 @@ class rawSurfaceWriter
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
static inline void writeLocation
|
||||
(
|
||||
Ostream&,
|
||||
const pointField&,
|
||||
const label pointi
|
||||
);
|
||||
static inline void writeLocation(Ostream&, const point&);
|
||||
|
||||
static inline void writeLocation
|
||||
(
|
||||
Ostream&,
|
||||
const pointField&,
|
||||
const faceList&,
|
||||
const label facei
|
||||
const face&
|
||||
);
|
||||
|
||||
template<class Type>
|
||||
@ -92,8 +86,7 @@ class rawSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -127,10 +120,9 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
|
||||
//- Write scalarField for a single surface to file.
|
||||
@ -139,13 +131,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -153,13 +144,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -167,13 +157,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write symmTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -181,13 +170,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write tensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -195,13 +183,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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.
|
||||
@ -34,14 +34,16 @@ Foam::fileName Foam::rawSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
|
||||
if (!isDir(outputDir))
|
||||
{
|
||||
mkDir(outputDir);
|
||||
@ -73,7 +75,7 @@ Foam::fileName Foam::rawSurfaceWriter::writeTemplate
|
||||
{
|
||||
forAll(values, elemI)
|
||||
{
|
||||
writeLocation(os, points, elemI);
|
||||
writeLocation(os, points[elemI]);
|
||||
writeData(os, values[elemI]);
|
||||
}
|
||||
}
|
||||
@ -81,7 +83,7 @@ Foam::fileName Foam::rawSurfaceWriter::writeTemplate
|
||||
{
|
||||
forAll(values, elemI)
|
||||
{
|
||||
writeLocation(os, points, faces, elemI);
|
||||
writeLocation(os, points, faces[elemI]);
|
||||
writeData(os, values[elemI]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -94,8 +94,7 @@ Foam::fileName Foam::starcdSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
@ -111,7 +110,7 @@ Foam::fileName Foam::starcdSurfaceWriter::write
|
||||
Info<< "Writing geometry to " << outName << endl;
|
||||
}
|
||||
|
||||
MeshedSurfaceProxy<face>(points, faces).write(outName);
|
||||
MeshedSurfaceProxy<face>(surf.points(), surf.faces()).write(outName);
|
||||
|
||||
return outName;
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -81,8 +81,7 @@ class starcdSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -119,11 +118,10 @@ public:
|
||||
virtual fileName write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const fileName& surfaceName, // name of surface
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write scalarField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -131,13 +129,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -145,13 +142,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -159,13 +155,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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.
|
||||
@ -42,8 +42,7 @@ Foam::fileName Foam::starcdSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf&,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -37,10 +37,8 @@ SourceFiles
|
||||
|
||||
#include "typeInfo.H"
|
||||
#include "autoPtr.H"
|
||||
#include "pointField.H"
|
||||
#include "faceList.H"
|
||||
#include "fileName.H"
|
||||
|
||||
#include "meshedSurfRef.H"
|
||||
#include "runTimeSelectionTables.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -120,8 +118,7 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const
|
||||
{
|
||||
@ -134,8 +131,7 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
@ -151,8 +147,7 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
@ -168,8 +163,7 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
@ -185,8 +179,7 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
@ -202,8 +195,7 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
|
||||
@ -40,10 +40,12 @@ namespace Foam
|
||||
void Foam::vtkSurfaceWriter::writeGeometry
|
||||
(
|
||||
Ostream& os,
|
||||
const pointField& points,
|
||||
const faceList& faces
|
||||
const meshedSurf& surf
|
||||
)
|
||||
{
|
||||
const pointField& points = surf.points();
|
||||
const faceList& faces = surf.faces();
|
||||
|
||||
// header
|
||||
os
|
||||
<< "# vtk DataFile Version 2.0" << nl
|
||||
@ -131,8 +133,9 @@ namespace Foam
|
||||
forAll(values, elemI)
|
||||
{
|
||||
const vector& v = values[elemI];
|
||||
os << float(v[0]) << ' ' << float(v[1]) << ' ' << float(v[2])
|
||||
<< nl;
|
||||
os << float(v[0]) << ' '
|
||||
<< float(v[1]) << ' '
|
||||
<< float(v[2]) << nl;
|
||||
}
|
||||
}
|
||||
|
||||
@ -234,8 +237,7 @@ Foam::fileName Foam::vtkSurfaceWriter::write
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose
|
||||
) const
|
||||
{
|
||||
@ -252,7 +254,7 @@ Foam::fileName Foam::vtkSurfaceWriter::write
|
||||
Info<< "Writing geometry to " << os.name() << endl;
|
||||
}
|
||||
|
||||
writeGeometry(os, points, faces);
|
||||
writeGeometry(os, surf);
|
||||
|
||||
return os.name();
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ class vtkSurfaceWriter
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
static void writeGeometry(Ostream&, const pointField&, const faceList&);
|
||||
static void writeGeometry(Ostream&, const meshedSurf&);
|
||||
|
||||
template<class Type>
|
||||
static void writeData(Ostream&, const Field<Type>&);
|
||||
@ -69,8 +69,7 @@ class vtkSurfaceWriter
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -104,10 +103,9 @@ public:
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
|
||||
//- Write scalarField for a single surface to file.
|
||||
@ -116,13 +114,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<scalar>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write vectorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -130,13 +127,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<vector>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write sphericalTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -144,13 +140,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<sphericalTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write symmTensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -158,13 +153,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<symmTensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
//- Write tensorField for a single surface to file.
|
||||
// One value per face or vertex (isNodeValues = true)
|
||||
@ -172,13 +166,12 @@ public:
|
||||
(
|
||||
const fileName& outputDir, // <case>/surface/TIME
|
||||
const fileName& surfaceName, // name of surface
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName, // name of field
|
||||
const Field<tensor>& values,
|
||||
const bool isNodeValues,
|
||||
const bool verbose = false
|
||||
) const;
|
||||
) const; // override
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -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.
|
||||
@ -49,8 +49,7 @@ Foam::fileName Foam::vtkSurfaceWriter::writeTemplate
|
||||
(
|
||||
const fileName& outputDir,
|
||||
const fileName& surfaceName,
|
||||
const pointField& points,
|
||||
const faceList& faces,
|
||||
const meshedSurf& surf,
|
||||
const word& fieldName,
|
||||
const Field<Type>& values,
|
||||
const bool isNodeValues,
|
||||
@ -70,7 +69,7 @@ Foam::fileName Foam::vtkSurfaceWriter::writeTemplate
|
||||
Info<< "Writing field " << fieldName << " to " << os.name() << endl;
|
||||
}
|
||||
|
||||
writeGeometry(os, points, faces);
|
||||
writeGeometry(os, surf);
|
||||
|
||||
// start writing data
|
||||
if (isNodeValues)
|
||||
|
||||
Reference in New Issue
Block a user