Commit Graph

3724 Commits

Author SHA1 Message Date
756d10c37c reactingEulerFoam: sizeDistribution: Naming conventions
The keyword which selects how the subset over which the function
operates is generated has been renamed to "selectionMode", to make it
more consistent with other parts of the OpenFOAM (e.g., fvOptions). It
can still take the value "all" or "cellZone". A cell zone is now
specified with a "cellZone", again for consistency.

Error messaging has also been overhauled.

Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2019-02-04 09:18:36 +00:00
860a40d237 reactingEulerFoam: populationBalanceModel: Added breakup and coalescence models
Added the breakup and coalescence models of Lehr et al. (2002), and the
coalescence model of Luo (1993).

Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2019-02-04 09:18:36 +00:00
f6bac37fc9 reactingEulerFoam: populationBalanceModel: Fix to drift term
Prior to this commit, the drift term implementation was invalid for a
ratio x_{i+1}/x_i >= 2 between the characteristic volumes of two
subsequent size groups.

Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2019-02-04 09:18:36 +00:00
528dccc094 dynamicCode: Fixed handling of options and libs 2019-02-04 09:18:36 +00:00
b4a22214a1 populationBalanceModel::binaryBreakupModels::LuoSvendsen: New breakup model
References:
        Luo, H., & Svendsen, H. F. (1996).
        Theoretical model for drop and bubble breakup in turbulent dispersions.
        AIChE Journal, 42(5), 1225-1233.
        Eq. 27, p. 1229.

        Bannari, R., Kerdouss, F., Selma, B., Bannari, A., & Proulx, P. (2008).
        Three-dimensional mathematical modeling of dispersed two-phase flow
        using class method of population balance in bubble columns.
        Computers & chemical engineering, 32(12), 3224-3237.
        Eq. 49, p. 3230.

Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2019-02-02 20:17:45 +00:00
220ba4989d src/OpenFOAM/Make/files: Added incGamma.C
Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2019-02-02 14:39:39 +00:00
f24a901084 scalar: Added incomplete gamma functions
Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2019-02-02 14:38:15 +00:00
5afec3aae0 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-02-01 14:10:22 +00:00
67cfa3f257 reactingMultiphaseEulerFoam::multiphaseSystem: Applied the new generalised subCycle
which now handles lists of fields.  This avoids problems with the interaction
between sub-cycling and outer-iteration.
2019-02-01 14:08:49 +00:00
700f11fa11 dynamicCode: Put code entries on a list
The dynamic code functionality has been generalised so that the names of
the code entries in the specifying dictionary can be set by the caller.
This means that functions which utilise dynamic code but use different
entry names (e.g., codedFunctionObject uses codeExecute, codeEnd,
etc..., instead of code) now function correctly. The differently named
entries now form part of the library hash, and re-building triggers
appropriately as they are modified.
2019-02-01 09:17:26 +00:00
0497d2a170 snappyHexMesh: Per-patch face merging options
Face merging in the layer addition phase can now be controlled at a
per-patch level. By default, faces that are connected to the same cell
and patch, and which do not differ in orientation by more than the
planar angle, are merged if the patch they belong to is associated with
meshed geometry. This has not changed, but it can now be overridden with
a new "mergeFaces" keyword. This can be set in addLayersControls to
control the default behaviour on all patches, and it can be overridden
in the layer settings associated with each patch. For example:

addLayersControls
{
    mergeFaces true; // <-- Merge faces on all patches, not just those
                     // associated with geometry

    layers
    {
        wall1
        {
            nSurfaceLayers 2;
        }
        wall2
        {
            nSurfaceLayers 2;
            mergeFaces false; // <-- Do not merge faces on this patch
        }
    }
}

In addition, the patch-association has been fixed so that faces are no
longer merged on patches which are set not to merge, but are
cell-connected to patches which are.

This change makes it possible to guarantee that the surface mesh retains
the same geometry before and after layer addition, and therefore add
layers to coupled interfaces.
2019-01-31 09:00:18 +00:00
82356c7d08 tutorials: windAroundBuildings: Updated snappyHexMesh write flags 2019-01-31 08:55:05 +00:00
799db4d958 snappyHexMesh: Changed the default for the writing of pointLevels and cellLevels files in the polyMesh directory
These files are now only written if the "refinement" write flag is set:

writeFlags
(
    .
    .
    .
    refinement
);
2019-01-30 17:50:23 +00:00
bcd79106e3 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-01-30 15:02:51 +00:00
bd93bf10c8 changeDictionary: Added a "deprecated", use foamDictionary instead 2019-01-30 15:01:18 +00:00
d2dcd6d679 tests: waterAndIsopropanolEvaporation: Updated thermodynamics
Updates to the thermodynamic input data was necessary following the
recent changes to the departure functions.
2019-01-30 12:08:57 +00:00
b90ceefa91 tests: Fixed name of turbulent Schmidt number 2019-01-30 12:08:57 +00:00
20cefd3b81 timeVaryingMappedFixedValueFvPatchField: Corrected rmap of the timeVaryingMappedFvPatchField 2019-01-30 11:43:46 +00:00
da77e6a77f tutorial simplifiedSiwek: Updated chemistry stability settings for the new Jacobian
Resolves bug-report https://bugs.openfoam.org/view.php?id=3155
2019-01-29 22:38:47 +00:00
e5532ff568 Changed writeKeyword to the new simpler writeEntry form where appropriate 2019-01-29 22:32:42 +00:00
15b1d6e7ec codeTemplates/BC: Updated to use the new primitive writeEntry 2019-01-29 13:57:48 +00:00
8b4f866b51 timeVaryingMappedFixedValueFvPatchField: Refactored so the underlying mapping function can be used in other BCs
The new patch field mapping class timeVaryingMappedFvPatchField has been
factored out of the timeVaryingMappedFixedValueFvPatchField BC so that it can be
used to map data onto fields stored within other BCs.

In the process the writeEntryIfDifferent function had to be moved from
fvPatchField to dictionary so that it can still be used in the
timeVaryingMappedFvPatchField class and it made good sense to create the
non-conditional variant writeEntry to simplify the patch field write functions.
This rationalisation has been propagated all other patch fields.
2019-01-29 10:09:38 +00:00
08553fbc9d Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-01-28 17:38:28 +00:00
f070388e5b liquidProperties::N2: Corrected mu coefficient
Resolves bug-report https://bugs.openfoam.org/view.php?id=3136
2019-01-28 17:37:56 +00:00
5e2f17a9af populationBalanceModel: phaseChange: Improvements
A number of improvements have been made to the population balance phase
change drift model.

- The model now checks the ordering of the phase pairs and changes the
sign of the drift rate accordingly.

- The phase change mass flux and weights are calculated for each
velocity group, so the drift rate and phase change mass flux should be
consistent for each velocity group.

- By default the phase change mass flux is distributed between the size
groups based on the interfacial area of each group. For backward
compatibility number weighting can be enabled with a new
"numberWeighted" option.

The model now requires the user to provide a list of phase pairs in the
usual parenthesised form, rather than using the name. For example:

    phaseChange
    {
        pairs ((gas and liquid));
    }

Patch contributed by Juho Peltola, VTT.
2019-01-28 16:47:34 +00:00
dc6b7d7803 ThermalPhaseChangePhaseSystem: Fix for building with Clang 2019-01-28 11:59:01 +00:00
3b9c7f7c81 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-01-28 09:54:51 +00:00
51a8b15afe Renamed MVAPICH2 -> MV2MPI for consistency with the MPI implementation naming convention
Resolves patch request https://bugs.openfoam.org/view.php?id=3153
2019-01-28 09:52:41 +00:00
7e799e9fef TwoResistanceHeatTransferPhaseSystem: Changed stabilisation term
The stabilisation term for the heat transfer with the interface
temperature has been changed to mirror the local heat transfer in the
phase, rather than an effective heat transfer across both phases. This
makes the stabilisation term match the actual temperature-based transfer
terms more accurately. The difference is particularly significant when
the mass transfer rate is high, and cases of this type gain a
significant stability benefit from this change as a result.

Patch contributed by Juho Peltola, VTT.
2019-01-25 11:00:32 +00:00
653b88d411 ThermalPhaseChangeSystem: Evaluate latent heat at Tsat
Latent heat is now evaluated at Tsat instead of Tf for the thermal phase
change method. This provides a smooth transition of the interface
temperature field as the phase fraction tends to zero.

Patch contributed by Juho Peltola, VTT.
2019-01-24 18:43:35 +00:00
765ae50d32 reactingEulerFoam: phaeseForces: Standardised phase keyword
The phase which the function object relates to is now selected with the
keyword "phase", rather than "phaseName". This is consistent with other
name entries such as the "phi" entry for an inletOutlet boundary.
2019-01-24 14:30:02 +00:00
4221e43dfc combustion: Removed Qdot field from solvers
The Qdot field has been removed from all reacting solvers, in favour of
computing on the fly whenever it is needed. It can still be generated
for post-processing purposes by means of the Qdot function object. This
change reduces code duplication and storage for all modified solvers.

The Qdot function object has been applied to a number of tutorials in
order to retain the existing output.

A fix to Qdot has also been applied for multi-phase cases.
2019-01-24 14:29:17 +00:00
9847205bfc functionObjects: Qdot: Added configuration 2019-01-24 11:27:47 +00:00
dc25f10202 combustionModels: Added Qdot function object
This function object writes out the heat release rate field for a
combustion model. This is useful for solvers where combustion is
optional, and which do not therefore write out the heat release rate by
default; e.g., chtMultiRegionFoam and reactingTwoPhaseEulerFoam.
2019-01-24 10:10:05 +00:00
a0850290b3 chtMultiRegionFoam: Improvements to reverseBurner tutorial
The tutorial has been converted from two-dimensions to a wedge and the
flow has been swirl stabilised. The turbulence parameters have been made
physical. The transport schemes have been increased to second order. The
reaction mechanism has been changed to one from a publically accessible
reference. The gas thermodynamics have been made incompressible, and the
pressure offset around zero, which improves the behaviour of the
pressure solution.
2019-01-24 09:01:52 +00:00
faf6e24ba3 motionSolvers::motionSolverList: New motion solver where the motion of the mesh specified as a list of motion solvers
The motion solvers are executed in order and the resulting displacements
accumulated into an overall displacement and the displaced point positions
returned.

This functionality replaces the dynamicMotionSolverListFvMesh class with the
equivalent specification of a "solvers" list rather than a "solver" entry in
dynamicMeshDict e.g.

dynamicFvMesh   dynamicMotionSolverFvMesh;

solvers
(
    Rotor
    {
        solver solidBody;

        solidBodyCoeffs
        {
            cellZone region1;

            solidBodyMotionFunction rotatingMotion;

            rotatingMotionCoeffs
            {
                origin        (0 0 0);
                axis          (0 0 1);
                omega         100; // rad/s
            }
        }
    }

    Piston
    {
        solver velocityComponentLaplacian;

        motionSolverLibs ("libfvMotionSolvers.so");

        velocityComponentLaplacianCoeffs
        {
            component       z;
            diffusivity  inverseDistance 1(wall1);
        }
    }
);
2019-01-23 16:37:08 +00:00
c5db440298 dynamicMeshDict: standardised indentation 2019-01-23 11:45:23 +00:00
14aad10fa4 tutorials: Improvements to reacting case setups
Added headers to all reactions files to prevent warnings in paraview.
Added references for known mechanisms. Removed unused reaction and
thermophysical property files.
2019-01-22 15:53:11 +00:00
f96a431bc0 functionObject::age: Changed from "execute" to "write" control 2019-01-22 15:12:25 +00:00
008a768286 foamCloneCase: Added exit 0
Resolves patch request https://bugs.openfoam.org/view.php?id=3151
2019-01-22 13:17:31 +00:00
457c02e63f sampledSurface::writers:noSurfaceWriter: new rational and consistent class to disable surface writing
Selected by

    surfaceFormat none;

rather than the previous inconsistent

    surfaceFormat null;
2019-01-22 11:10:24 +00:00
8baec3bc5d sampledSurface: Created a sampledSurfaces namespace for the sampledSurface classes
to rationalise the structure and class names to avoid the need for the confusing
addNamedToRunTimeSelectionTable and use instead use the standard
addToRunTimeSelectionTable to populate the run-time selection table.
2019-01-21 19:58:18 +00:00
cd8aee2d76 PrimitivePatch: Simplified templating 2019-01-21 09:08:03 +00:00
19c3584d4b functionObject::timeControl: Rationalised naming timeStart -> startTime, timeEnd -> endTime
Support for timeStart and timeEnd is maintained for backward-compatibility but
these names are deprecated.
2019-01-18 13:41:08 +00:00
c9648f972b Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-01-18 13:18:11 +00:00
9038c49a18 functionObjects::age: Added support for relaxation 2019-01-18 13:13:01 +00:00
0dfde5ca4f reactingEulerFoam: heatTransferModel: Added constantNu model
This is a heat transfer model with a constant fixed value for the
Nusselt number. It requires a single "Nu" entry to be specified.

Patch contributed by Juho Peltola, VTT
2019-01-17 09:30:42 +00:00
610c61bd2a tutorials: reactingTwoPhaseEulerFoam: Fixed divergence in wallBoilingIATE
Patch contributed by Juho Peltola, VTT.
2019-01-16 15:23:12 +00:00
f4e92c3322 vtkUnstructuredReader: Added support for VTK files with METADATA
Patch contributed by Timo Niemi, VTT.
Resolves patch request https://bugs.openfoam.org/view.php?id=3149
2019-01-16 11:23:01 +00:00
204eb6949d Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-01-16 10:04:26 +00:00