Commit Graph

3208 Commits

Author SHA1 Message Date
0059f3c1db aerofoilNACA0012 tutorial for rhoSimpleFoam and rhoPimpleFoam
The tutorial demonstrates generation of a C-grid mesh using blockMesh
The geometry is provided by a surface mesh (OBJ file) of the NACA0012 aerofoil
The case is setup with a freestream flow speed of Ma=0.72

Thanks to Kai Bastos at Duke University for the geometry and helpful input.
2018-02-23 17:07:26 +00:00
fde4c4f43b tutorials: Fixes relating to initialisation
Some tutorials have had Allrun scripts added in order to run setFields,
which was previously omitted. Others have had nonuniform field files in
the 0 directory replaced by uniform files with .orig extensions.
2018-02-23 14:06:04 +00:00
d5d1fffcec Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-02-23 12:27:01 +00:00
fb15be492c freestreamPressure, freestreamVelocity: New blended boundary conditions for the freestream
These BCs blend between typical inflow and outflow conditions based on the
velocity orientation.

airFoil2D tutorial updated to demonstrate these new BCs.
2018-02-23 12:23:06 +00:00
a5560ad05a solutionControl: Replace solveFlow control with frozenFlow
The old "solveFlow" keyword in sprayFoam and chtMultiRegionFoam is still
available for backwards compatibility
2018-02-21 10:34:36 +00:00
c7a5f740d8 renumberMesh: Added -noFields option to avoid renumbering the fields when not necessary 2018-02-18 21:34:11 +00:00
2761c69e0e Corrected propeller tutorials 2018-02-17 23:11:43 +00:00
d8954d4370 tutorials: Removed 0.orig directories in favor of <field>.orig
The new automated <field>.orig reading has made 0.orig directories and
associated scripting redundant.
2018-02-16 23:10:09 +00:00
d66059aac1 createBaffles: Changed the "noFields" createBafflesDict switch to "fields"
Now the fields are updated corresponding to the mesh change only if the optional
"fields" switch is set true.
2018-02-16 23:04:45 +00:00
0286d5f21c mergeOrSplitBaffles: Added -fields option
Without -fields specified mergeOrSplitBaffles now manipulates the mesh only and
with the -fields option also updates the fields corresponding to the mesh change.
2018-02-16 23:03:31 +00:00
5c152e2eb4 tutorials/incompressible/pimpleFoam/RAS/propeller: Updated scripts 2018-02-16 12:17:10 +00:00
1d38ceb900 tutorials: Removed 0.orig directories in favor of <field>.orig
The new automated <field>.orig reading has made 0.orig directories and
associated scripting redundant.
2018-02-15 22:59:56 +00:00
9221dd0d0f tutorials: Removed 0.orig directories in favor of <field>.orig
The new automated <field>.orig reading has made 0.orig directories and
associated scripting redundant.
2018-02-15 20:14:27 +00:00
df6e2da2dd OpenFOAM field reading: Automated the handling of <field>.orig files
Now if a <field> file does not exist first the compressed <field>.gz file is
searched for and if that also does not exist the <field>.orig file is searched
for.

This simplifies case setup and run scripts as now setField for example can read
the <field>.orig file directly and generate the <field> file from it which is
then read by the solver.  Additionally the cleanCase function used by
foamCleanCase and the Allclean scripts automatically removed <field> files if
there is a corresponding <field>.orig file.  So now there is no need for the
Allrun scripts to copy <field>.orig files into <field> or for the Allclean
scripts to explicitly remove them.
2018-02-14 17:42:14 +00:00
019c2c08dc Corrected spelling in comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=2844
2018-02-13 22:17:53 +00:00
fe1fade8cb Corrected spelling in comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=2844
2018-02-13 20:39:56 +00:00
6a417d4a93 decomposePar: Add support for the -force option with the -allRegions option
Resolves bug-report https://bugs.openfoam.org/view.php?id=2835
2018-02-13 16:51:00 +00:00
0248dd81e3 Corrected comments: inbetween -> in between 2018-02-13 16:38:41 +00:00
f9617196ce decomposePar: Fixes to -dict option for multi-region cases 2018-02-13 14:06:30 +00:00
0bceb28e2f Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-02-12 16:57:50 +00:00
1d38e1c214 compressibleInterFoam: Improved pressure work term
Avoids accumulation of pressure work error caused by the continuity error which
is corrected-out during the PIMPLE loop.
2018-02-12 16:56:20 +00:00
04d5bdc865 snappyHexMesh: Fixed "cannot find triSurfaceMesh" error message 2018-02-12 14:33:08 +00:00
719d567a62 chtMultiRegionFoam: Added heatedDuct tutorial
This is a CHT case which uses snappyHexMesh. It is a tutorial, in the
traditional sense, in that it has been designed for training purposes.
It does not rely on changeDictionary, surface utilities, or extensive
scripting.

This work was supported by Colin Moughton, at Strix
2018-02-12 14:33:08 +00:00
c5f074cea8 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-02-12 11:48:48 +00:00
5bff8d9dd1 IATE: Corrected dilatation source 2018-02-12 11:48:00 +00:00
1a7a489c7e InjectionModel: Removed the limit on the number of particles per parcel
A lower limit of one on the number of particles represented by a single
parcel has been removed from the injection models. It may be appropriate
to simulate the statistical behaviour of a particulate flow with more
lagrangian elements than physical particles. A unity lower limit does
not permit this.

The limit was, in some situations, also causing the large-diameter end
of an injected distribution to be clipped.

This resolves bug report https://bugs.openfoam.org/view.php?id=2837
2018-02-12 09:08:52 +00:00
eba00df061 greyDiffusiveRadiationMixedFvPatchScalarField: Simplified the lookup of the fvDOM model 2018-02-11 21:02:27 +00:00
b01118c806 MRF: Remove ddtCorr from MRF regions 2018-02-10 22:46:17 +00:00
0b399ad7c1 etc/controlDict::DebugSwitches::specie: Set default to 0
pending an update to the JANAF polynomials for the chemFoam tutorials
2018-02-10 22:45:07 +00:00
139ffcc112 functionObject: Fixed bugs in function object time-step adjustment
The logic governing function objects' ability to change the time-step
has been modified so that it is compatible with the time-step adjustment
done in the Time class. The behaviour has been split into a method which
sets the step directly, and another which moidifies the time until the
next write operation (i.e., the time that the solver "aims" for).

This fixes an issue where the adjustments in Time and the function
objects interfere and cause the time step to decrease exponentially down
to machine precision. It also means that the set-time-step function
object now does not break the adjustable run-time setting.

This resolves bug report https://bugs.openfoam.org/view.php?id=2820
2018-02-08 11:22:46 +00:00
2b76b83343 solutionControl: Made simple and pimple name convention consistent 2018-02-08 11:22:46 +00:00
5f384182dc etc/controlDict::DebugSwitches::specie: Set default to 1
to check Tcommon is the same for all specie JANAF polynomials
2018-02-07 17:04:05 +00:00
8cbde12c80 directFieldMapper: Corrected constructor name
Note this class is not currently used in OpenFOAM

Resolves bug-report https://bugs.openfoam.org/view.php?id=2829
2018-02-07 15:57:50 +00:00
852726c25f compressibleInterDyMFoam: Improved conservation for morphing mesh cases
Resolves bug-report https://bugs.openfoam.org/view.php?id=2824
2018-02-07 15:36:51 +00:00
6611b54b35 fvFieldReconstructorReconstructFields: minor reformatting 2018-02-07 15:35:38 +00:00
fbf0020910 interpolationCellPointWallModified: Removed
This class did not fulfill its basic purpose and cannot be simply corrected.

Resolves bug-report https://bugs.openfoam.org/view.php?id=2826
2018-02-07 15:32:46 +00:00
15a6365a2a Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-02-06 11:49:36 +00:00
e0cd2062ad error: exit with the given error number rather than 1
Resolves patch request https://bugs.openfoam.org/view.php?id=2827
2018-02-06 11:48:15 +00:00
2feb5a12a3 VectorSpaceOps: Generalised loops for single-element vector spaces
Fixes out-of-bounds warnings generated when vector operations are
applied to spherical tensors.
2018-02-05 09:43:05 +00:00
73e9b2804f PstreamGlobals::MPI_COMM_FOAM: New OpenFOAM specific MPI communicator
Splitting MPI_COMM_FOAM from MPI_COMM_WORLD allows OpenFOAM to be linked with
other libraries communicating via MPI.

Resolves feature request https://bugs.openfoam.org/view.php?id=2815
2018-02-02 19:20:58 +00:00
be2261ca26 foamMonitor: Added -title -t option to set the graph title
Resolves feature request https://bugs.openfoam.org/view.php?id=2819
2018-02-02 16:04:12 +00:00
ce0677e560 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-02-02 14:29:43 +00:00
7dfc3c2244 ReversibleReaction: Generalized reverse rate stabilization
Changed from 1e-6 to rootSmall so that it works effectively for both double and
long double.
2018-02-02 14:28:34 +00:00
6656c849e1 pimpleMultiRegionControl: Fixed printing of PISO-mode message 2018-02-02 09:27:02 +00:00
b9e83c227e plane: Imroved the stability of construction from a plane-equation 2018-02-02 09:17:46 +00:00
283f8b7dc8 chtMultiRegionFoam: SIMPLE operation and transonic switch
Multi-region PIMPLE controls have been applied to the chtMultiRegionFoam
solver, and a transonic option has been implemented.

The new PIMPLE controls let the solver operate SIMPLE mode. The
utilisation of library solution and convergence control functionality
has significantly reduced the amount of code in the solver. The
chtMultiRegionSimpleFoam solver has also been made obsolete, and has
therefore been removed.

A few changes will be necessary to convert an existing
chtMultiRegionSimpleFoam case to chtMultiRegionFoam. All the SIMPLE
sub-dictionaries in the system/<regions>/fvSolution will need to be
renamed PIMPLE. The system/fvSolution file will also need an empty
PIMPLE sub-dictionary. In addition, additional "<variable>Final" solver
and relaxation entries will be needed. For a steady case, adding a
wildcard ending, ".*", to the variable names should be sufficient.

Solution parameters appropriate for a steady case are shown below:

    solvers
    {
        "p_rgh.*"
        {
            solver           GAMG;
            tolerance        1e-7;
            relTol           0.01;
            smoother         DIC;
            maxIter          10;
        }

        "(U|h|e|k|epsilon).*"
        {
            solver           PBiCGStab;
            preconditioner   DILU;
            tolerance        1e-7;
            relTol           0.1;
        }
    }

    PIMPLE
    {
        // ...
    }

    relaxationFactors
    {
        fields
        {
            "p_rgh.*"       0.7;
        }
        equations
        {
            "U.*"           0.5;
            "(h|e).*"       0.3;
            "(k|epsilon).*" 0.2;
        }
    }

This work was supported by Fabian Buelow, at Evonik
Tobias Holzmann provided cases for testing the convergence controls
2018-02-01 19:13:48 +00:00
4c8122783a solutionControl: Multi-region and PIMPLE time-loop control
The solution controls have been rewritten for use in multi-region
solvers, and PIMPLE fluid/solid solution controls have been implemented
within this framework.

PIMPLE also now has time-loop convergence control which can be used to
end the simulation once a certain initial residual is reached. This
allows a PIMPLE solver to run with equivalent convergence control to a
SIMPLE solver. Corrector loop convergence control is still available,
and can be used at the same time as the time-loop control.

The "residualControl" sub-dictionary of PIMPLE contains the residual
values required on the first solve of a time-step for the simulation to
end. This behaviour is the same as SIMPLE. The
"outerCorrectorResidualControl" sub-dictionary contains the tolerances
required for the corrector loop to exit. An example specification with
both types of control active is shown below.

PIMPLE
{
    // ...

    residualControl
    {
        p               1e-3;
        U               1e-4;
        "(k|epsilon|omega)" 1e-3;
    }

    outerCorrectorResidualControl
    {
        U
        {
            tolerance       1e-4;
            relTol          0.1;
        }
        "(k|epsilon|omega)"
        {
            tolerance       1e-3;
            relTol          0.1;
        }
    }
}

Note that existing PIMPLE "residualControl" entries will need to be
renamed "outerCorrectorResidualControl".

Application within a solver has also changed slightly. In order to have
convergence control for the time loop as a whole, the
solutionControl::loop(Time&) method (or the equivalent run method) must
be used; i.e.,

    while (simple.loop(runTime))
    {
        Info<< "Time = " << runTime.timeName() << nl << endl;

        // solve ...
    }

or,

    while (pimple.run(runTime))
    {
        // pre-time-increment operations ...

        runTime ++;
        Info<< "Time = " << runTime.timeName() << nl << endl;

        // solve ...
    }
2018-02-01 16:44:07 +00:00
08d5fce8ca chemistryModel: Added new option to specify the initial ODE integration time-step
In constant/chemistryProperties in addition to the specification of the initial
ODE integration time-step used at the start of the run:

    initialChemicalTimeStep 1e-12;

this time step may now also be specified for every chemistry integration by
setting the optional entry maxChemicalTimeStep, e.g.

    maxChemicalTimeStep 1e-12;
2018-02-01 11:27:31 +00:00
1a0d663977 EulerDdtScheme: Corrected fvcDdt dimensions for multiphase moving-mesh cases
Resolves bug-report https://bugs.openfoam.org/view.php?id=2822
2018-01-31 16:44:58 +00:00
9cc2c6eacf thermo::K: updated for new C++11 scalar limits 2018-01-30 21:54:56 +00:00