Commit Graph

90 Commits

Author SHA1 Message Date
fc4d7b92c3 Corrected documentation comment for disabled copy constructors 2019-05-29 15:58:42 +01:00
9140984cf4 Added "= delete" to disabled bitwise copy constructors and assignment operators
Currently these deleted function declarations are still in the private section
of the class declarations but will be moved by hand to the public section over
time as this is too complex to automate reliably.
2019-05-28 15:26:45 +01:00
2dd53c898a turbulenceModels/laminar/Giesekus: Giesekus model for visco-elasticity
Implementation of the Giesekus model for visco-elasticity, derived from the new
generalised form of the Maxwell model which now support additional sources.

    Giesekus, H., 1982.
    A simple constitutive equation for polymer fluids based on the
    concept of deformation-dependent tensional mobility.
    J. Non-Newton. Fluid. 11, 69–109.

This implementation is instantiated for incompressible, compressible and VoF
two-phase flow.
2019-03-28 22:10:59 +00:00
aaf4a0bfcc multiphase VoF solvers: Ensure the nHatf surfaceField in interfaceProperties is updated following mesh change 2019-03-19 20:13:40 +00:00
52225b96ab CorrectPhi: Added switch to control evaluation of U boundary conditions
This switch should be on for phi-correction within the time loop, where
the correction simply serves to keep the phi-field up to date before the
U-equation is solved. It should be off for initialisation
phi-correction, as the necessary data to update the conditions may not
yet exist.

Resolves bug report https://bugs.openfoam.org/view.php?id=3198
2019-03-18 16:02:25 +00:00
111cdf3a65 solutionControl: Renaming and improved final logic
The sub-loops of the solution control are now named more consistently,
with ambiguously named methods such as finalIter replaced with ones
like finalPimpleIter, so that it is clear which loop they represent.

In addition, the final logic has been improved so that it restores state
after a sub-iteration, and so that sub-iterations can be used on their
own without an outer iteration in effect. Previously, if the
non-orthogonal loop were used outside of a pimple/piso iteration, the
final iteration would not execute with final settings.
2019-02-15 16:55:11 +00:00
6dc48b62d9 Changed tmp<volField> and tmp<surfaceField> construction to use the new simpler "New" method
avoiding unnecessary database registration of temporary fields
2018-12-21 18:37:13 +00:00
146a59e46c GeometricField: Temporary fields are no longer registered on the database by default
Registration occurs when the temporary field is transferred to a non-temporary
field via a constructor or if explicitly transferred to the database via the
regIOobject "store" methods.
2018-12-20 11:00:37 +00:00
6faadcb45c Removed the unnecessary ".0" from dimensionedScalar constructors 2018-12-19 14:24:41 +00:00
bcf4e68901 Further rationalisation of the handling of "Final" solver settings
The selection of the "Final" solver settings is now handled automatically within
the "<equation>.solve()" call and there is no longer any need no provide a bool
argument for specific cases.  This simplifies the solution algorithm loop
structures and ensures consistency in behaviour across all solvers.

All tutorials have been updated to correspond to the now consistent rules.
2018-11-20 11:28:02 +00:00
ee443e201f Rationalised the handling of "Final" solver and relaxation factor settings
Now for transient simulations "Final" solver settings are required for ALL
equations providing consistency between the solution of velocity, energy,
composition and radiation properties.

However "Final" relaxation factors are no longer required for fields or
equations and if not present the standard value for the variable will be
applied.  Given that relaxation factors other than 1 are rarely required for
transient runs and hence the same for all iterations including the final one
this approach provide simpler input while still providing the flexibility to
specify a different value for the final iteration if required.  For steady cases
it is usual to execute just 1 outer iteration per time-step for which the
standard relaxation factors are appropriate, and if more than one iteration is
executed it is common to use the same factors for both.  In the unlikely event
of requiring different relaxation factors for the final iteration this is still
possible to specify via the now optional "Final" specification.
2018-11-17 19:42:23 +00:00
f7100178e4 thermophysicalModels: Added laminar thermal diffusivity for energy, alphahe
Needed for laminar transport of he (h or e)

Resolves bug-report https://bugs.openfoam.org/view.php?id=3025
2018-08-05 11:29:28 +01:00
20653ee01e semiPermeableBaffle: Added mole-fraction and partial-pressure input options
The semiPermeableBaffleMassFraction boundary condition can now calculate
the mass flux as proportional to the difference in mole fraction or
partial pressure. A mass fraction difference driven transfer is also
still possible. An additional keyword, "input" has been added which is
used to select the variable used to calculate the transfer. An example
specification is as follows:

    baffle
    {
        type            semiPermeableBaffleMassFraction;
        samplePatch     membranePipe;
        c               0.1;
        input           massFraction;
        value           uniform 0;
    }

In order to facilitate this, a "W" method to get the molar mass on a
patch has been added to the thermodynamics. To avoid name-clashes,
methods that generate per-species molar masses have been renamed "Wi".

This work was supported by Georg Skillas, at Evonik
2018-07-11 10:08:44 +01:00
29fc94d3e2 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev into mergeDyM 2018-07-10 20:10:01 +01:00
bf54ab67e1 Updated OpenFOAM Foundation web-link in headers 2018-07-06 21:42:54 +01:00
42cafa62b8 interPhaseChangeFoam: Merged with interPhaseChangeDyMFoam
interPhaseChangeFoam can now run with static or dynamic meshes selected in the
constant/dynamicMeshDict dictionary.
2018-07-04 09:43:52 +01:00
dc1f88cd20 Merge branch 'master' into mergeDyM 2018-07-02 17:22:55 +01:00
025e48373b fileHandler: Added flush method
This method waits until all the threads have completed IO operations and
then clears any cached information about the files on disk. This
replaces the deactivation of threading by means of zeroing the buffer
size when writing and reading of a file happen in sequence. It also
allows paraFoam to update the list of available times.

Patch contributed by Mattijs Janssens
Resolves bug report https://bugs.openfoam.org/view.php?id=2962
2018-06-27 15:25:20 +01:00
dea88d883a utilities: Removed the -list.* options which are only useful for solver applications
Avoids unnecessary clutter printed by the -help option
2018-06-20 14:10:56 +01:00
a3177bd759 twoPhaseMixtureThermo: Fix for collated file operation
twoPhaseMixtureThermo writes the temperatures during construction only
for them to be read again immediately after by construction of the
individual phases' thermo models. When running with collated file
handling this behaviour is not thread safe. This change deactivates
threading for the duration of this behaviour.

Patch contributed by Mattijs Janssens
2018-06-14 10:55:27 +01:00
a5a551f665 compressibleInterFilmFoam: Updated documentation 2018-06-08 23:01:00 +01:00
038d85d713 compressibleInterFoam: Merged with compressibleInterDyMFoam
compressibleInterFoam can now run with static or dynamic meshes selected in the
constant/dynamicMeshDict dictionary.
2018-06-05 11:14:17 +01:00
332f94b724 compressibleInterFoam: Corrected handling of thermal diffusivity with mixture turbulence model
Resolves bug-report https://bugs.openfoam.org/view.php?id=2958
2018-05-25 23:43:41 +01:00
08cadfde74 Make/options: Added -I options for the now wmkdep 2018-05-08 19:55:28 +01:00
400cd4a889 wmake options files: Removed -I options referring to non-existent directories
Resolves bug-report https://bugs.openfoam.org/view.php?id=2917
2018-05-04 17:16:46 +01:00
410700c7a9 compressibleInterFoam: Generalized the handling of phase temperature BCs
Resolves bug-report https://bugs.openfoam.org/view.php?id=2899
2018-04-12 23:40:00 +01:00
c3f30630e4 compressibleInterFoam::TEqn: De-reference the dimensioned internal field of the sources
Minor change to make it simpler to change the set of sources.
2018-04-04 22:05:19 +01: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
b01118c806 MRF: Remove ddtCorr from MRF regions 2018-02-10 22:46:17 +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
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
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
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
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
4b5a10d167 compressibleInterFoam family: merged two-phase momentum stress modelling from compressibleInterPhaseTransportFoam
The new momentum stress model selector class
compressibleInterPhaseTransportModel is now used to select between the options:

Description
    Transport model selection class for the compressibleInterFoam family of
    solvers.

    By default the standard mixture transport modelling approach is used in
    which a single momentum stress model (laminar, non-Newtonian, LES or RAS) is
    constructed for the mixture.  However if the \c simulationType in
    constant/turbulenceProperties is set to \c twoPhaseTransport the alternative
    Euler-Euler two-phase transport modelling approach is used in which separate
    stress models (laminar, non-Newtonian, LES or RAS) are instantiated for each
    of the two phases allowing for different modeling for the phases.

Mixture and two-phase momentum stress modelling is now supported in
compressibleInterFoam, compressibleInterDyMFoam and compressibleInterFilmFoam.
The prototype compressibleInterPhaseTransportFoam solver is no longer needed and
has been removed.
2017-11-14 10:03:20 +00:00
6f7e6b3b99 compressibleInterPhaseTransportFoam: Removed unnecessary dependencies 2017-11-01 21:44:12 +00:00
2a1e4c42db VoFphaseCompressibleTurbulenceModels: Removed unnecessary dependencies
Resolves bug-report https://bugs.openfoam.org/view.php?id=2746
2017-11-01 20:18:12 +00:00
accc18283c compressibleInterPhaseTransportFoam: accompanying library compiled in /opt/openfoam5/platforms/linux64GccDPInt32Opt/lib 2017-11-01 09:15:25 +00:00
bfe787b4fc compressibleInterPhaseTransportFoam: Added to Allwmake build 2017-10-31 15:29:16 +00:00
e96e40bb6c compressibleInterPhaseTransportFoam: New variant of compressibleInterFoam supporting separate phase stress models
In this version of compressibleInterFoam separate stress models (laminar,
non-Newtonian, LES or RAS) are instantiated for each of the two phases allowing
for completely different modeling for the phases.

e.g. in the climbingRod tutorial case provided a Newtonian laminar model is
instantiated for the air and a Maxwell non-Newtonian model is instantiated for
the viscoelastic liquid.  To stabilize the Maxwell model in regions where the
liquid phase-fraction is 0 the new symmTensorPhaseLimitStabilization fvOption is
applied.

Other phase stress modeling combinations are also possible, e.g. the air may be
turbulent but the liquid laminar and an RAS or LES model applied to the air
only.  However, to stabilize this combination a suitable fvOption would need to
be applied to the turbulence properties where the air phase-fraction is 0.

Henry G. Weller, Chris Greenshields
CFD Direct Ltd.
2017-10-30 09:36:43 +00:00
73e24df8e0 solvers: Moved fvOption construction into createFields.H for post-processing
This ensures that the fvOptions are constructed for the -postProcessing option
so that functionObjects which process fvOption data operate correctly in this
mode.
2017-10-24 14:48:43 +01:00
82675f0976 Merged reactingParcelFilmFoam into reactingParcelFoam
The combined solver includes the most advanced and general functionality from
each solver including:

    Continuous phase
    Lagrangian multiphase parcels
    Optional film
    Continuous and Lagrangian phase reactions
    Radiation
    Strong buoyancy force support by solving for p_rgh

The reactingParcelFoam and reactingParcelFilmFoam tutorials have been combined
and updated.
2017-08-29 09:33:45 +01:00
c57fe2b5fd MRF: Added support for mesh refinement/unrefinement and other topology changes 2017-08-18 22:22:47 +01:00
14473273e9 compressibleInterFilmFoam::VoFSolidificationMeltingSource: New VoF solidification fvOption 2017-07-20 18:15:27 +01:00
aa1712de8f VoFPatchTransfer: Corrected for clang 2017-07-07 11:03:12 +01:00
3193fdb667 compressibleInterFilmFoam: Added to Allwmake 2017-07-07 09:27:35 +01:00
f628af00a8 compressibleInterFilmFoam::VoFPatchTransfer: Remove requirement for film to be present before VoF->film transfers occur 2017-07-05 16:49:44 +01:00
2d866e281b compressibleInterFilmFoam::VoFPatchTransfer: corrected parallel handling of all patch option 2017-06-28 15:03:40 +01:00
d74f354f0c compressibleInterFilmFoam: Experimental VoF solver supporting VoF<->film transfer 2017-06-27 15:55:43 +01:00
e8daaa5c76 compressibleInterFoam: Improved mass conservation
using the continuity error correction formulation developed for
twoPhaseEulerFoam and reactingEulerFoam.
2017-06-22 14:42:36 +01:00