Commit Graph

4272 Commits

Author SHA1 Message Date
02fc637645 coupledPolyPatch: Separated ordering from transformation controls
which will allow the transformation calculation functionality to be moved into
cyclic patches.
2019-12-31 20:24:52 +00:00
f8ac6e8d1e transformer: Added bool to optimise transformations without translation
Also corrected bugs in the inverse transform function and added tmp<Field>
transform functions for efficiency.
2019-12-30 17:55:52 +00:00
164ab8407b Renamed vectorTensorTransform -> transformer
and relocated to a primitives/transform in preparation for use as the
transformation class in coupled patches.
2019-12-30 11:03:56 +00:00
b460b9e93d particleTemplates: Removed unused variable
Resolves bug-report https://bugs.openfoam.org/view.php?id=3419
2019-12-30 07:44:00 +00:00
03207b1538 Coupled patch transformations: Removed the hideous and unphysical non-uniform transformation support
The implementation of the optional non-uniform transformations in coupled
patches was based on transform property lists which could be either length 0 for
no transformation, 1 for uniform transformation or n-faces for non-uniform
transformation.  This complexity was maintenance nightmare but kept to support
the hack in the original film implementation to partially work around the
conservation error.  Now that film has been re-implemented in fully mass
conservative form this unphysical non-uniform transformation support is no
longer needed and the coupled patch transformations have been completely
refactored to be simpler and more rational with single values for the
transformation properties and boolians to indicate which transformations are
needed.
2019-12-25 11:26:30 +00:00
bae37a52a6 functionObjects::writeObjects: Added option to disable regular expressions
When selecting fields with complex automatically generated names it is
cumbersome to escape all the regular expression meta characters and more
convenient to specify the name as a literal string, the new regExp option
provides the ability to switch the regular expression support and defaults to
true for backward compatibility.

For example to cache and write out an intermediate temporary field generated by
the kOmegaSST model:

cacheTemporaryObjects
(
    "((interpolate(((1|((1|(1|A(U)))-H(1)))-(1|A(U))))*snGrad(p))*magSf)"
);

functions
{
    #includeFunc writeObjects(regExp=off, "((interpolate(((1|((1|(1|A(U)))-H(1)))-(1|A(U))))*snGrad(p))*magSf)")
}

The regExp option can also be specified in a writeObjects dict as

    regExp  off;

Additionally regular expression support has been added to the includeFunc
argument parsing.
2019-12-25 11:04:31 +00:00
5a29562180 rigidBodyMeshMotionSolver: Added force ramp compatible with that in rigidBodyMeshMotion
Resolves feature request https://bugs.openfoam.org/view.php?id=3417
2019-12-23 10:43:03 +00:00
772c8e9a01 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-12-20 22:59:01 +00:00
000a3bbd8d etcFiles: Corrected handling of "site" to correspond to the documentation
Resolves bug-report https://bugs.openfoam.org/view.php?id=3416
2019-12-20 22:57:41 +00:00
246441be01 eRefConstThermo, hRefConstThermo: Corrected mixing behaviour
Patch contributed by Juho Peltola, VTT.
2019-12-20 16:36:07 +00:00
8ce46619b6 TurbulenceModels/.../kOmegaSSTSato: Made multiphase
The kOmegaSSTSata model can now be used in multiphase cases, provided
that there is a single, well defined continuous phase. As previously,
the continuous phase is the phase for which the model is selected (i.e.,
in the constant/turbulenceProperties.<continuous-phase-name>
dictionary).

By default, now, all other moving phases are considered to be dispersed
bubble phases, and the effect of all of them is summed to calculate the
overall bubble induced turbulence.

This behaviour can be overridden by means of a "dispersedPhases" entry,
which takes a list of the phases to be considered dispersed by the
model.

Patch contributed by Timo Niemi, VTT.
2019-12-20 15:15:12 +00:00
89023d2f5d reacting*EulerFoam: Improved order of thermo/reaction/specie-fraction corrections
The correction of thermodynamics, reactions, and the enforcement of the
specie fraction sum are now done in the same sequence as other reacting
solvers.

Patch contributed by Juho Peltola, VTT.
2019-12-20 14:11:05 +00:00
2ef9267323 functionObjectList: Set parent dictionary for temporary function dictionary
so that it inherits the IO properties of the top dictionary.

Resolves bug-report https://bugs.openfoam.org/view.php?id=3414
2019-12-19 16:47:23 +00:00
a9ddd758e8 chtMultiRegionFoam: Added support for cases without fluid or solid regions
Resolves bug-report https://bugs.openfoam.org/view.php?id=3413
2019-12-19 14:23:35 +00:00
f6688bb9b3 surfaceFilmModels::kinematicSingleLayer: Added support for density gradient effects on the hydrostatic pressure
avoiding gradients in the extruded mesh geometry which causes serious errors at
corners.
2019-12-19 12:27:41 +00:00
68a384052a surfaceFilmModels::kinematicSingleLayer: Update the capillary pressure within the PISO loop
This significantly improves the stability and convergence of cases in which the
surface tension effects dominate.
2019-12-18 19:17:24 +00:00
e0caaea12b surfaceFilmModels::kinematicSingleLayer: Updated handling of the external pressure 2019-12-17 23:46:09 +00:00
131a9f1b0e surfaceFilmModels::kinematicSingleLayer: Resolved issue with hydrostatic pressure contribution at corners 2019-12-17 17:26:40 +00:00
d485383e77 kinematicSingleLayer: Simplified the handling of the buoyancy pressure terms 2019-12-16 15:19:21 +00:00
761e9591ab filmTurbulenceModel::laminar: Further improvement to the thin film limit stabilisation 2019-12-16 15:17:41 +00:00
bf768134e8 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-12-16 15:17:35 +00:00
7ee9aaa51e singleLayerRegion: Renamed VbyA 2019-12-16 15:17:15 +00:00
b44cad0118 reacting*EulerFoam/.../functionObjects/phaseForces: Sign correction 2019-12-16 11:17:06 +00:00
7cd43ea5f8 tutorials/incompressible/simpleFoam/roomResidenceTime/validation/plotPos1Data.*: Removed shebang
These scripts are executed directly in gnuplot so the shebang is not necessary
and gnuplot may not be installed in /bin.
20191215
2019-12-15 18:48:33 +00:00
de9d59ecf1 filmViscosityModel::thixotropicViscosity: Improved the handling of the implicit shear term 2019-12-12 16:38:36 +00:00
75f11686ba filmViscosityModel::filmViscosityModel: Updated the mass source 2019-12-12 15:17:10 +00:00
00075498d5 filmTurbulenceModel::laminar: Generalised the thin film stabilisation
Replaced the arbitrary constant limiter with one based on the time-step.
2019-12-12 15:15:43 +00:00
b5cb979460 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-12-12 11:57:55 +00:00
52255e53a7 Ensight format writing: Reverted changes to writeKeyword
Patch contributed by Timo Niemi, VTT.
Resolves bug-report https://bugs.openfoam.org/view.php?id=3409
2019-12-12 11:53:54 +00:00
d37fbcc39c liquidProperties/C2H5OH: Corrected specific heat and enthalpy coefficients
Resolves bug report https://bugs.openfoam.org/view.php?id=3390
2019-12-12 11:24:53 +00:00
0ad918f659 surfaceFilmModels: Rewritten in mass conservative form
All of the film transport equations are now formulated with respect to the film
volume fraction in the region cell layer rather than the film thickness which
ensures mass conservation of the film even as it flows over curved surfaces and
around corners.  (In the previous formulation the conservation error could be as
large as 15% for a film flowing around a corner.)

The film Courant number is now formulated in terms of the film cell volumetric
flux which avoids the stabilised division by the film thickness and provides a
more reliable estimate for time-step evaluation.  As a consequence the film
solution is substantially more robust even though the time-step is now
significantly higher.  For film flow dominated problem the simulations now runs
10-30x faster.

The inconsistent extended PISO controls have been replaced by the standard
PIMPLE control system used in all other flow solvers, providing consistent
input, a flexible structure and easier maintenance.

The momentum corrector has been re-formulated to be consistent with the momentum
predictor so the optional PIMPLE outer-corrector loop converges which it did not
previously.

nonuniformTransformCyclic patches and corresponding fields are no longer needed
and have been removed which paves the way for a future rationalisation of the
handling of cyclic transformations in OpenFOAM to improve robustness, usability
and maintainability.

Film sources have been simplified to avoid the need for fictitious boundary
conditions, in particular mappedFixedPushedInternalValueFvPatchField which has
been removed.

Film variables previously appended with an "f" for "film" rather than "face"
have been renamed without the unnecessary and confusing "f" as they are
localised to the film region and hence already directly associated with it.

All film tutorials have been updated to test and demonstrate the developments
and improvements listed above.

Henry G. Weller
CFD Direct Ltd.
2019-12-12 10:34:08 +00:00
01af447add Function1: Corrected header example for Sine and Square functions 2019-12-11 12:22:27 +00:00
1fb7d6e023 solidDisplacementFoam: Updated solver to use the temperature field stored in solidDisplacementThermo 2019-12-09 18:25:03 +00:00
5ae7052e12 Corrected typos in User Guide
Based on PDF provided by Herbert Tauber
Resolves bug-report https://bugs.openfoam.org/view.php?id=3405
2019-12-07 13:26:01 +00:00
309df896ad reacting*EulerFoam/.../BlendedInterfacialModel: Fixed typo
Corrected call to model2In1 in one of the evaluate methods

Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2019-12-06 09:42:55 +00:00
45482d3902 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-12-05 22:40:33 +00:00
d32e012238 functionObjects::surfaceInterpolate: Corrected documentation
Resolves bug-report https://bugs.openfoam.org/view.php?id=3407
2019-12-05 22:39:52 +00:00
c0cffb357d foamCloneCase: fix test for case being decomposed 2019-12-04 16:30:49 +00:00
6d13edddfb Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-12-04 12:44:11 +00:00
8dd979f14b IOobject: Added modelName function to combine model and variable names: <model>:<name> 2019-12-04 12:43:11 +00:00
435b894d2c functionObjectList: Search for functions in multi-region cases in a more logical order
When operating on multi-region cases, function files are now searched
for in the following order:

 - First the $FOAM_CASE/system/<region> directory is searched

 - Second the $FOAM_CASE/system directory is searched

 - Finally a search is done through the preconfigured functions in
   $WM_PROJECT_DIR/etc

Previously, in a multi-region case, preconfigured objects were
considered before those in the case's (non-region) system directory.
This was considered counter-intuitive. Functions residing in the system
directory should always take precedence, whether they are in the region
subdirectory or not.
2019-12-04 11:43:37 +00:00
da50aba2c4 functionObjects::fieldExpression: fieldName is now const as it cannot be changed after construction 2019-11-29 16:54:54 +00:00
8a6800abfe functionObjects::fieldExpression: Rationalised setting the field and result names 2019-11-29 11:22:01 +00:00
ffb65bcee5 functionObject::fieldExpression: Corrected construction of the result field name 2019-11-28 19:03:05 +00:00
a2bb959e23 tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous: Simplification
Re-scripted the tutorials to take advantage of foamDictionary and .orig
2019-11-28 14:47:18 +00:00
c28eab7318 heheuPsiThermo: Utilised heThermo's templated field evaluation functions
This reduces code duplication within heheuPsiThermo. This also resolves
a Clang floating point error issue associated with loop vectorisation.
See commit 9675107f for the corresponding fix to heThermo.
2019-11-28 11:25:27 +00:00
7d229e7026 functionObject: Log by default to stdout when in postProcess mode, not otherwise
This change formalises the usage of the "log" keyword in function
objects. By default, logging to stdout is activated when running
"postProcess" or "<solver> -postProcess", and deactivated when a
function is being executed as part of a run.

This behaviour can now be overridden in the function object dictionary
when operating in either mode.
2019-11-27 16:27:27 +00:00
9675107f7e heThermo: Simplified initialisation and fixed Clang optimisation issue
The initialisation of energy in heThermo has been rewritten to use the
"he" method.

This has had the effect of resolving a floating point error in the
initialisation by disabling Clang's vectorisation of the loop in which
cell values of energy are calculated from the temperature field.
2019-11-27 15:46:43 +00:00
5eaf74c3a4 dictionary scalar lookup: simplified syntax using the type templated lookup function
Replaced
    readScalar(dict.lookup("name"))
with
    dict.lookup<scalar>("name")
2019-11-27 14:56:32 +00:00
d987648ef4 dictionary label lookup: simplified syntax using the type templated lookup function
Replaced
    readLabel(dict.lookup("name"))
with
    dict.lookup<label>("name)
2019-11-27 11:38:59 +00:00