Commit Graph

38 Commits

Author SHA1 Message Date
c3be52bcd6 Corrected 'Class' entries in headers
Using script provided by Bruno Santos
See https://bugs.openfoam.org/view.php?id=2919
2018-05-07 14:18:44 +01:00
fc2b2d0c05 OpenFOAM: Rationalized the naming of scalar limits
In early versions of OpenFOAM the scalar limits were simple macro replacements and the
names were capitalized to indicate this.  The scalar limits are now static
constants which is a huge improvement on the use of macros and for consistency
the names have been changed to camel-case to indicate this and improve
readability of the code:

    GREAT -> great
    ROOTGREAT -> rootGreat
    VGREAT -> vGreat
    ROOTVGREAT -> rootVGreat
    SMALL -> small
    ROOTSMALL -> rootSmall
    VSMALL -> vSmall
    ROOTVSMALL -> rootVSmall

The original capitalized are still currently supported but their use is
deprecated.
2018-01-25 09:46:37 +00:00
593df2e92a Removed unintended integer divisions 2017-07-13 09:23:11 +01:00
2b05ad16b2 dragModels::Ergun: Corrected leading coefficient
Resolves bug report https://bugs.openfoam.org/view.php?id=2612
2017-07-13 08:47:47 +01:00
7bdbab7f4e Rationalize the "pos" function
"pos" now returns 1 if the argument is greater than 0, otherwise it returns 0.
This is consistent with the common mathematical definition of the "pos" function:

https://en.wikipedia.org/wiki/Sign_(mathematics)

However the previous implementation in which 1 was also returned for a 0
argument is useful in many situations so the "pos0" has been added which returns
1 if the argument is greater or equal to 0.  Additionally the "neg0" has been
added which returns 1 if if the argument is less than or equal to 0.
2017-06-22 14:32:18 +01:00
80c101b14f Euler-Euler: turbulentDispersionModels: Burns: Minor re-formulation to
improve stability.

Resolves bug report <https://bugs.openfoam.org/view.php?id=2544>
2017-05-09 08:55:29 +01:00
fe43b80536 GeometricField: Renamed internalField() -> primitiveField() and dimensionedInternalField() -> internalField()
These new names are more consistent and logical because:

primitiveField():
primitiveFieldRef():
    Provides low-level access to the Field<Type> (primitive field)
    without dimension or mesh-consistency checking.  This should only be
    used in the low-level functions where dimensional consistency is
    ensured by careful programming and computational efficiency is
    paramount.

internalField():
internalFieldRef():
    Provides access to the DimensionedField<Type, GeoMesh> of values on
    the internal mesh-type for which the GeometricField is defined and
    supports dimension and checking and mesh-consistency checking.
2016-04-30 21:40:09 +01:00
e1e996746b GeometricField::internalField() -> GeometricField::internalFieldRef()
Non-const access to the internal field now obtained from a specifically
named access function consistent with the new names for non-canst access
to the boundary field boundaryFieldRef() and dimensioned internal field
dimensionedInternalFieldRef().

See also commit a4e2afa4b3
2016-04-30 14:25:21 +01:00
287603474a vector::zero -> Zero 2016-04-16 18:34:41 +01:00
fda9aadb3a Specialized dotInterpolate for the efficient calculation of flux fields
e.g. (fvc::interpolate(HbyA) & mesh.Sf()) -> fvc::flux(HbyA)

This removes the need to create an intermediate face-vector field when
computing fluxes which is more efficient, reduces the peak storage and
improved cache coherency in addition to providing a simpler and cleaner
API.
2016-04-06 20:20:53 +01:00
7d192447f0 Boundary conditions: Added extrapolatedCalculatedFvPatchField
To be used instead of zeroGradientFvPatchField for temporary fields for
which zero-gradient extrapolation is use to evaluate the boundary field
but avoiding fields derived from temporary field using field algebra
inheriting the zeroGradient boundary condition by the reuse of the
temporary field storage.

zeroGradientFvPatchField should not be used as the default patch field
for any temporary fields and should be avoided for non-temporary fields
except where it is clearly appropriate;
extrapolatedCalculatedFvPatchField and calculatedFvPatchField are
generally more suitable defaults depending on the manner in which the
boundary values are specified or evaluated.

The entire OpenFOAM-dev code-base has been updated following the above
recommendations.

Henry G. Weller
CFD Direct
2016-02-20 22:44:37 +00:00
10aea96ae5 applications: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 17:53:31 +00:00
a91cf40aff twoPhaseEulerFoam/interfacialModels/dragModels/WenYu: Corrected Re -> Re*alpha_g
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1794
2015-08-04 13:29:11 +01:00
40ae36b5f6 dimensioned<Type>: Added constructor from name, dimensions and dictionary
to simplify construction of dimensionedScalar properties and avoid the
duplication of the name string in the constructor call.
2015-07-21 12:57:07 +01:00
d617e9b0e7 twoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer: new heat-transfer model
Model which applies an analytical solution for heat transfer from the
surface of a sphere to the fluid within the sphere.

Provided by William Bainbridge
2015-06-07 18:57:13 +01:00
c937c4c9ba twoPhaseEulerFoam: Move the residualAlpha used for drag into the phaseModel
This is necessary to guarantee consistency between the residualAlpha
used for drag and buoyancy in a multi-phase system
2015-06-07 18:55:24 +01:00
16f03f8a39 twoPhaseEulerFoam: Added experimental face-based momentum equation formulation
This formulation provides C-grid like pressure-flux staggering on an
unstructured mesh which is hugely beneficial for Euler-Euler multiphase
equations as it allows for all forces to be treated in a consistent
manner on the cell-faces which provides better balance, stability and
accuracy.  However, to achieve face-force consistency the momentum
transport terms must be interpolated to the faces reducing accuracy of
this part of the system but this is offset by the increase in accuracy
of the force-balance.

Currently it is not clear if this face-based momentum equation
formulation is preferable for all Euler-Euler simulations so I have
included it on a switch to allow evaluation and comparison with the
previous cell-based formulation.  To try the new algorithm simply switch
it on, e.g.:

PIMPLE
{
    nOuterCorrectors 3;
    nCorrectors      1;
    nNonOrthogonalCorrectors 0;
    faceMomentum     yes;
}

It is proving particularly good for bubbly flows, eliminating the
staggering patterns often seen in the air velocity field with the
previous algorithm, removing other spurious numerical artifacts in the
velocity fields and improving stability and allowing larger time-steps
For particle-gas flows the advantage is noticeable but not nearly as
pronounced as in the bubbly flow cases.

Please test the new algorithm on your cases and provide feedback.

Henry G. Weller
CFD Direct
2015-04-27 21:33:58 +01:00
a515222a98 twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion: Corrected dimension of D 2015-04-10 15:40:26 +01:00
2150f659f4 twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns: Corrected sign of the diffusivity 2015-04-10 11:51:00 +01:00
fcbdfd4e44 twoPhaseEulerFoam: Interpolate lift, wall-lubrication and turbulent dispersion forces
Reduces or eliminates staggering patterns due to cell-force imbalances
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1363
2015-04-08 12:19:23 +01:00
43aec8425b TomiyamaLift: Updated coefficient to make the model continuous at EoH = 10.7
Correction provided by Juho Peltola
2015-03-11 18:06:04 +00:00
2e2cbe50c6 TomiyamaLift: Corrected coefficients to correspond exactly to the original paper cited
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=1564
2015-03-10 19:57:42 +00:00
76c7f68ac1 fluidThermo: Add compressibleTransportModel as base-class
Needed to create generic compressible turbulence model library
2015-02-17 17:25:26 +00:00
22869d6e38 Updated header 2015-01-08 16:25:48 +00:00
5d5c397c44 twoPhaseEulerFoam: removed unnecessary fvc.H 2015-01-08 16:25:17 +00:00
6f0b2c1727 wallDist: Add support for cached wall-reflection vectors
Currently these vectors are generated at the same time as the wall-distance field
by the same run-time selected algorithm.  This will be changed so that the wall-reflection
vectors are only generated and stored if required.
2015-01-08 16:08:53 +00:00
bb2c2efd49 wallDist: now a MeshObject cached and updated automatically with a run-time selected algorithm
When using models which require the wallDist e.g. kOmegaSST it will
request the method to be used from the wallDist sub-dictionary in
fvSchemes e.g.

wallDist
{
    method meshWave;
}

specifies the mesh-wave method as hard-coded in previous OpenFOAM versions.
2015-01-08 10:40:23 +00:00
ba0393358f Updated headers 2015-01-06 17:32:02 +00:00
5085a9807b wallDist: separate the meshWaveWallDist from the wallDist interface
In preparation for run-time selectable methods
2015-01-06 17:31:02 +00:00
cd405fd369 twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels: Added Fprime function
to support improved discretisation in pEqn and implicit treatment in the phase-fraction equation
2014-12-22 20:11:04 +00:00
aab5463644 Reformat references 2014-12-19 21:33:16 +00:00
b1a1a32c98 Corrected for SP compilation 2014-12-19 17:03:30 +00:00
fae6dcad37 Reformatted references 2014-12-19 11:55:16 +00:00
2cb1adebbf Included new files 2014-12-19 11:54:57 +00:00
f1dfb92002 Removed spurious additional phase-fraction factor 2014-12-19 11:54:23 +00:00
c282a02ae5 Added LopezDeBertodano turbulentDispersionModel 2014-12-19 11:53:36 +00:00
8fa9f8944a Added IshiiZuber drag model 2014-12-19 11:53:17 +00:00
446e5777f0 Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00