Commit Graph

788 Commits

Author SHA1 Message Date
Andrew Heather
4abc7a92ed STYLE: Header updates 2017-06-26 11:03:00 +01:00
Mark Olesen
491657047b TUT: simple tutorial demonstrating lumpedPointMotion 2017-06-23 14:52:27 +01:00
Mark Olesen
8005e2b4a2 ENH: add cloneParallelCase function into bin/tools/RunFunctions 2017-06-22 14:45:53 +01:00
mattijs
e17e8e4e96 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop
Conflicts:
	tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/T
	tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/zoneID
2017-06-22 09:48:31 +01:00
Mark Olesen
6ecddbe4a5 STYLE: use #includeEtc in tutorial cases
#includeEtc "caseDicts/setConstraintTypes"
 vs.
    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
2017-06-21 16:42:57 +01:00
mattijs
cbbf08dc0d STYLE: tutorials: fix headers 2017-06-21 12:49:28 +01:00
sergio
6ff341b5f5 Adding alphaEqn.H with interpolation method.
Adding special alphaCourantNo for overlaping
Adding bounded term to UEq.H for overInterDyMFoam
Changing to NO_WRITE for the cellMask field
Changing twoSimpleRotors tutorial to open domain
2017-06-19 11:10:19 -07:00
mattijs
7c88c694df STYLE: vtkWrite: added comment 2017-06-14 15:34:05 +01:00
Andrew Heather
2dfd01ac7b Merge branch 'feature-paraview-vtk' into 'develop'
Feature paraview vtk

See merge request !116
2017-06-14 14:16:18 +01:00
Mark Olesen
7eec9f0dd6 STYLE: use standardized 0.orig/ for overset tutorials 2017-06-14 14:15:22 +02:00
mattijs
fd665b4a3c ENH: overset: Initial release of overset capability.
Adds overset discretisation to selected physics:
- diffusion : overLaplacianDyMFoam
- incompressible steady : overSimpleFoam
- incompressible transient : overPimpleDyMFoam
- compressible transient: overRhoPimpleDyMFoam
- two-phase VOF: overInterDyMFoam

The overset method chosen is a parallel, fully implicit implementation
whereby the interpolation (from donor to acceptor) is inserted as an
adapted discretisation on the donor cells, such that the resulting matrix
can be solved using the standard linear solvers.

Above solvers come with a set of tutorials, showing how to create and set-up
simple simulations from scratch.
2017-06-14 09:51:02 +01:00
Mark Olesen
98cc0fc004 ENH: upgrade writeVTK function object -> vtkWrite function object
- user-selectable format (vtk or vtu, ascii or binary)
- dictionary syntax closer to ensightWrite
- tutorial example in windAroundBuildings
2017-06-14 01:48:32 +02:00
Mark Olesen
0ea219adf5 TUT: consistent writeCompression option
- Use on/off vs longer compressed/uncompressed.
  For consistency, replaced yes/no with on/off.

- Avoid the combination of binary/compressed,
  which is disallowed and provokes a warning anyhow
2017-06-13 06:50:16 +02:00
sergio
852616ba88 interpolationTable: Correcting header documentation
fanPressureFvPatchScalarField.H:  Correcting header documentation
RAS/TJunctionFan/0.orig: Creating tutorial for fanPressure
Adding pRef and pValue for tutorial createZeroDirectory/snappyMultiRegionHeater
2017-06-12 13:53:52 -07:00
Andrew Heather
0a4733acab ENH: Tutorial updates 2017-05-18 14:47:00 +01:00
Andrew Heather
91b90da4f3 Integrated Foundation code to commit 104aac5 2017-05-17 16:35:18 +01:00
Henry Weller
5c51836501 The "<type>Coeffs" sub-dictionary is now optional for most model parameters
except turbulence and lagrangian which will also be updated shortly.

For example in the nonNewtonianIcoFoam offsetCylinder tutorial the viscosity
model coefficients may be specified in the corresponding "<type>Coeffs"
sub-dictionary:

transportModel  CrossPowerLaw;

CrossPowerLawCoeffs
{
    nu0         [0 2 -1 0 0 0 0]  0.01;
    nuInf       [0 2 -1 0 0 0 0]  10;
    m           [0 0 1 0 0 0 0]   0.4;
    n           [0 0 0 0 0 0 0]   3;
}

BirdCarreauCoeffs
{
    nu0         [0 2 -1 0 0 0 0]  1e-06;
    nuInf       [0 2 -1 0 0 0 0]  1e-06;
    k           [0 0 1 0 0 0 0]   0;
    n           [0 0 0 0 0 0 0]   1;
}

which allows a quick change between models, or using the simpler

transportModel  CrossPowerLaw;

nu0         [0 2 -1 0 0 0 0]  0.01;
nuInf       [0 2 -1 0 0 0 0]  10;
m           [0 0 1 0 0 0 0]   0.4;
n           [0 0 0 0 0 0 0]   3;

if quick switching between models is not required.

To support this more convenient parameter specification the inconsistent
specification of seedSampleSet in the streamLine and wallBoundedStreamLine
functionObjects had to be corrected from

    // Seeding method.
    seedSampleSet   uniform;  //cloud; //triSurfaceMeshPointSet;

    uniformCoeffs
    {
        type        uniform;
        axis        x;  //distance;

        // Note: tracks slightly offset so as not to be on a face
        start       (-1.001 -0.05 0.0011);
        end         (-1.001 -0.05 1.0011);
        nPoints     20;
    }

to the simpler

    // Seeding method.
    seedSampleSet
    {
        type        uniform;
        axis        x;  //distance;

        // Note: tracks slightly offset so as not to be on a face
        start       (-1.001 -0.05 0.0011);
        end         (-1.001 -0.05 1.0011);
        nPoints     20;
    }

which also support the "<type>Coeffs" form

    // Seeding method.
    seedSampleSet
    {
        type        uniform;

        uniformCoeffs
        {
            axis        x;  //distance;

            // Note: tracks slightly offset so as not to be on a face
            start       (-1.001 -0.05 0.0011);
            end         (-1.001 -0.05 1.0011);
            nPoints     20;
        }
    }
2017-04-20 09:14:48 +01:00
Henry Weller
af2810149e porosityModel: The "<porosityModel>Coeffs" sub-dictionary is now optional
For example the porosity coefficients may now be specified thus:

porosity1
{
    type            DarcyForchheimer;

    cellZone        porosity;

    d   (5e7 -1000 -1000);
    f   (0 0 0);

    coordinateSystem
    {
        type    cartesian;
        origin  (0 0 0);
        coordinateRotation
        {
            type    axesRotation;
            e1      (0.70710678 0.70710678 0);
            e2      (0 0 1);
        }
    }
}

rather than

porosity1
{
    type            DarcyForchheimer;
    active          yes;
    cellZone        porosity;

    DarcyForchheimerCoeffs
    {
        d   (5e7 -1000 -1000);
        f   (0 0 0);

        coordinateSystem
        {
            type    cartesian;
            origin  (0 0 0);
            coordinateRotation
            {
                type    axesRotation;
                e1      (0.70710678 0.70710678 0);
                e2      (0 0 1);
            }
        }
    }
}

support for which is maintained for backward compatibility.
2017-04-13 14:00:00 +01:00
Henry Weller
8b55ea4fb1 fvOptions: The "<type>Coeffs" sub-dictionary is now optional
For example the actuationDiskSource fvOption may now be specified

disk1
{
    type            actuationDiskSource;

    fields      (U);

    selectionMode   cellSet;
    cellSet         actuationDisk1;
    diskDir         (1 0 0);    // Orientation of the disk
    Cp              0.386;
    Ct              0.58;
    diskArea        40;
    upstreamPoint   (581849 4785810 1065);
}

rather than

disk1
{
    type            actuationDiskSource;
    active          on;

    actuationDiskSourceCoeffs
    {
        fields      (U);

        selectionMode   cellSet;
        cellSet         actuationDisk1;
        diskDir         (1 0 0);    // Orientation of the disk
        Cp              0.386;
        Ct              0.58;
        diskArea        40;
        upstreamPoint   (581849 4785810 1065);
    }
}

but this form is supported for backward compatibility.
2017-04-13 13:30:17 +01:00
Andrew Heather
fb724ce113 MRG: Integrated Foundation code to commit 9f37c3c 2017-03-31 15:34:28 +01:00
Andrew Heather
45381b1085 MRG: Integrated Foundation code to commit 19e602b 2017-03-28 11:30:10 +01:00
Andrew Heather
436ec1cf1f MRG: Integrated Foundation code to commit ba4dbed 2017-03-23 12:11:49 +00:00
Chris Greenshields
6f5caf28d5 pitzDaily tutorials: updated blockMeshDict files to use multi-grading
The pitzDaily case uses a lot of mesh grading close to walls and the shear layer.
Prior to v2.4, blockMesh only permitted grading in one direction within a single block,
so the pitzDaily mesh comprised of 13 blocks to accommodate the complex grading pattern.

blockMesh has multi-grading that allows users to divide a block in a given direction and
apply different grading within each division.  The mesh generated with blockMesh using
13 blocks has been replaced with a mesh of 5 blocks that use multi-grading.  The new
blockMeshDict configuration produces a mesh very similar to the original 13-block mesh.
2017-03-17 12:42:13 +00:00
Henry Weller
7f5c135020 wingMotion tutorial: Corrected fvSolution file 2017-03-09 23:11:30 +00:00
Henry Weller
1be5f699e5 decomposePar: Added 'copyZero' option
Using

decomposePar -copyZero

The mesh is decomposed as usual but the '0' directory is recursively copied to
the 'processor.*' directories rather than decomposing the fields.  This is a
convenient option to handle cases where the initial field files are generic and
can be used for serial or parallel running.  See for example the
incompressible/simpleFoam/motorBike tutorial case.
2017-03-08 11:48:06 +00:00
Henry Weller
7aed8c2904 tutorials: Updated pcorr settings in fvSolution to provide pcorrFinal if required 2017-03-07 11:48:20 +00:00
Henry Weller
55e7a77ac6 tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/Allrun: Remove previous 0 directories
Patch contributed by Mattijs Janssens
2017-03-06 23:18:13 +00:00
Henry Weller
fe548839c5 tutorials/incompressible/pisoFoam/LES/motorBike: Removed unused $1 arguments to xargs
Resolves bug-report https://bugs.openfoam.org/view.php?id=2475
2017-02-28 11:27:28 +00:00
mark
9e2e111518 STYLE: adjust ordering of 'find' command arguments
- use -name test before -type test to avoid calling stat(2) on every file.
- use -delete instead of -exec rm to avoid forking
2017-02-21 19:19:04 +01:00
Mark Olesen
d3911dd167 STYLE: avoid old-style shell backticks in various places 2017-02-20 09:30:58 +01:00
Mark Olesen
ec94c078e3 BUG: STL patch names not being passed through
- regression introduced by a719528832

STYLE: add meaningful solid names for some stl files
2017-02-03 09:33:22 +00:00
Henry Weller
4e5dc43418 snappyHexMesh: Added "noRefinement" writeFlag to control the writing of cellLevel, pointLevel etc. files
By default snappyHexMesh writes files relating to the hex-splitting process into
the polyMesh directory: cellLevel level0Edge pointLevel surfaceIndex

but by setting the noRefinement flag:

writeFlags
(
    noRefinement
    .
    .
    .
);

these optional files which are generally not needed are not written.

If you run the three stages of snappyHexMesh separately or run a dynamic mesh
solver supporting refinement and unrefinement these files are needed
and "noRefinement" should not be set.
2017-01-24 22:28:36 +00:00
Andrew Heather
28e37bbec9 STYLE: Consistency updates 2016-12-16 14:36:48 +00:00
Andrew Heather
30d8fc3459 ENH: Tutorial updates and clean-up 2016-12-16 13:26:28 +00:00
Andrew Heather
7e985a9b7c BUG: tutorial - corrected runTimePostProcessing intput. See #340 2016-12-15 16:28:36 +00:00
Andrew Heather
ad807e8d31 BUG: Updates to DyM tutorials - see #340 2016-12-13 12:40:58 +00:00
Henry Weller
d2f6f7e391 tutorials/incompressible/pisoFoam/les/motorBike/motorBike/Allrun: Removed spurious '-parallel' option
Resolves bug-report http://bugs.openfoam.org/view.php?id=2378
2016-12-07 15:39:40 +00:00
Henry Weller
445513a1dc mixerVesselAMI2D/constant/dynamicMeshDict: Removed unused motionSolverLibs entry 2016-12-01 16:13:18 +00:00
Henry Weller
1c687baa35 dynamicMotionSolverListFvMesh: New mesh-motion solver supporting multiple moving regions
e.g. the motion of two counter-rotating AMI regions could be defined:

dynamicFvMesh   dynamicMotionSolverListFvMesh;

solvers
(
    rotor1
    {
        solver solidBody;

        cellZone        rotor1;

        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (0 0 0);
            axis          (0 0 1);
            omega         6.2832; // rad/s
        }
    }

    rotor2
    {
        solver solidBody;

        cellZone        rotor2;

        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (0 0 0);
            axis          (0 0 1);
            omega         -6.2832; // rad/s
        }
    }
);

Any combination of motion solvers may be selected but there is no special
handling of motion interaction; the motions are applied sequentially and
potentially cumulatively.

To support this new general framework the solidBodyMotionFvMesh and
multiSolidBodyMotionFvMesh dynamicFvMeshes have been converted into the
corresponding motionSolvers solidBody and multiSolidBody and the tutorials
updated to reflect this change e.g. the motion in the mixerVesselAMI2D tutorial
is now defined thus:

dynamicFvMesh   dynamicMotionSolverFvMesh;

solver solidBody;

solidBodyCoeffs
{
    cellZone        rotor;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin        (0 0 0);
        axis          (0 0 1);
        omega         6.2832; // rad/s
    }
}
2016-12-01 15:57:15 +00:00
Andrew Heather
c0f44ac4f3 MRG: Integrated foundation code 2016-12-12 12:10:29 +00:00
Andrew Heather
b7ea6ee24e Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-11-24 12:05:24 +00:00
Andrew Heather
9316088550 STYLE: Relocated DFSEM tutorial 2016-11-24 12:05:12 +00:00
Mark Olesen
58fad3ab79 BUG: snappyHexMesh with -decomposeParDict option (issue #265)
- only occurs in combination with distributedTriSurfaceMesh in snappy.

- workaround similar to that previously used for surfaceRedistributePar
  (issue #60).

Minor adjustment of incompressible motorBike tutorial to detect use of
distributedTriSurfaceMesh.
2016-11-24 12:02:11 +01:00
Andrew Heather
558006afd2 BUG: Corrections to commit 1f826361 for issue #306 2016-11-22 15:12:10 +00:00
Andrew Heather
1f826361c6 STYLE: Consistency updates to change input of <var>Name to <var>. Fixes #306 2016-11-22 14:50:33 +00:00
sergio
143e99194f ENH: Adding functionality to scalarTransport FO and residence time tutorials for VOF
and single phase cases. Registration of the compressed flux in interFoam as it is
needed for the FO if used.
2016-11-21 09:21:45 -08:00
Mark Olesen
a6a90838fa STYLE: adjust tutorial Allrun scripts (issue #310)
- A few without a 'cd' at the start.
  Use $(getApplication) directly in more places (for clarity).
2016-11-21 10:18:00 +01:00
Mark Olesen
21679c04e4 STYLE: adjust tutorial Allclean scripts (issue #310)
- A few without a 'cd' at the start.
  Several remove files that are already covered by the cleanCase function.
2016-11-20 17:26:44 +01:00
Mark Olesen
f3cc16e42c ENH: Avoid constant/polyMesh/blockMeshDict (issue #309)
- relocate to system/blockMeshDict, which avoids it being cleaned out
  accidentally
2016-11-20 16:50:47 +01:00
Mark Olesen
8b4dfe24f1 Merge remote-tracking branch 'origin/decomposeParDict' into develop 2016-11-19 15:34:36 +01:00
Henry Weller
80db302666 Allwmake: Remove 'set -x' which generates a lot of noise
'set -x' should be used for debugging.

Added command printing into wmake and Allwmake as a replacement for
'set -x' to log current target.
2016-11-13 18:08:22 +00:00
Mark Olesen
f0107b47f5 Merge branch 'ensight-preview' into 'develop'
Reworking of the ensight infrastructue and new ensightWrite function object



See merge request !70
2016-11-03 08:24:52 +00:00
Andrew Heather
b9d5e5bab1 STYLE: tutorial updates 2016-11-01 16:55:58 +00:00
Andrew Heather
99151638e3 STYLE: moved les tut file to LES directory 2016-11-01 15:36:11 +00:00
Mark Olesen
aca0b1ca04 COMP: ensight writer compilation for 64-bit labels (issue #263)
GIT: added missing source file.

ENH: add tutorial example under incompressible/simpleFoam/motorBike
2016-10-28 11:49:05 +02:00
Andrew Heather
af81184ecf MRG: Resolve conflict with latest foundation merge 2016-10-26 15:37:15 +01:00
Mark Olesen
52d0289ee1 BUG: resolve some decomposeParDict problems (issues #60, #265).
- Cleanup/centralize handling of -decomposeParDict by relocating
  common code into argList. Ensures that all processes receive
  identical information about the -decomposeParDict opton.

- Only use alternative decomposeParDict for simpleFoam/motorBike
  tutorial so that this will be included in the test loop for snappy.

- Added Mattijs' fix for surfaceRedistributePar.
2016-10-25 18:19:19 +02:00
Henry Weller
12d0707b84 foamCleanTutorials: Simplified cleaning the mesh by removing the constant/polyMesh directory 2016-10-13 15:02:32 +01:00
Andrew Heather
e98e372f8e ENH: Tutorial updates 2016-09-30 15:31:35 +01:00
Andrew Heather
bd0e982d99 MRG: Initial commit after latest Foundation merge 2016-09-30 11:16:28 +01:00
Andrew Heather
3dbd39146c STYLE: consistency updates 2016-09-27 15:17:55 +01:00
Andrew Heather
89d9fd1550 ENH: Tutorial updates 2016-09-26 13:00:49 +01:00
Andrew Heather
ad1e798293 ENH: Initial testing updates 2016-09-26 09:28:31 +01:00
Henry Weller
fdece9b2ce tutorials/incompressible/shallowWaterFoam/squareBump/.gmtcommands4: deleted
Resolves bug-report http://bugs.openfoam.org/view.php?id=2268
2016-09-25 16:53:37 +01:00
Andrew Heather
1fbcb686ff STYLE: Consistency updates 2016-09-23 16:52:46 +01:00
Henry Weller
1e94682f24 tutorials: Renamed sub-directories ras -> RAS and les -> LES 2016-09-20 19:03:40 +01:00
Chris Greenshields
bb3c0c3593 Maxwell model for viscoelasticity using the upper-convected time
derivative of the stress tensor.  See
http://en.wikipedia.org/wiki/Upper-convected_Maxwell_model

The model includes an additional viscosity (nu) from the transport
model from which it is instantiated, which makes it equivalent to the
Oldroyd-B model for the case of an incompressible transport model.
See https://en.wikipedia.org/wiki/Oldroyd-B_model
2016-09-20 18:38:15 +01:00
Chris Greenshields
6baa2aaf58 Organisation of pimpleFoam tutorials into categories of turbulence modelling 2016-09-20 18:24:09 +01:00
Andrew Heather
9fbd612672 GIT: Initial state after latest Foundation merge 2016-09-20 14:49:08 +01:00
Henry Weller
0857f479a8 PBiCGStab: New preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices
using a run-time selectable preconditioner

References:
    Van der Vorst, H. A. (1992).
    Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG
    for the solution of nonsymmetric linear systems.
    SIAM Journal on scientific and Statistical Computing, 13(2), 631-644.

    Barrett, R., Berry, M. W., Chan, T. F., Demmel, J., Donato, J.,
    Dongarra, J., Eijkhout, V., Pozo, R., Romine, C. & Van der Vorst, H.
    (1994).
    Templates for the solution of linear systems:
    building blocks for iterative methods
    (Vol. 43). Siam.

See also: https://en.wikipedia.org/wiki/Biconjugate_gradient_stabilized_method

Tests have shown that PBiCGStab with the DILU preconditioner is more
robust, reliable and shows faster convergence (~2x) than PBiCG with
DILU, in particular in parallel where PBiCG occasionally diverges.

This remarkable improvement over PBiCG prompted the update of all
tutorial cases currently using PBiCG to use PBiCGStab instead.  If any
issues arise with this update please report on Mantis: http://bugs.openfoam.org
2016-09-05 11:46:42 +01:00
Andrew Heather
bc5c6d83df BUG: incompressible/icoFoam/cavityMappingTest - renamed Allrun-serial->Allrun. Fixes #220 2016-08-25 13:34:17 +01:00
Henry Weller
32fe670d1e tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile: Corrected typo
Resolves bug-report http://bugs.openfoam.org/view.php?id=2170
2016-08-01 20:10:19 +01:00
Henry Weller
04f73903b4 tutorials/incompressible/simpleFoam/T3A: ERCOFTAC T3A 3% test-case for the kOmegaSSTLM model
References:
    Savill, A. M. (1993).
    Some recent progress in the turbulence modelling of by-pass transition.
    Near-wall turbulent flows, 829-848.

    Savill, A. M. (1996).
    One-point closures applied to transition.
    In Turbulence and transition modelling (pp. 233-268).
    Springer Netherlands.

Based on case contributed by Florian Schwertfirm, Kreuzinger und Manhart Turbulenz GmbH.
2016-07-29 10:51:42 +01:00
Andrew Heather
ff0557cf22 BUG: ensight output - corrected mask 2016-06-30 23:05:23 +01:00
Mark Olesen
6d71d03f44 ENH: default to collateTimes on for ensight output
- the uncollated version becomes quite difficult to process.

  Caveat: cannot use "collateTimes true" for non-static geometries
2016-06-30 15:32:21 +02:00
Henry Weller
9fdb5506f4 timeVaryingMappedFixedValueFvPatchField: Simplifed for consistency with the output of sampledPlane
Now a case can be sampled and written in 'foam' format and used for the
timeVaryingMappedFixedValue BC of another case.
2016-06-30 10:35:01 +01:00
Andrew Heather
038356cdda Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-06-29 21:37:10 +01:00
Andrew Heather
208de6b320 ENH: Added new mapFields function object 2016-06-29 21:34:33 +01:00
Henry Weller
6d330d3d12 tutorials: Updated formatting of dictionaries and specification of 'plane' and 'samplePlane' 2016-06-29 18:02:57 +01:00
Mark Olesen
6e6ed0ca94 STYLE: cleanup rhoPorousSimpleFoam tutorial case
- better cleanup, avoid collisions between implicit and explicit cases
2016-06-29 14:21:02 +02:00
Mark Olesen
820f809bd5 STYLE: cleanup handling of 0.org directories (in parallel)
- remove duplicate 0/ files from the repository
2016-06-29 13:34:36 +02:00
Mark Olesen
1988e4bb60 STYLE: avoid backticks for getApplication 2016-06-27 17:50:55 +02:00
Mark Olesen
dd60cfcd06 FIX: provide restore0Dir function to fix issue #159
- makes it easier to ensure the correct behaviour, consistently
2016-06-27 16:33:55 +02:00
Andrew Heather
dd3fb6225f ENH: Tutorials - added new channel tutorial to show turbulence DFSEM inlet behaviour 2016-06-28 15:49:18 +01:00
Chris Greenshields
aa12a81474 pitzDaily tutorial: replaced streamline function object
with new #includeFunc directive
2016-06-17 08:18:41 +01:00
Henry Weller
64aa9925e4 totalPressureFvPatchScalarField, uniformTotalPressureFvPatchScalarField: simplified and rationalized
The modes of operation are set by the dimensions of the pressure field
    to which this boundary condition is applied, the \c psi entry and the value
    of \c gamma:
    \table
        Mode                    | dimensions | psi   | gamma
        incompressible subsonic | p/rho      |       |
        compressible subsonic   | p          | none  |
        compressible transonic  | p          | psi   | 1
        compressible supersonic | p          | psi   | > 1
    \endtable

    For most applications the totalPressure boundary condition now only
    requires p0 to be specified e.g.
    outlet
    {
        type            totalPressure;
        p0              uniform 1e5;
    }
2016-06-16 12:21:34 +01:00
Henry Weller
3d98d6e5c6 changeDictionary: Simplified by removing the need for the superfluous dictionaryReplacement sub-dictionary
Added the option '-subDict' to specify a sub-dictionary if multiple
replacement sets are present in the same file.  This also provides
backward compatibility by setting '-subDict dictionaryReplacement'
2016-06-15 09:03:05 +01:00
Chris Greenshields
344f435f54 Tutorials fvSolution files: removed solver entries which use default
values; formatted Switch entries consistently across all cases
2016-06-15 07:39:12 +01:00
Chris Greenshields
3d810c11dc Tutorials: made laplacianSchemes consistent and correct 2016-06-13 23:38:03 +01:00
Henry Weller
de02a089ba tutorials: Removed references to 'sampleDict' 2016-06-13 14:53:56 +01:00
Chris Greenshields
cc151ce9a0 pimpleDyMFoam/mixerVesselAMI2D: removed redundant coefficient 2016-06-13 13:12:24 +01:00
Henry Weller
83321bd4f7 functionObjects: renamed faceSource -> surfaceRegion, cellSource -> volRegion
The use of the term 'source' in the context of post-processing is
confusing and does not properly describe the process of region
selection.  The new names 'surfaceRegion' and 'volRegion' better
describe the purpose of the functionObjects which is to provide field
processing functionality limited to a specified region of space, either
a surface or volume.

The keyword 'source' is renamed 'regionType' which better describes the
purpose which is to specify the method by which the surface or volume
region is selected.

The keyword to select the name of the surface or volume region is
renamed from 'sourceName' to 'name' consistent with the other
name-changes above.
2016-06-12 20:56:51 +01:00
Henry Weller
43b3fa2ce3 functionObjects::scalarTransport: simplified, standardized, rationalized
tutorials/incompressible/pisoFoam/les/pitzDaily: Added scalarTransport
functionObject to demonstrate the new functionality
2016-06-08 15:11:57 +01:00
Chris Greenshields
ee6188ed09 Removed fixedWalls from cuttingPatches because it is redundant now fixedWalls is noSlip 2016-06-08 14:08:26 +01:00
Chris Greenshields
c32f4fef00 Corrected RAS cavity case to be consistent with User Guide tutorial 2016-06-08 14:01:50 +01:00
Henry Weller
dd281330bc foamInfoExec: Time listing functionality superseded by foamListTimes 2016-06-03 19:23:27 +01:00
Henry Weller
ea6d010f51 tutorials/incompressible/pimpleDyMFoam/propeller: Use the standard 'Q' functionObject configuration 2016-05-31 21:21:41 +01:00
Henry Weller
d438da1eb7 ACMI: Corrected conservation issue
Patch contributed by Mattijs Janssens
Resolves bug-report http://bugs.openfoam.org/view.php?id=2057
2016-05-30 08:29:11 +01:00
Henry Weller
e4dc50dcb0 postProcessing: Replaced 'foamCalc' and the 'postCalc' utilities
with the more general and flexible 'postProcess' utility and '-postProcess' solver option

Rationale
---------

Both the 'postProcess' utility and '-postProcess' solver option use the
same extensive set of functionObjects available for data-processing
during the run avoiding the substantial code duplication necessary for
the 'foamCalc' and 'postCalc' utilities and simplifying maintenance.
Additionally consistency is guaranteed between solver data processing
and post-processing.

The functionObjects have been substantially re-written and generalized
to simplify development and encourage contribution.

Configuration
-------------

An extensive set of simple functionObject configuration files are
provided in

OpenFOAM-dev/etc/caseDicts/postProcessing

and more will be added in the future.  These can either be copied into
'<case>/system' directory and included into the 'controlDict.functions'
sub-dictionary or included directly from 'etc/caseDicts/postProcessing'
using the '#includeEtc' directive or the new and more convenient
'#includeFunc' directive which searches the
'<etc>/caseDicts/postProcessing' directories for the selected
functionObject, e.g.

functions
{
    #includeFunc Q
    #includeFunc Lambda2
}

'#includeFunc' first searches the '<case>/system' directory in case
there is a local configuration.

Description of #includeFunc
---------------------------

    Specify a functionObject dictionary file to include, expects the
    functionObject name to follow (without quotes).

    Search for functionObject dictionary file in
    user/group/shipped directories.
    The search scheme allows for version-specific and
    version-independent files using the following hierarchy:
    - \b user settings:
      - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing
      - ~/.OpenFOAM/caseDicts/postProcessing
    - \b group (site) settings (when $WM_PROJECT_SITE is set):
      - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing
      - $WM_PROJECT_SITE/caseDicts/postProcessing
    - \b group (site) settings (when $WM_PROJECT_SITE is not set):
      - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing
      - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing
    - \b other (shipped) settings:
      - $WM_PROJECT_DIR/etc/caseDicts/postProcessing

    An example of the \c \#includeFunc directive:
    \verbatim
        #includeFunc <funcName>
    \endverbatim

postProcess
-----------

The 'postProcess' utility and '-postProcess' solver option provide the
same set of controls to execute functionObjects after the run either by
reading a specified set of fields to process in the case of
'postProcess' or by reading all fields and models required to start the
run in the case of '-postProcess' for each selected time:

postProcess -help

Usage: postProcess [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -constant         include the 'constant/' dir in the times list
  -dict <file>      read control dictionary from specified location
  -field <name>     specify the name of the field to be processed, e.g. U
  -fields <list>    specify a list of fields to be processed, e.g. '(U T p)' -
                    regular expressions not currently supported
  -func <name>      specify the name of the functionObject to execute, e.g. Q
  -funcs <list>     specify the names of the functionObjects to execute, e.g.
                    '(Q div(U))'
  -latestTime       select the latest time
  -newTimes         select the new times
  -noFunctionObjects
                    do not execute functionObjects
  -noZero           exclude the '0/' dir from the times list, has precedence
                    over the -withZero option
  -parallel         run in parallel
  -region <name>    specify alternative mesh region
  -roots <(dir1 .. dirN)>
                    slave root directories for distributed running
  -time <ranges>    comma-separated time ranges - eg, ':10,20,40:70,1000:'
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

 pimpleFoam -postProcess -help

Usage: pimpleFoam [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -constant         include the 'constant/' dir in the times list
  -dict <file>      read control dictionary from specified location
  -field <name>     specify the name of the field to be processed, e.g. U
  -fields <list>    specify a list of fields to be processed, e.g. '(U T p)' -
                    regular expressions not currently supported
  -func <name>      specify the name of the functionObject to execute, e.g. Q
  -funcs <list>     specify the names of the functionObjects to execute, e.g.
                    '(Q div(U))'
  -latestTime       select the latest time
  -newTimes         select the new times
  -noFunctionObjects
                    do not execute functionObjects
  -noZero           exclude the '0/' dir from the times list, has precedence
                    over the -withZero option
  -parallel         run in parallel
  -postProcess      Execute functionObjects only
  -region <name>    specify alternative mesh region
  -roots <(dir1 .. dirN)>
                    slave root directories for distributed running
  -time <ranges>    comma-separated time ranges - eg, ':10,20,40:70,1000:'
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

The functionObjects to execute may be specified on the command-line
using the '-func' option for a single functionObject or '-funcs' for a
list, e.g.

postProcess -func Q
postProcess -funcs '(div(U) div(phi))'

In the case of 'Q' the default field to process is 'U' which is
specified in and read from the configuration file but this may be
overridden thus:

postProcess -func 'Q(Ua)'

as is done in the example above to calculate the two forms of the divergence of
the velocity field.  Additional fields which the functionObjects may depend on
can be specified using the '-field' or '-fields' options.

The 'postProcess' utility can only be used to execute functionObjects which
process fields present in the time directories.  However, functionObjects which
depend on fields obtained from models, e.g. properties derived from turbulence
models can be executed using the '-postProcess' of the appropriate solver, e.g.

pisoFoam -postProcess -func PecletNo

or

sonicFoam -postProcess -func MachNo

In this case all required fields will have already been read so the '-field' or
'-fields' options are not be needed.

Henry G. Weller
CFD Direct Ltd.
2016-05-28 18:58:48 +01:00
Henry Weller
8b3b04b2f0 tutorials/incompressible/pimpleDyMFoam/propeller/system/Q: Updated 2016-05-22 19:03:23 +01:00