Commit Graph

4811 Commits

Author SHA1 Message Date
d89a8d3daa compressibleMultiphaseInterFoam: updated mixing of thermophysical properties
Thermodynamic properties are now mass-fraction mixed
Transport properties remain volume-fraction mixed
2020-10-01 15:24:14 +01:00
90e4222db3 twoPhaseMixtureThermo: Added documentation for Alpha1,2 2020-10-01 12:45:16 +01:00
268c2e5aed twoPhaseMixtureThermo: Correct gamma functions 2020-10-01 11:27:22 +01:00
8fa6bfcded compressibleInterFoam: Updated to use the thermo:rho 2020-10-01 10:44:36 +01:00
4889e8bbc4 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2020-09-30 20:16:56 +01:00
1988e3df7f compressibleInterFoam: Updated mixing of thermophysical properties
Thermodynamic properties are now mass-fraction mixed
Transport properties remain volume-fraction mixed
2020-09-30 20:15:36 +01:00
15b280c11a interpolation: Fixed Clang warnings about hidden virtual methods 2020-09-30 16:20:09 +01:00
b7b79a59c2 solidThermo: Removed unnecessary pure virtuals from implementation class 2020-09-30 15:58:19 +01:00
2362899f3e solutionControl: Execute function objects after residual check
Function objects that write need to execute after the residual checks so
that the associated modification of the time state correctly makes them
write on the final iteration.

This reverts commit c6089ae3a6, meaning
that residual controls can no longer apply to fields solved for as part
of function object executions.

Creating a system which permits solutions done within function objects
to be subject to residual control, *and* which correctly causes function
objects to write on final iterations, would be significantly more
complex.
2020-09-30 11:05:02 +01:00
a854372f50 writeObjects: Wrap all temporary object names with "tmp<...>"
This is a slight modification of the previous commit. All cached
temporary fields are now written to disk with the name enclosed by
"tmp<...>". This still allows for automatically constructed
field names to be read by paraFoam and other post-processing tools. It
also creates a consistent convention for naming all cached temporary
fields that are written to disk.
2020-09-30 10:17:33 +01:00
06af648dc3 writeObjects: Prepend field expression names with "expr"
for example

cacheTemporaryObjects
(
    "((1|((1|(1|A(U)))-H(1)))-(1|A(U)))"
);

functions
{
    #includeFunc writeObjects(regExp=off, "((1|((1|(1|A(U)))-H(1)))-(1|A(U)))")
}

writes the temporary field with the name
"expr((1|((1|(1|A(U)))-H(1)))-(1|A(U)))" so that it can be read by paraFoam and
other post-processing tools.
2020-09-29 17:21:06 +01:00
99cc2c4514 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2020-09-29 16:10:41 +01:00
fe5e403cf9 surfaceMeshConvert,surfaceMeshConvert,surfaceMeshImport: Updated coordinateSystem support 2020-09-29 16:10:06 +01:00
b0d91b53a7 semiPermeableBaffleMassFraction: Removed unused method declaration
Resolves bug report https://bugs.openfoam.org/view.php?id=3554
2020-09-29 15:13:04 +01:00
1238383597 Coded classes: Fixed IO of compilation settings 2020-09-29 15:13:04 +01:00
31891a38b2 coordinateSystems: Corrected, updated and tested
It is now possible to define coordinate systems in a central location and
selected them by name for any model requiring one, e.g. the
explicitPorositySource.

Description
    Provides a centralized coordinateSystem collection.

    For example with the porous region specified in \c constant/fvOptions as

    \verbatim
    porosity
    {
        type            explicitPorositySource;

        explicitPorositySourceCoeffs
        {
            selectionMode   cellZone;
            cellZone        porousBlockage;

            type            DarcyForchheimer;

            // D 100;  // Very little blockage
            // D 200;  // Some blockage but steady flow
            // D 500;  // Slight waviness in the far wake
            D 1000; // Fully shedding behavior

            d   ($D $D $D);
            f   (0 0 0);

            coordinateSystem porousBlockage;
        }
    }
    \endverbatim

    the corresponding coordinate system \c porousBlockage is looked-up
    automatically from the \c constant/coordinateSystems dictionary:

    \verbatim
    porousBlockage
    {
        type    cartesian;
        origin  (0 0 0);
        coordinateRotation
        {
            type    axesRotation;
            e1  (1 0 0);
            e2  (0 1 0);
        }
    }
    \endverbatim

    See \c tutorials/incompressible/pisoFoam/laminar/porousBlockage
2020-09-29 15:09:58 +01:00
b23c3465f9 coordinateSystems: Added missing clone functions 2020-09-29 09:34:12 +01:00
e8c5163f82 coordinateSystems: Initial work to simplify and rationalise
There is much more to be done, a complete rewrite of coordinateSystems would be
best.
2020-09-28 20:47:33 +01:00
081f2d5726 writeObjectsBase: Append explicit names (regExp = false) directly to the list 2020-09-27 20:13:56 +01:00
5e68311191 heSolidThermo: Corrected handling of KappaLocal boundary values 2020-09-25 23:05:02 +01:00
f1a4caa3fb tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger: Updated for changes to solid heat-flux 2020-09-25 21:13:21 +01:00
d3b2217949 ThermophysicalTransportModels: Changed q() and j() to return surfaceScalarFields
such that div(q()) = divq(...)
and       div(j()) = divj(...)

to unsure consistency between the reported heat (e.g. by the wallHeatFlux
functionObject) and mass fluxes and those used in the energy and specie
mass-fraction equations.
2020-09-25 19:37:01 +01:00
77b31c7f3a temperatureCoupledBase: Updated to use solidThermo::KappaLocal 2020-09-25 17:15:42 +01:00
8221b25875 coded classes: Added "codeOptions"
Resolves bug-report https://bugs.openfoam.org/view.php?id=3555
2020-09-25 16:41:47 +01:00
1bd316e69a solidDisplacementThermo: Updated adding q and divq functions 2020-09-25 16:29:15 +01:00
f15d150ca8 chtMultiRegionFoam, heSolidThermo: Moved the solid heat flux model into heSolidThermo
and changed to be an energy implicit correction to a temperature gradient
based heat-flux.  This formulation is both energy conservative and temperature
consistent.

The wallHeatFlux functionObject has been updated to use a consistent heat-flux
from the heSolidThermo.
2020-09-25 16:09:18 +01:00
a972b208ee twoPhaseMixture/interfaceCompression/Make: Redundant, removed 2020-09-24 17:39:51 +01:00
6ca68b0ebe multiphaseThermophysicalTransportModels: Added temperature gradient based heat flux models 2020-09-24 17:00:31 +01:00
3901c09dc6 etc/templates/singleFluidCHT: Updated to use the new eddyDiffusivity thermophysical transport model 2020-09-23 19:46:44 +01:00
747cea6d0f ThermophysicalTransportModels: Added temperature gradient based heat flux models
Fourier, eddyDiffusivity and nonUnityLewisEddyDiffusivity thermophysical
transport models now apply an implicit energy correction to a temperature
gradient based heat-flux to provide computational stability and efficiency while
converging to temperature gradient based solution.  This ensures consistent heat
exchange between fluid and solid regions in CHT cases and with heat-flux
boundaries.

The Fourier and eddyDiffusivity models support single specie systems only
whereas nonUnityLewisEddyDiffusivity supports specie diffusion with independent
specification of turbulent Prandtl and Schmidt numbers, i.e. non-unity Lewis
number.

The unityLewisFourier and unityLewisEddyDiffusivity thermophysical transport
models use an implicit energy gradient based heat-flux which is optimal for
numerical stability and convergence but does not guarantee consistent heat
exchange between fluid and solid regions and heat-flux boundaries in the
presence of gradients of heat capacity.  Both of these models support specie
diffusion with the restriction that the laminar and turbulent Prandtl and
Schmidt numbers are equal, i.e. unity Lewis number.

The thermophysical transport model is specified in the optional
thermophysicalTransport dictionary; if this file is not present the
unityLewisFourier model is selected for laminar and unityLewisEddyDiffusivity
for turbulent cases for backward compatibility.

The chtMultiRegionFoam tutorial cases have been updated to use the most
appropriate of the new thermophysical transport models.
2020-09-23 16:15:38 +01:00
f3c21b74a8 Minor corrections to options files
Resolves bug-report https://bugs.openfoam.org/view.php?id=3553
2020-09-22 17:29:58 +01:00
16da54acda wallHeatFlux: Updated to use the thermophysicalTransportModel::q() function
providing consistency between the reported heat fluxes and those used in the
energy equation.
2020-09-22 15:30:28 +01:00
77ee78b47e functionObjects::volFieldValue: corrected parallel operation of writeFields = true
Resolves bug-report https://bugs.openfoam.org/view.php?id=3552
2020-09-21 10:55:49 +01:00
560fb1a64b foamDictionary: Ignore function name in substitution list
so that foamDictionary conveniently supports the same format as the #includeFunc
argument list, e.g.

foamDictionary -set 'fieldAverage(U, p, prime2Mean = yes)' fieldAverage

The unnamed field arguments 'U' and 'p' are ignored by foamDictionary.
2020-09-20 09:28:20 +01:00
560db98b34 dictionary: Standardised and centralised the argument list parser
to simplify maintenance
20200920
2020-09-19 15:52:09 +01:00
ad33cc2cc8 functionObject: Added support for scoped keyword lookup in the argument list
functions
{
    #includeFunc        singleGraph(setConfig/axis = y)
    .
    .
    .
}
2020-09-18 21:39:40 +01:00
312a56e7e3 foamDictionary: Extended the -set option to support a substitution list
e.g.

    foamDictionary -set '(purgeWrite=3, maxDeltaT=0.1, functions/rho/writeControl=writeTime)' controlDict

or

    foamDictionary -set 'purgeWrite=3, maxDeltaT=0.1, functions/rho/writeControl=writeTime' controlDict

are equivalent to

    foamDictionary -entry purgeWrite -set 3 controlDict
    foamDictionary -entry maxDeltaT -set 0.1 controlDict
    foamDictionary -entry functions/rho/writeControl -set writeTime controlDict
2020-09-18 18:25:51 +01:00
067ab99f0f wmkdep: terminate sourcePath string explicitly
Resolves bug-report https://bugs.openfoam.org/view.php?id=3550
2020-09-18 13:55:37 +01:00
07f6ffa2b8 TimeIO: uint -> unsigned int
Resolves bug-report https://bugs.openfoam.org/view.php?id=3549
2020-09-18 13:31:41 +01:00
6c62efade7 lduMatrix, LduMatrix: Updated type logic to handle parallel cases
in which there is 0 or 1 cell on some processors.
2020-09-18 08:19:04 +01:00
d05a831fc3 lduMatrix,LduMatrix: Added logic to the matrix type selection to handle empty coefficient fields
This ensures that the diagonal solver is selected for 0D cases even if the upper
and lower coefficient fields exist but are empty.
2020-09-17 19:14:18 +01:00
c4f98e7835 surfaces: Corrected pre-configuration for changes to plane specification 2020-09-17 10:51:29 +01:00
1d9f39761e interpolation: Added field evaluation
The field evaluations have been optimised using an additional
fieldInterpolation base class so that a virtual call happens only once
per field. This is the same pattern as that used to optimise Function1.
2020-09-17 08:49:59 +01:00
ea777f806b Time: Read locally modified info switches 2020-09-16 14:45:02 +01:00
861a955cc9 fvOptions/.../codedSource: Corrected application of phase sources 2020-09-15 16:48:01 +01:00
aa8e4b407c masterUncollatedFileOperation: Updated to handle parallel distribution of binary IOdictionaries 2020-09-14 17:16:39 +01:00
0c75318250 IOdictionary: Pstream transfer is now ASCII unless binary is specified in the file 2020-09-14 16:38:28 +01:00
ea036dfec8 foamDictionary: Set expanded dictionary format to ascii 2020-09-14 12:13:09 +01:00
f72a30fe62 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2020-09-14 11:57:52 +01:00
915b9d7221 table2DThermophysicalFunction: Corrected pressure table index check 2020-09-14 11:57:19 +01:00