mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Utility sample: replaced by 'postProcess -func sample'
To re-use existing 'sampleDict' files simply add the following entries:
type sets;
libs ("libsampling.so");
and run
postProcess -func sampleDict
It is probably better to also rename 'sampleDict' -> 'sample' and then run
postProcess -func sampleDict
This commit is contained in:
@ -1,3 +0,0 @@
|
|||||||
sample.C
|
|
||||||
|
|
||||||
EXE = $(FOAM_APPBIN)/sample
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
EXE_INC = \
|
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
|
||||||
-I$(LIB_SRC)/fileFormats/lnInclude \
|
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/surfMesh/lnInclude \
|
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
|
||||||
-lfiniteVolume \
|
|
||||||
-lgenericPatchFields \
|
|
||||||
-lmeshTools \
|
|
||||||
-lfileFormats \
|
|
||||||
-lsampling \
|
|
||||||
-lsurfMesh \
|
|
||||||
-llagrangian
|
|
||||||
@ -1,209 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2013 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/>.
|
|
||||||
|
|
||||||
Application
|
|
||||||
sample
|
|
||||||
|
|
||||||
Description
|
|
||||||
Sample field data with a choice of interpolation schemes, sampling options
|
|
||||||
and write formats.
|
|
||||||
|
|
||||||
Keywords:
|
|
||||||
|
|
||||||
\param setFormat : set output format, choice of \n
|
|
||||||
- xmgr
|
|
||||||
- jplot
|
|
||||||
- gnuplot
|
|
||||||
- raw
|
|
||||||
|
|
||||||
\param surfaceFormat : surface output format, choice of \n
|
|
||||||
- null : suppress output
|
|
||||||
- foamFile : separate points, faces and values file
|
|
||||||
- dx : DX scalar or vector format
|
|
||||||
- vtk : VTK ascii format
|
|
||||||
- raw : x y z value format for use with e.g. gnuplot 'splot'.
|
|
||||||
- obj : Wavefron stl. Does not contain values!
|
|
||||||
- stl : ascii stl. Does not contain values!
|
|
||||||
|
|
||||||
\param interpolationScheme : interpolation scheme, choice of \n
|
|
||||||
- cell : use cell-centre value; constant over cells (default)
|
|
||||||
- cellPoint : use cell-centre and vertex values
|
|
||||||
- cellPointFace : use cell-centre, vertex and face values. \n
|
|
||||||
-# vertex values determined from neighbouring cell-centre values
|
|
||||||
-# face values determined using the current face interpolation scheme
|
|
||||||
for the field (linear, limitedLinear, etc.)
|
|
||||||
|
|
||||||
\param fields : list of fields to sample
|
|
||||||
|
|
||||||
\param sets : list of sets to sample, choice of \n
|
|
||||||
- uniform evenly distributed points on line
|
|
||||||
- face one point per face intersection
|
|
||||||
- midPoint one point per cell, inbetween two face intersections
|
|
||||||
- midPointAndFace combination of face and midPoint
|
|
||||||
|
|
||||||
- curve specified points, not nessecary on line, uses
|
|
||||||
tracking
|
|
||||||
- cloud specified points, uses findCell
|
|
||||||
|
|
||||||
Option axis: how to write point coordinate. Choice of
|
|
||||||
- x/y/z: x/y/z coordinate only
|
|
||||||
- xyz: three columns
|
|
||||||
(probably does not make sense for anything but raw)
|
|
||||||
- distance: distance from start of sampling line (if uses line)
|
|
||||||
or distance from first specified sampling point
|
|
||||||
|
|
||||||
Type specific options:
|
|
||||||
uniform, face, midPoint, midPointAndFace : start and end coordinate
|
|
||||||
uniform: extra number of sampling points
|
|
||||||
curve, cloud: list of coordinates
|
|
||||||
|
|
||||||
\param surfaces : list of surfaces to sample, choice of \n
|
|
||||||
- plane : values on plane defined by point, normal.
|
|
||||||
- patch : values on patch.
|
|
||||||
|
|
||||||
Notes
|
|
||||||
Runs in parallel
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "argList.H"
|
|
||||||
#include "timeSelector.H"
|
|
||||||
#include "IOsampledSets.H"
|
|
||||||
#include "IOsampledSurfaces.H"
|
|
||||||
|
|
||||||
using namespace Foam;
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
timeSelector::addOptions();
|
|
||||||
#include "addRegionOption.H"
|
|
||||||
#include "addDictOption.H"
|
|
||||||
#include "setRootCase.H"
|
|
||||||
#include "createTime.H"
|
|
||||||
instantList timeDirs = timeSelector::select0(runTime, args);
|
|
||||||
#include "createNamedMesh.H"
|
|
||||||
|
|
||||||
const word dictName("sampleDict");
|
|
||||||
|
|
||||||
autoPtr<IOsampledSets> sSetsPtr;
|
|
||||||
autoPtr<IOsampledSurfaces> sSurfsPtr;
|
|
||||||
|
|
||||||
if (args.optionFound("dict"))
|
|
||||||
{
|
|
||||||
// Construct from fileName
|
|
||||||
|
|
||||||
fileName dictPath = args["dict"];
|
|
||||||
if (isDir(dictPath))
|
|
||||||
{
|
|
||||||
dictPath = dictPath / dictName;
|
|
||||||
}
|
|
||||||
|
|
||||||
sSetsPtr.reset
|
|
||||||
(
|
|
||||||
new IOsampledSets
|
|
||||||
(
|
|
||||||
sampledSets::typeName,
|
|
||||||
mesh,
|
|
||||||
dictPath,
|
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Note: both IOsampledSets and IOsampledSurfaces read the
|
|
||||||
// same dictionary. Unregister one to make sure no duplicates
|
|
||||||
// trying to register
|
|
||||||
sSetsPtr().checkOut();
|
|
||||||
|
|
||||||
sSurfsPtr.reset
|
|
||||||
(
|
|
||||||
new IOsampledSurfaces
|
|
||||||
(
|
|
||||||
sampledSurfaces::typeName,
|
|
||||||
mesh,
|
|
||||||
dictPath,
|
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Construct from name in system() directory
|
|
||||||
|
|
||||||
sSetsPtr.reset
|
|
||||||
(
|
|
||||||
new IOsampledSets
|
|
||||||
(
|
|
||||||
sampledSets::typeName,
|
|
||||||
mesh,
|
|
||||||
dictName,
|
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
sSetsPtr().checkOut();
|
|
||||||
|
|
||||||
sSurfsPtr.reset
|
|
||||||
(
|
|
||||||
new IOsampledSurfaces
|
|
||||||
(
|
|
||||||
sampledSurfaces::typeName,
|
|
||||||
mesh,
|
|
||||||
dictName,
|
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
IOsampledSets& sSets = sSetsPtr();
|
|
||||||
IOsampledSurfaces& sSurfs = sSurfsPtr();
|
|
||||||
|
|
||||||
forAll(timeDirs, timeI)
|
|
||||||
{
|
|
||||||
runTime.setTime(timeDirs[timeI], timeI);
|
|
||||||
Info<< "Time = " << runTime.timeName() << endl;
|
|
||||||
|
|
||||||
// Handle geometry/topology changes
|
|
||||||
polyMesh::readUpdateState state = mesh.readUpdate();
|
|
||||||
|
|
||||||
sSets.readUpdate(state);
|
|
||||||
sSurfs.readUpdate(state);
|
|
||||||
|
|
||||||
sSets.write();
|
|
||||||
sSurfs.write();
|
|
||||||
|
|
||||||
Info<< endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
Info<< "End\n" << endl;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,329 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: dev |
|
|
||||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class dictionary;
|
|
||||||
object sampleDict;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
// Set output format : choice of
|
|
||||||
// xmgr
|
|
||||||
// jplot
|
|
||||||
// gnuplot
|
|
||||||
// raw
|
|
||||||
// vtk
|
|
||||||
// ensight
|
|
||||||
// csv
|
|
||||||
setFormat raw;
|
|
||||||
|
|
||||||
// Surface output format. Choice of
|
|
||||||
// null : suppress output
|
|
||||||
// ensight : Ensight Gold format, one field per case file
|
|
||||||
// foamFile : separate points, faces and values file
|
|
||||||
// dx : DX scalar or vector format
|
|
||||||
// vtk : VTK ascii format
|
|
||||||
// raw : x y z value format for use with e.g. gnuplot 'splot'.
|
|
||||||
//
|
|
||||||
// Note:
|
|
||||||
// other formats such as obj, stl, etc can also be written (by proxy)
|
|
||||||
// but without any values!
|
|
||||||
surfaceFormat vtk;
|
|
||||||
|
|
||||||
// optionally define extra controls for the output formats
|
|
||||||
formatOptions
|
|
||||||
{
|
|
||||||
ensight
|
|
||||||
{
|
|
||||||
format ascii;
|
|
||||||
}
|
|
||||||
raw
|
|
||||||
{
|
|
||||||
compression uncompressed; // 'uncompressed' or 'compressed'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// interpolationScheme. choice of
|
|
||||||
// cell : use cell-centre value only; constant over cells
|
|
||||||
// (default)
|
|
||||||
// cellPoint : use cell-centre and vertex values
|
|
||||||
// cellPointFace : use cell-centre, vertex and face values.
|
|
||||||
// pointMVC : use point values only (Mean Value Coordinates)
|
|
||||||
// cellPatchConstrained : like 'cell' but uses cell-centre except on
|
|
||||||
// boundary faces where it uses the boundary value.
|
|
||||||
// For use with e.g. patchCloudSet.
|
|
||||||
// 1] vertex values determined from neighbouring cell-centre values
|
|
||||||
// 2] face values determined using the current face interpolation scheme
|
|
||||||
// for the field (linear, gamma, etc.)
|
|
||||||
interpolationScheme cellPoint;
|
|
||||||
|
|
||||||
// Fields to sample.
|
|
||||||
fields
|
|
||||||
(
|
|
||||||
p
|
|
||||||
U
|
|
||||||
);
|
|
||||||
|
|
||||||
// Set sampling definition: choice of
|
|
||||||
// uniform evenly distributed points on line
|
|
||||||
// face one point per face intersection
|
|
||||||
// midPoint one point per cell, inbetween two face intersections
|
|
||||||
// midPointAndFace combination of face and midPoint
|
|
||||||
//
|
|
||||||
// polyLine specified points, not nessecary on line, uses
|
|
||||||
// tracking
|
|
||||||
// cloud specified points, uses findCell
|
|
||||||
// triSurfaceMeshPointSet points of triSurface
|
|
||||||
//
|
|
||||||
// axis: how to write point coordinate. Choice of
|
|
||||||
// - x/y/z: x/y/z coordinate only
|
|
||||||
// - xyz: three columns
|
|
||||||
// (probably does not make sense for anything but raw)
|
|
||||||
// - distance: distance from start of sampling line (if uses line) or
|
|
||||||
// distance from first specified sampling point
|
|
||||||
//
|
|
||||||
// type specific:
|
|
||||||
// uniform, face, midPoint, midPointAndFace : start and end coordinate
|
|
||||||
// uniform: extra number of sampling points
|
|
||||||
// polyLine, cloud: list of coordinates
|
|
||||||
// patchCloud: list of coordinates and set of patches to look for nearest
|
|
||||||
// patchSeed: random sampling on set of patches. Points slightly off
|
|
||||||
// face centre.
|
|
||||||
sets
|
|
||||||
(
|
|
||||||
lineX1
|
|
||||||
{
|
|
||||||
type uniform;
|
|
||||||
axis distance;
|
|
||||||
|
|
||||||
//- cavity. Slightly perturbed so not to align with face or edge.
|
|
||||||
start (0.0201 0.05101 0.00501);
|
|
||||||
end (0.0601 0.05101 0.00501);
|
|
||||||
nPoints 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
lineX2
|
|
||||||
{
|
|
||||||
type face;
|
|
||||||
axis x;
|
|
||||||
|
|
||||||
//- cavity
|
|
||||||
start (0.0001 0.0525 0.00501);
|
|
||||||
end (0.0999 0.0525 0.00501);
|
|
||||||
}
|
|
||||||
|
|
||||||
somePoints
|
|
||||||
{
|
|
||||||
type cloud;
|
|
||||||
axis xyz;
|
|
||||||
points ((0.049 0.049 0.00501)(0.051 0.049 0.00501));
|
|
||||||
}
|
|
||||||
|
|
||||||
somePatchPoints
|
|
||||||
{
|
|
||||||
// Sample nearest points on selected patches. Looks only up to
|
|
||||||
// maxDistance away. Any sampling point not found will get value
|
|
||||||
// pTraits<Type>::max (usually VGREAT)
|
|
||||||
// Use with interpolations:
|
|
||||||
// - cell (cell value)
|
|
||||||
// - cellPatchConstrained (boundary value)
|
|
||||||
// - cellPoint (interpolated boundary value)
|
|
||||||
type patchCloud;
|
|
||||||
axis xyz;
|
|
||||||
points ((0.049 0.099 0.005)(0.051 0.054 0.005));
|
|
||||||
maxDistance 0.1; // maximum distance to search
|
|
||||||
patches (".*Wall.*");
|
|
||||||
}
|
|
||||||
|
|
||||||
patchSeed
|
|
||||||
{
|
|
||||||
type patchSeed;
|
|
||||||
axis xyz;
|
|
||||||
patches (".*Wall.*");
|
|
||||||
// Number of points to seed. Divided amongst all processors according
|
|
||||||
// to fraction of patches they hold.
|
|
||||||
maxPoints 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Surface sampling definition
|
|
||||||
//
|
|
||||||
// 1] patches are not triangulated by default
|
|
||||||
// 2] planes are always triangulated
|
|
||||||
// 3] iso-surfaces are always triangulated
|
|
||||||
surfaces
|
|
||||||
(
|
|
||||||
constantPlane
|
|
||||||
{
|
|
||||||
type plane; // always triangulated
|
|
||||||
basePoint (0.0501 0.0501 0.005);
|
|
||||||
normalVector (0.1 0.1 1);
|
|
||||||
|
|
||||||
//- Optional: restrict to a particular zone
|
|
||||||
// zone zone1;
|
|
||||||
|
|
||||||
//- Optional: do not triangulate (only for surfaceFormats that support
|
|
||||||
// polygons)
|
|
||||||
//triangulate false;
|
|
||||||
}
|
|
||||||
|
|
||||||
interpolatedPlane
|
|
||||||
{
|
|
||||||
type plane; // always triangulated
|
|
||||||
|
|
||||||
// Make plane relative to the coordinateSystem (Cartesian)
|
|
||||||
coordinateSystem
|
|
||||||
{
|
|
||||||
origin (0.0501 0.0501 0.005);
|
|
||||||
|
|
||||||
// Add a coordinate rotation
|
|
||||||
// (required, so here one that doesn't change anything)
|
|
||||||
coordinateRotation
|
|
||||||
{
|
|
||||||
type axesRotation;
|
|
||||||
e1 (1 0 0);
|
|
||||||
e2 (0 1 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
basePoint (0 0 0);
|
|
||||||
normalVector (0.1 0.1 1);
|
|
||||||
interpolate true;
|
|
||||||
}
|
|
||||||
|
|
||||||
walls_constant
|
|
||||||
{
|
|
||||||
type patch;
|
|
||||||
patches ( ".*Wall.*" );
|
|
||||||
// Optional: whether to leave as faces (=default) or triangulate
|
|
||||||
// triangulate false;
|
|
||||||
}
|
|
||||||
|
|
||||||
walls_interpolated
|
|
||||||
{
|
|
||||||
type patch;
|
|
||||||
patches ( ".*Wall.*" );
|
|
||||||
interpolate true;
|
|
||||||
// Optional: whether to leave as faces (=default) or triangulate
|
|
||||||
// triangulate false;
|
|
||||||
}
|
|
||||||
|
|
||||||
nearWalls_interpolated
|
|
||||||
{
|
|
||||||
// Sample cell values off patch. Does not need to be the near-wall
|
|
||||||
// cell, can be arbitrarily far away.
|
|
||||||
type patchInternalField;
|
|
||||||
patches ( ".*Wall.*" );
|
|
||||||
interpolate true;
|
|
||||||
|
|
||||||
|
|
||||||
// Optional: specify how to obtain sampling points from the patch
|
|
||||||
// face centres (default is 'normal')
|
|
||||||
//
|
|
||||||
// //- Specify distance to offset in normal direction
|
|
||||||
offsetMode normal;
|
|
||||||
distance 0.1;
|
|
||||||
//
|
|
||||||
// //- Specify single uniform offset
|
|
||||||
// offsetMode uniform;
|
|
||||||
// offset (0 0 0.0001);
|
|
||||||
//
|
|
||||||
// //- Specify offset per patch face
|
|
||||||
// offsetMode nonuniform;
|
|
||||||
// offsets ((0 0 0.0001) (0 0 0.0002));
|
|
||||||
|
|
||||||
|
|
||||||
// Optional: whether to leave as faces (=default) or triangulate
|
|
||||||
// triangulate false;
|
|
||||||
}
|
|
||||||
|
|
||||||
interpolatedIso
|
|
||||||
{
|
|
||||||
// Iso surface for interpolated values only
|
|
||||||
type isoSurface; // always triangulated
|
|
||||||
isoField rho;
|
|
||||||
isoValue 0.5;
|
|
||||||
interpolate true;
|
|
||||||
|
|
||||||
//zone ABC; // Optional: zone only
|
|
||||||
//exposedPatchName fixedWalls; // Optional: zone only
|
|
||||||
|
|
||||||
// regularise false; // Optional: do not simplify
|
|
||||||
// mergeTol 1e-10; // Optional: fraction of mesh bounding box
|
|
||||||
// to merge points (default=1e-6)
|
|
||||||
}
|
|
||||||
constantIso
|
|
||||||
{
|
|
||||||
// Iso surface for constant values.
|
|
||||||
// Triangles guaranteed not to cross cells.
|
|
||||||
type isoSurfaceCell; // always triangulated
|
|
||||||
isoField rho;
|
|
||||||
isoValue 0.5;
|
|
||||||
interpolate false;
|
|
||||||
regularise false; // do not simplify
|
|
||||||
// mergeTol 1e-10; // Optional: fraction of mesh bounding box
|
|
||||||
// to merge points (default=1e-6)
|
|
||||||
}
|
|
||||||
|
|
||||||
triangleCut
|
|
||||||
{
|
|
||||||
// Cutingplane using iso surface
|
|
||||||
type cuttingPlane;
|
|
||||||
planeType pointAndNormal;
|
|
||||||
pointAndNormalDict
|
|
||||||
{
|
|
||||||
basePoint (0.4 0 0.4);
|
|
||||||
normalVector (1 0.2 0.2);
|
|
||||||
}
|
|
||||||
interpolate true;
|
|
||||||
|
|
||||||
//zone ABC; // Optional: zone only
|
|
||||||
//exposedPatchName fixedWalls; // Optional: zone only
|
|
||||||
|
|
||||||
// regularise false; // Optional: do not simplify
|
|
||||||
// mergeTol 1e-10; // Optional: fraction of mesh bounding box
|
|
||||||
// to merge points (default=1e-6)
|
|
||||||
}
|
|
||||||
|
|
||||||
distance
|
|
||||||
{
|
|
||||||
// Isosurface from signed/unsigned distance to surface
|
|
||||||
type distanceSurface;
|
|
||||||
signed true;
|
|
||||||
|
|
||||||
// Definition of surface
|
|
||||||
surfaceType triSurfaceMesh;
|
|
||||||
surfaceName integrationPlane.stl;
|
|
||||||
// Distance to surface
|
|
||||||
distance 0.0;
|
|
||||||
|
|
||||||
//cell false;// optional: use isoSurface instead
|
|
||||||
// of isoSurfaceCell
|
|
||||||
interpolate false;
|
|
||||||
regularise false; // Optional: do not simplify
|
|
||||||
// mergeTol 1e-10; // Optional: fraction of mesh bounding box
|
|
||||||
// to merge points (default=1e-6)
|
|
||||||
}
|
|
||||||
|
|
||||||
triSurfaceSampling
|
|
||||||
{
|
|
||||||
// Sampling on triSurface
|
|
||||||
type sampledTriSurfaceMesh;
|
|
||||||
surface integrationPlane.stl;
|
|
||||||
source boundaryFaces; // What to sample: cells (nearest cell)
|
|
||||||
// insideCells (only triangles inside cell)
|
|
||||||
// boundaryFaces (nearest boundary face)
|
|
||||||
interpolate true;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// *********************************************************************** //
|
|
||||||
@ -31,7 +31,7 @@
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
echo "foamCalc has been superceded by the postProcess utility:"
|
echo "foamCalc has been superceded by the postProcess utility:"
|
||||||
echo "postProcess -help"
|
echo " postProcess -help"
|
||||||
postProcess -help
|
postProcess -help
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -32,6 +32,6 @@
|
|||||||
Script=${0##*/}
|
Script=${0##*/}
|
||||||
|
|
||||||
echo $Script "has been superceded by the postProcess utility:"
|
echo $Script "has been superceded by the postProcess utility:"
|
||||||
echo "postProcess -func '"$Script"(name=inlet,p)'"
|
echo " postProcess -func '"$Script"(name=inlet,p)'"
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -32,6 +32,6 @@
|
|||||||
Script=${0##*/}
|
Script=${0##*/}
|
||||||
|
|
||||||
echo $Script "has been superceded by the postProcess utility:"
|
echo $Script "has been superceded by the postProcess utility:"
|
||||||
echo "postProcess -func '"$Script"(name=inlet,p)'"
|
echo " postProcess -func '"$Script"(name=inlet,p)'"
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
39
bin/probeLocations
Executable file
39
bin/probeLocations
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 2016 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/>.
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# probeLocations
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# Script to suggest using the new "postProcess" utility.
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
Script=${0##*/}
|
||||||
|
|
||||||
|
echo $Script "has been superceded by the postProcess utility:"
|
||||||
|
echo " postProcess -func probes"
|
||||||
|
echo "or"
|
||||||
|
echo " postProcess -func 'probes(p, U)'"
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
43
bin/sample
Executable file
43
bin/sample
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 2016 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/>.
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# probeLocations
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# Script to suggest using the new "postProcess" utility.
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
Script=${0##*/}
|
||||||
|
|
||||||
|
echo $Script "has been superceded by the postProcess utility:"
|
||||||
|
echo " postProcess -func $Script"
|
||||||
|
echo
|
||||||
|
echo "To re-use existing 'sampleDict' files simply add the following entries:"
|
||||||
|
echo " type sets;"
|
||||||
|
echo " libs (\"libsampling.so\");"
|
||||||
|
echo "and run"
|
||||||
|
echo " postProcess -func sampleDict"
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
@ -32,6 +32,6 @@
|
|||||||
Script=${0##*/}
|
Script=${0##*/}
|
||||||
|
|
||||||
echo $Script "has been superceded by the postProcess utility:"
|
echo $Script "has been superceded by the postProcess utility:"
|
||||||
echo "postProcess -func" $Script
|
echo " postProcess -func" $Script
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -233,7 +233,14 @@ bool Foam::functionObjectList::readFunctionObject
|
|||||||
// Read the functionObject dictionary
|
// Read the functionObject dictionary
|
||||||
IFstream fileStream(path);
|
IFstream fileStream(path);
|
||||||
dictionary funcsDict(fileStream);
|
dictionary funcsDict(fileStream);
|
||||||
dictionary& funcDict = funcsDict.subDict(funcName);
|
dictionary* funcDictPtr = &funcsDict;
|
||||||
|
|
||||||
|
if (funcsDict.found(funcName) && funcsDict.isDict(funcName))
|
||||||
|
{
|
||||||
|
funcDictPtr = &funcsDict.subDict(funcName);
|
||||||
|
}
|
||||||
|
|
||||||
|
dictionary& funcDict = *funcDictPtr;
|
||||||
|
|
||||||
// Insert the 'field' and/or 'fields' entry corresponding to the optional
|
// Insert the 'field' and/or 'fields' entry corresponding to the optional
|
||||||
// arguments or read the 'field' or 'fields' entry and add the required
|
// arguments or read the 'field' or 'fields' entry and add the required
|
||||||
|
|||||||
@ -11,10 +11,13 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class dictionary;
|
class dictionary;
|
||||||
location "system";
|
location "system";
|
||||||
object sampleDict;
|
object sample;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
type sets;
|
||||||
|
libs ("libsampling.so");
|
||||||
|
|
||||||
interpolationScheme cellPointFace;
|
interpolationScheme cellPointFace;
|
||||||
|
|
||||||
writeFormat raw;
|
writeFormat raw;
|
||||||
@ -11,10 +11,13 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class dictionary;
|
class dictionary;
|
||||||
location "system";
|
location "system";
|
||||||
object sampleDict;
|
object sample;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
type sets;
|
||||||
|
libs ("libsampling.so");
|
||||||
|
|
||||||
interpolationScheme cellPointFace;
|
interpolationScheme cellPointFace;
|
||||||
|
|
||||||
setFormat raw;
|
setFormat raw;
|
||||||
@ -11,10 +11,13 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class dictionary;
|
class dictionary;
|
||||||
location "system";
|
location "system";
|
||||||
object sampleDict;
|
object sample;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
type sets;
|
||||||
|
libs ("libsampling.so");
|
||||||
|
|
||||||
interpolationScheme cellPoint;
|
interpolationScheme cellPoint;
|
||||||
|
|
||||||
setFormat raw;
|
setFormat raw;
|
||||||
@ -9,6 +9,6 @@ application=`getApplication`
|
|||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication setFields
|
runApplication setFields
|
||||||
runApplication $application
|
runApplication $application
|
||||||
runApplication sample
|
runApplication postProcess -func sample
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -11,10 +11,13 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class dictionary;
|
class dictionary;
|
||||||
location "system";
|
location "system";
|
||||||
object sampleDict;
|
object sample;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
type sets;
|
||||||
|
libs ("libsampling.so");
|
||||||
|
|
||||||
interpolationScheme cellPoint;
|
interpolationScheme cellPoint;
|
||||||
|
|
||||||
setFormat raw;
|
setFormat raw;
|
||||||
@ -9,6 +9,6 @@ application=`getApplication`
|
|||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication $application
|
runApplication $application
|
||||||
runApplication sample
|
runApplication postProcess -func sample
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -15,6 +15,9 @@ FoamFile
|
|||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
type sets;
|
||||||
|
libs ("libsampling.so");
|
||||||
|
|
||||||
interpolationScheme cellPoint;
|
interpolationScheme cellPoint;
|
||||||
|
|
||||||
setFormat raw;
|
setFormat raw;
|
||||||
@ -5,7 +5,6 @@ cd ${0%/*} || exit 1 # Run from this directory
|
|||||||
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
|
||||||
cleanCase
|
cleanCase
|
||||||
rm -rf sets
|
|
||||||
rm -f validation/*.eps
|
rm -f validation/*.eps
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -9,7 +9,7 @@ application=`getApplication`
|
|||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication $application
|
runApplication $application
|
||||||
runApplication sample -latestTime
|
runApplication postProcess -latestTime -func sample
|
||||||
|
|
||||||
( cd validation && ./createGraphs )
|
( cd validation && ./createGraphs )
|
||||||
|
|
||||||
|
|||||||
@ -11,11 +11,14 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class dictionary;
|
class dictionary;
|
||||||
location "system";
|
location "system";
|
||||||
object sampleDict;
|
object sample;
|
||||||
}
|
}
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
type sets;
|
||||||
|
libs ("libsampling.so");
|
||||||
|
|
||||||
interpolationScheme cellPointFace;
|
interpolationScheme cellPointFace;
|
||||||
|
|
||||||
setFormat raw;
|
setFormat raw;
|
||||||
@ -3,7 +3,7 @@
|
|||||||
# ========= |
|
# ========= |
|
||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
@ -86,7 +86,7 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SETSDIR="../postProcessing/sets"
|
SETSDIR="../postProcessing/sample"
|
||||||
|
|
||||||
if [ ! -d $SETSDIR ]
|
if [ ! -d $SETSDIR ]
|
||||||
then
|
then
|
||||||
|
|||||||
Reference in New Issue
Block a user