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:
Mark Olesen
2016-08-10 15:41:24 +02:00
parent eee0dd02c5
commit 1fc2a73213
58 changed files with 456 additions and 399 deletions

View File

@ -9,5 +9,4 @@ EXE_INC = \
EXE_LIBS = \
-lmeshTools \
-lsampling \
-lsurfMesh \
-ldynamicMesh

View File

@ -1019,8 +1019,11 @@ Foam::label Foam::checkGeometry
(
"postProcessing",
"src_" + tmName,
mergedPoints,
mergedFaces,
meshedSurfRef
(
mergedPoints,
mergedFaces
),
"weightsSum",
mergedWeights,
false
@ -1066,8 +1069,11 @@ Foam::label Foam::checkGeometry
(
"postProcessing",
"tgt_" + tmName,
mergedPoints,
mergedFaces,
meshedSurfRef
(
mergedPoints,
mergedFaces
),
"weightsSum",
mergedWeights,
false

View File

@ -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,
setPatch.localPoints(),
setPatch.localFaces()
meshedSurfRef
(
setPatch.localPoints(),
setPatch.localFaces()
)
);
}
}

View File

@ -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 = \

View File

@ -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,
mergedPoints,
mergedFaces,
meshedSurfRef
(
mergedPoints,
mergedFaces
),
"weightsSum",
mergedWeights,
false