Correct location of sampling

This commit is contained in:
henry
2008-05-02 13:11:50 +01:00
parent b4901ecaeb
commit 23fb767059
8 changed files with 0 additions and 141 deletions

View File

@ -0,0 +1,3 @@
sample.C
EXE = $(FOAM_APPBIN)/sample

View File

@ -0,0 +1,13 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \
-I$(LIB_SRC)/triSurface/lnInclude \
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
EXE_LIBS = \
-lfiniteVolume \
-lmeshTools \
-lsampling \
-ltriSurface \
-llagrangian

View File

@ -0,0 +1,139 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Description
Sample field data with a choice of interpolation schemes, sampling options
and write formats.
Keywords:
setFormat: set output format, choice of
xmgr
jplot
gnuplot
raw
surfaceFormat: surface output format, choice of
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'.
stl : ascii stl. Does not contain values!
interpolationScheme: interpolation scheme, choice of
cell : use cell-centre value; constant over cells (default)
cellPoint : use cell-centre and vertex values
cellPointFace : use cell-centre, vertex and face values.
1] vertex values determined from neighbouring cell-centre values
2] face values determined using the current face interpolation scheme
for the field (linear, limitedLinear, etc.)
fields: list of fields to sample
sets: list of sets to sample, 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
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
surfaces: list of surfaces to sample, choice of
plane : values on plane defined by point, normal.
patch : values on patch.
Runs in parallel.
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "IOsampledSets.H"
#include "IOsampledSurfaces.H"
using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Main program:
int main(int argc, char *argv[])
{
# include "addTimeOptions.H"
# include "setRootCase.H"
# include "createTime.H"
// Get times list
instantList Times = runTime.times();
// set startTime and endTime depending on -time and -latestTime options
# include "checkTimeOptions.H"
runTime.setTime(Times[startTime], startTime);
# include "createMesh.H"
IOsampledSets sSets(mesh, "sampleDict", true);
IOsampledSurfaces sSurfaces(mesh, "sampleDict", true);
for (label i=startTime; i<endTime; i++)
{
runTime.setTime(Times[i], i);
Info<< "Time = " << runTime.timeName() << endl;
// Handle geometry/topology changes
polyMesh::readUpdateState state = mesh.readUpdate();
sSets.readUpdate(state);
sSurfaces.readUpdate(state);
sSets.write();
sSurfaces.write();
Info<< endl;
}
Info<< "End\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -0,0 +1,173 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location system;
object sampleDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Set output format : choice of
// xmgr
// jplot
// gnuplot
// raw
setFormat raw;
// Surface output format. Choice of
// 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'.
// stl : ascii stl. Does not contain values!
surfaceFormat vtk;
// 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.
// 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 cellPointFace;
// 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
//
// curve specified points, not nessecary on line, uses
// tracking
// cloud specified points, uses findCell
//
// 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
// curve, cloud: list of coordinates
sets
(
lineX1
{
type uniform;
axis distance;
//- cavity
start (0.02 0.051 0.005);
end (0.06 0.051 0.005);
nPoints 10;
}
lineX2
{
type face;
axis x;
//- flangeHex
//start (0 20 -20);
//end (0 20 10);
//- nablaCavity
//start (-1 0.05 0.005);
//end ( 1 0.05 0.005);
//- cavity
start (0.0 0.51 0.005);
end (2 0.51 0.005);
nPoints 10;
}
);
// Surface sampling definition: choice of
// plane : values on plane defined by point, normal.
// patch : values on patch.
surfaces
(
constantPlane
{
type plane;
basePoint (0.0501 0.0501 0.005);
normalVector (0.1 0.1 1);
//- Optional: restrict to a particular zone
// zoneName zone1;
// Optional: whether to leave as faces or triangulate (=default)
triangulate false;
}
interpolatedPlane
{
type plane;
// make plane relative to the coordinateSystem (Cartesian)
coordinateSystem
{
origin (0.0501 0.0501 0.005);
}
basePoint (0 0 0);
normalVector (0.1 0.1 1);
triangulate false;
interpolate true;
}
movingWall_constant
{
type patch;
patchName movingWall;
triangulate false;
}
movingWall_interpolated
{
type patch;
patchName movingWall;
triangulate false;
interpolate true;
}
/* not yet (re)implemented --
constantIso
{
name iso;
field rho;
value 0.5;
}
someIso
{
type iso;
field rho;
value 0.5;
interpolate true;
}
*/
);
// *********************************************************************** //