Files
openfoam/tutorials/compressible/rhoSimpleFoam/squareBend/system/samplingDebug
Mark Olesen 7ea185b0b5 ENH: support rotationCentre for surface output formats (#2565)
- as an alternative output transform (supplementary to the regular
  coordinate system specification - issue #2505) it is now possible to
  specify the rotation centre directly.

  Example:

      formatOptions
      {
          vtk
          {
              scale 1000;  // m -> mm
              transform
              {
                  origin  (0 0 0);
                  rotationCentre  (1 0 0);
                  rotation axisAngle;
                  axis    (0 0 1);
                  angle   -45;
              }
          }
      }

   This behaves like the transformPoints and surfaceTransformPoints
   '-centre' option (formerly '-origin') in that it removes the
   specified amount from the point locations, applies the rotation and
   finally adds the specified amount back to the newly rotated point
   locations.

   The results of specifying a `rotationCentre` and a non-zero
   coordinate system `origin` may not be intuitively evident.
2022-08-19 12:52:29 +02:00

149 lines
3.0 KiB
C++

// -*- C++ -*-
// ************************************************************************* //
debug
{
type surfaces;
libs (sampling);
log true;
writeControl timeStep;
writeInterval 1;
fields (p rho U);
sampleScheme cellPoint;
interpolationScheme cellPoint;
surfaceFormat ensight;
// surfaceFormat vtk;
// surfaceFormat raw;
formatOptions
{
ensight
{
collateTimes true;
// collateTimes false;
fieldLevel
{
"p.*" 1e5;
U 0;
}
}
raw
{
normal true;
precision 8;
}
}
_plane
{
type plane;
source cells;
triangulate false;
normal (-1 0 0);
point (-0.042 0 0);
///point (-0.0425 0 0); // between faces
}
_disk1
{
surfaceType disk;
origin (-0.1 -0.05 0);
normal (1 1 1);
radius 0.015;
}
surfaces
{
angledPlane
{
type distanceSurface;
distance 0;
signed true;
regularise true;
surfaceType triSurfaceMesh;
surfaceName angledPlane.obj;
}
angledPlaneCut
{
type surfaceCut;
triangulate false;
surfaceType triSurfaceMesh;
surfaceName angledPlane.obj;
}
angledPlane1
{
type distanceSurface;
distance 0;
signed true;
regularise true;
surfaceType triSurfaceMesh;
surfaceName angledPlane1.obj;
}
angledPlane1Cut
{
type surfaceCut;
triangulate false;
surfaceType triSurfaceMesh;
surfaceName angledPlane1.obj;
}
disk1
{
${_disk1}
type distanceSurface;
distance 0;
cell false;
signed true;
triangulate false;
}
iso
{
type isoSurface;
isoField p;
isoValue 1e5;
regularise true;
interpolate true;
formatOptions
{
ensight
{
transform
{
origin (0 0 0);
rotationCentre (0.025 0 0);
rotation axisAngle;
axis (0 1 0);
angle 90;
}
}
}
}
// Top channel
plane1
{
${_plane}
bounds (-1 0 -1) (0 1 1);
}
// Bottom channel
plane2
{
${_plane}
bounds (-1 -1 -1) (0 0 1);
}
}
}
// ************************************************************************* //