Commit Graph

1940 Commits

Author SHA1 Message Date
476cbcaac8 reactionThermo: Single component mixture
This mixture allows a reacting solver to be used with a single component
fluid without the additional case files usually required for reacting
thermodynamics.
2017-12-18 08:28:59 +00:00
ea51d79c0d basicSpecieThermo: Updated solver references to mixture class 2017-12-18 08:28:59 +00:00
1206066f40 reactionThermo: Corrected argument names in make macros 2017-12-18 08:28:59 +00:00
5ea87082f1 ODESolver: maxSteps now an optional input
e.g.

odeCoeffs
{
    solver          seulex;
    absTol          1e-12;
    relTol          0.0001;
    maxSteps        1e+06;
}

maxSteps defaults to 10000 for backward compatibility.
2017-12-15 15:26:47 +00:00
10e75bf28a rigidBodyModelState: Added time value member
The absolute value of the the time has been added to the rigid body
model state. This value is not directly necessary for calculating the
evolution of the rigid body system, it just facilitates the
implementation of sub-models which are in some way time-dependent.
2017-12-13 12:06:53 +00:00
68afe78b9b combustionModel: Namespace changes
Wrapped combustion model make macros in the Foam namespace and removed
combustion model namespace from the base classes. This fixes a namespace
specialisation bug in gcc 4.8. It is also somewhat less verbose in the
solvers.

This resolves bug report https://bugs.openfoam.org/view.php?id=2787
2017-12-12 10:29:40 +00:00
61cab84fa6 combustionModel, chemistryModel: Simplified model selection
The combustion and chemistry model selection has been simplified so
that the user does not have to specify the form of the thermodynamics.

Examples of new combustion and chemistry entries are as follows:

    In constant/combustionProperties:

        combustionModel PaSR;

        combustionModel FSD;

    In constant/chemistryProperties:

        chemistryType
        {
            solver          ode;
            method          TDAC;
        }

All the angle bracket parts of the model names (e.g.,
<psiThermoCombustion,gasHThermoPhysics>) have been removed as well as
the chemistryThermo entry.

The changes are mostly backward compatible. Only support for the
angle bracket form of chemistry solver names has been removed. Warnings
will print if some of the old entries are used, as the parts relating to
thermodynamics are now ignored.
2017-12-11 14:49:21 +00:00
dfd7d0b5b4 OSspecific/POSIX: Updated function name in diagnostic messages
Patch contributed by Bruno Santos
Resolves bug-report https://bugs.openfoam.org/view.php?id=2786
2017-12-10 11:08:29 +00:00
862fa9e106 compressibleInterFoam family: Corrected transonic option
Resolves bug-report https://bugs.openfoam.org/view.php?id=2785
2017-12-09 21:03:59 +00:00
de77f4e1f4 collatedFileOperation: Corrected thread support test 2017-12-07 23:50:12 +00:00
f823c91500 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-12-06 16:14:07 +00:00
99841e29b7 wallHeatTransferCoeff: New functionObject to calculate the wall heat transfer coefficient
for incompressible flow simulated using simpleFoam, pimpleFoam or pisoFoam.

Description
    Calculates and write the estimated incompressible flow heat transfer
    coefficient at wall patches as the volScalarField field
    'wallHeatTransferCoeff'.

    All wall patches are included by default; to restrict the calculation to
    certain patches, use the optional 'patches' entry.

    Example of function object specification:
    wallHeatTransferCoeff1
    {
        type        wallHeatTransferCoeff;
        libs        ("libfieldFunctionObjects.so");
        ...
        region      fluid;
        patches     (".*Wall");
        rho         1.225;
        Cp          1005;
        Prl         0.707;
        Prt         0.9;
    }

Usage
    Property | Description                   | Required | Default value
    type     | Type name: wallHeatTransferCoeff | yes   |
    patches  | List of patches to process    | no       | all wall patches
    region   | Region to be evaluated        | no       | default region
    rho      | Fluid density                 | yes      |
    Cp       | Fluid heat capacity           | yes      |
    Prl      | Fluid laminar Prandtl number  | yes      |
    Prt      | Fluid turbulent Prandtl number| yes      |

Note
    Writing field 'wallHeatTransferCoeff' is done by default, but it can be
    overridden by defining an empty \c objects list. For details see
    writeLocalObjects.
2017-12-06 16:10:34 +00:00
f2ba82e3b5 fvDOM: Extended to any axis aligned 1-D and 2-D geometry 2017-12-06 12:17:18 +00:00
cc4d4433b8 messageStream: Added support for suppressing the printing of log header
This generalizes and replaces the previous "noBanner" option provided by argList
and is extended to include the messages printed by Time.

Resolves bug-report https://bugs.openfoam.org/view.php?id=2782
2017-12-06 11:58:35 +00:00
745b20acb6 TDACChemistryModel: Removed unnecessary warning messages
Patch contributed by Francesco Contino
2017-12-04 12:28:59 +00:00
026804c0e0 SpecieMixture: Pure virtual definition for W to prevent Clang warning 2017-12-01 16:41:16 +00:00
eeafddfb3b particle: Corrected property list for barycentric coordinates
This resolves bug report https://bugs.openfoam.org/view.php?id=2777
2017-12-01 16:23:09 +00:00
a830b9b3c1 basicSpecieMixture: Removed duplicated molecular weight mixing
Mixture molecular weight is now evaluated in heThermo like everything
else, relying on the low level specie mixing rules. Units have also been
corrected.
2017-12-01 14:51:37 +00:00
9fb9dbe922 wallHeatFlux: Filter out coupled patches
Resolves bug-report https://bugs.openfoam.org/view.php?id=2776
2017-11-30 19:56:39 +00:00
2420963969 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-30 13:08:55 +00:00
7d6b1be4b3 pimpleFoam, rhoPimpleFoam, interDyMFoam: Rationalized mesh-motion support
Added support for mesh-motion update within PIMPLE loop in pimpleFoam and rhoPimpleFoam.
2017-11-30 13:07:42 +00:00
78338e590e polyMesh: Stopped re-seeding of RNG on each cell-tree update
This is a quick fix. What actually needs doing is the Random and
cachedRandom classes need rewriting in terms of the random number
functionality in the C++11 STL. These can be initialised/seeded
per-object, which makes this sort of bug go away.

This resolves bug report https://bugs.openfoam.org/view.php?id=2772
2017-11-29 11:31:16 +00:00
4aaf2da1de Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-29 11:01:49 +00:00
396259f105 wallHeatFlux: Changed sign of radiative heat flux contribution
to compensate for the inconsistent definition of this flux

Resolves bug-report https://bugs.openfoam.org/view.php?id=2722
2017-11-29 11:00:38 +00:00
9ee3bbc943 integrationSchemes: Corrections to coupled/non-coupled force splitting
The integration splitting implemented in commit a5806207 has been shown
to be incorrect in some cases. A new procedure has been implemented
which can correctly split the implicit-explicit integral into a number
of pieces, in order to calculate the contribution of each. This is
intended for integrating coupled and non-coupled particle momentum and
heat transfers.

However, currently there is only ever one implicit coefficient used in
these transfers (there is no implicit non-coupled contribution). The
evaluation has therefore been short-cutted to only do the integration
with respect to the coupled contributions. The splitting functionality
has been retained in case additional separate implicit coefficients are
required in the future.

This change was made with help from Timo Niemi, VTT
This resolves bug report https://bugs.openfoam.org/view.php?id=2666
2017-11-28 10:57:46 +00:00
9a3789f45a Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-27 11:38:32 +00:00
b552b4eae5 cylinderToFace, cylinderAnnulusToFace: New face sources
Face equivalents of cylinderToCell and cylinderAnnulusToCell.

Tested-by: Henry Weller <http://openfoam.org>
2017-11-27 11:37:03 +00:00
0ea0b7c407 combustionModels: Changed the construction order
The combustion and chemistry models no longer select and own the
thermodynamic model; they hold a reference instead. The construction of
the combustion and chemistry models has been changed to require a
reference to the thermodyanmics, rather than the mesh and a phase name.

At the solver-level the thermo, turbulence and combustion models are now
selected in sequence. The cyclic dependency between the three models has
been resolved, and the raw-pointer based post-construction step for the
combustion model has been removed.

The old solver-level construction sequence (typically in createFields.H)
was as follows:

    autoPtr<combustionModels::psiCombustionModel> combustion
    (
        combustionModels::psiCombustionModel::New(mesh)
    );

    psiReactionThermo& thermo = combustion->thermo();

    // Create rho, U, phi, etc...

    autoPtr<compressible::turbulenceModel> turbulence
    (
        compressible::turbulenceModel::New(rho, U, phi, thermo)
    );

    combustion->setTurbulence(*turbulence);

The new sequence is:

    autoPtr<psiReactionThermo> thermo(psiReactionThermo::New(mesh));

    // Create rho, U, phi, etc...

    autoPtr<compressible::turbulenceModel> turbulence
    (
        compressible::turbulenceModel::New(rho, U, phi, *thermo)
    );

    autoPtr<combustionModels::psiCombustionModel> combustion
    (
        combustionModels::psiCombustionModel::New(*thermo, *turbulence)
    );
2017-11-24 22:52:18 +00:00
17954fc173 wordRe: Corrected comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=2771
2017-11-24 20:38:16 +00:00
e1002dcd09 rhoReactingFoam: Updated for changes to rhoPimpleFoam files 2017-11-23 19:18:13 +00:00
3e525adf5b chemistryModel: Fixed segfault in selection error message 2017-11-22 17:01:25 +00:00
d1fa9b6339 pimpleFoam: Merged dynamic mesh functionality of pimpleDyMFoam into pimpleFoam
and replaced pimpleDyMFoam with a script which reports this change.

The pimpleDyMFoam tutorials have been moved into the pimpleFoam directory.

This change is the first of a set of developments to merge dynamic mesh
functionality into the standard solvers to improve consistency, usability,
flexibility and maintainability of these solvers.

Henry G. Weller
CFD Direct Ltd.
2017-11-22 16:31:30 +00:00
182a54f54c pimpleDyMFoam: Store Uf as an autoPtr for better error handling 2017-11-20 22:46:47 +00:00
852461e87d surfaceFilmModels::waxSolventViscosity: Changed mixing to mole-fraction based 2017-11-20 15:38:42 +00:00
eb9fe693f7 UautoPtr: Prototype unallocated version of autoPtr
This is a variant of autoPtr which hold a pointer to a object the storage of
which is managed elsewhere rather than by UautoPtr.
2017-11-19 14:01:55 +00:00
83f858247c autoPtr: Use nullptr rather than 0 2017-11-19 14:01:34 +00:00
9c48042e85 pimpleDyMFoam: Improved efficiency and consistency when running on a static mesh
Now pimpleDyMFoam is exactly equivalent to pimpleFoam when running on a
staticFvMesh.  Also when the constant/dynamicMeshDict is not present a
staticFvMesh is automatically constructed so that the pimpleDyMFoam solver can
run any pimpleFoam case without change.
2017-11-18 01:13:48 +00:00
16ba55100a surfaceFilmModels::waxSolventEvaporation: Corrected handling of impingement 2017-11-16 22:41:35 +00:00
1bbd4c4eae surfaceFilmModels::thermoSingleLayer: Added call to solveContinuity before updateSubmodels
to allow sub-models to solve transport equations for conserved properties
2017-11-16 22:40:15 +00:00
0d0bb8bbc0 filmViscosityModel::thixotropicViscosity: Corrected sign of impingement rate
to compensate for rhoSp having the wrong sign
2017-11-16 22:39:13 +00:00
7f66873efc surfaceFilmModels::waxSolventEvaporation, waxSolventViscosity: new wax/solvent film models
to support the evaporation of the solvent from the wax film and the changes in
viscosity caused by the reduction in solvent content.
2017-11-16 22:00:57 +00:00
bd8914f9e4 solidThermo.H: Removed superfluous include files
Resolves bug-report https://bugs.openfoam.org/view.php?id=2758
2017-11-14 09:58:53 +00:00
03b641d2c7 decomposedBlockData: fixed reconstruction problem
Patch contributed by Mattijs Janssens
Resolves bug-report https://bugs.openfoam.org/view.php?id=2744
2017-11-10 16:02:12 +00:00
4d44e24fcb Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-09 17:04:18 +00:00
62f64f0ded TDACChemistryModel: Added support for multiphase
Patch contributed by Timo Niemi, VTT.
Resolves patch request https://bugs.openfoam.org/view.php?id=2753
2017-11-09 16:58:17 +00:00
ea9345590e ACMI: Removed unnecessary argument from resetAMI method 2017-11-09 16:28:35 +00:00
889329fe3f AMI: Made the AMIMethod selectable from the polyPatch dictionary
The method used to calculate area overlaps between coupled AMI patches
has been made run-time selectable from the polyPatch dictionary. This
has primarily been done to facilitate the selection of the new swept AMI
method. The selection can be made within the constant/polyMesh/boundary
file as follows:

    AMI1
    {
        type            cyclicAMI;
        inGroups        2(cyclicAMI rotating);
        nFaces          524;
        startFace       37176;
        matchTolerance  0.0001;
        transform       unknown;
        neighbourPatch  AMI2;
        method          sweptFaceAreaWeightAMI; // <-- new entry
    }
    AMI2
    {
        type            cyclicAMI;
        inGroups        2(cyclicAMI rotating);
        nFaces          524;
        startFace       37700;
        matchTolerance  0.0001;
        transform       unknown;
        neighbourPatch  AMI1;
        method          sweptFaceAreaWeightAMI; // <-- new entry
    }

This can also be done within the patch specification section of the
blockMeshDict, or within a createBafflesDict.

The default remains the faceAreaWeightAMI method.
2017-11-09 14:12:41 +00:00
3260aeed80 edgeCollapser: Test breaks in all possible strings
This change tests all edges when breaking strings, not just those
connected to collapsing cells. In rare cases a cell can collapse despite
none of it's connected edges being marked as collapsing, because enough
of it's points collapse together via other edges.
2017-11-08 11:21:26 +00:00
3605a204e2 globalIndexAndTransform: Don't generate transforms from coincident-full-match patches
Another exception has been added to globalIndexAndTransform to prevent
transformations being generated from coupled patch pairs marked with
coincident-full-match transformations. Foamy generates such patches, and
the faces on them at intermediate stages of meshing can be degenerate,
making the calculation of transformations unreliable. This change
enforces the definition that coincident-full-match patch pairs are not
transformed.
2017-11-08 11:21:26 +00:00
f97eb743fe processorPolyPatch: Use relative match tolerance for coincident-full-match ordering 2017-11-08 11:21:26 +00:00