Commit Graph

1593 Commits

Author SHA1 Message Date
Henry Weller
91ee15e3ac rhoCentralFoam: Added experimental LTS support
Select LTS via the ddtScheme:

ddtSchemes
{
    default         localEuler rDeltaT;
}

The LTS algorithm is controlled with the standard settings in
controlDict, e.g.:

maxCo           0.5;
maxDeltaT       2e-8;

with the addition of the optional rDeltaT smoothing coefficient:

rDeltaTSmoothingCoeff 0.02;

which defaults to 0.02.

For cases with reasonably uniform meshes like the forwardStep tutorial
LTS does not provide much benefit but for cases with large variation in
cell-size like the biconic25-55Run35 tutorial LTS provides significant
speed-up to convergence particularly if started from uniform conditions.
2015-06-19 11:52:48 +01:00
Henry Weller
80e13f8002 rhoCentralFoam: Reverted correction to BCs
Reverted changes proposed in
http://openfoam.org/mantisbt/view.php?id=1548 as it adversely affects
fixed-value BCs and is formulated to fix an issue with an unphysical
case.  Further analysis of the handling of fixed pressure outlet
conditions as the Mach number approaches 1 is required.
2015-06-18 15:10:48 +01:00
Henry Weller
164448f8b1 rhoCentralFoam: Updated Courant number calculation to be cell-based rather than face-based
Now consistent with the way the Courant number is calculated for other solvers
2015-06-17 20:20:49 +01:00
Henry Weller
bc493180d9 rhoCentralFoam: Ensure fixed value boundary conditions are preserved
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1748
2015-06-17 08:46:46 +01:00
Henry Weller
8293227964 Rationalized the LTS solvers 2015-06-16 12:42:37 +01:00
Henry Weller
03adb37ab4 LTSCoalChemistryFoam: LTS version of coalChemistryFoam 2015-06-15 22:36:27 +01:00
Henry Weller
eb53f9bdf0 reactingTwoPhaseEulerFoam: New twoPhaseEulerFoam supporting mass-transfer and reactions
Multi-species, mass-transfer and reaction support and multi-phase
structure provided by William Bainbridge.

Integration of the latest p-U and face-p_U algorithms with William's
multi-phase structure is not quite complete due to design
incompatibilities which needs further development.  However the
integration of the functionality is complete.

The results of the tutorials are not exactly the same for the
twoPhaseEulerFoam and reactingTwoPhaseEulerFoam solvers but are very
similar.  Further analysis in needed to ensure these differences are
physical or to resolve them; in the meantime the twoPhaseEulerFoam
solver will be maintained.
2015-06-12 09:52:17 +01:00
Henry Weller
360604b104 twoPhaseEulerFoam: Minor reorganization 2015-06-12 09:42:19 +01:00
Henry
8eda4b8632 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
Henry
61e52b2cb4 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
Henry
af51444760 rhoCentralFoam, sonicFoam: Remove superfluous includes
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1730
2015-06-03 09:40:25 +01:00
Henry
c3ee2348a6 MRF: Separate MRF from fvOptions
fvOptions does not have the appropriate structure to support MRF as it
is based on option selection by user-specified fields whereas MRF MUST
be applied to all velocity fields in the particular solver.  A
consequence of the particular design choices in fvOptions made it
difficult to support MRF for multiphase and it is easier to support
frame-related and field related options separately.

Currently the MRF functionality provided supports only rotations but
the structure will be generalized to support other frame motions
including linear acceleration, SRF rotation and 6DoF which will be
run-time selectable.
2015-05-29 23:35:43 +01:00
Henry
38171e0c7a MRFZone: rationalize to allow support for general frame acceleration 2015-05-29 15:31:53 +01:00
Henry
38177526ff simpleFoam/SRFSimpleFoam: Added support for SIMPLEC
SIMPLEC (SIMPLE-consistent) is selected by setting "consistent" option true/yes:

SIMPLE
{
    nNonOrthogonalCorrectors 0;
    consistent yes;
}

which relaxes the pressure in a "consistent" manner and additional
relaxation of the pressure is not generally necessary.  In addition
convergence of the p-U system is better and reliable with less
aggressive relaxation of the momentum equation, e.g. for the motorbike
tutorial:

relaxationFactors
{
    equations
    {
        U               0.9;
        k               0.7;
        omega           0.7;
    }
}

The cost per iteration is marginally higher but the convergence rate is
better so the number of iterations can be reduced.

The SIMPLEC algorithm also provides benefit for cases with large
body-forces, e.g. SRF, see tutorials/incompressible/SRFSimpleFoam/mixer
and feature request http://www.openfoam.org/mantisbt/view.php?id=1714
2015-05-29 11:30:40 +01:00
Henry
1568641986 DPMFoam, MPPICFoam: Corrected contiuousPhaseName -> continuousPhaseName
Resolves second part of http://www.openfoam.org/mantisbt/view.php?id=1717
2015-05-28 17:01:18 +01:00
Henry
7ddeaa3777 driftFluxFoam/relativeVelocityModels/Make/options: add newline 2015-05-19 14:34:37 +01:00
Henry
18641f0649 twoPhaseEulerFoam: rationalize handling of fixed-flux BC update 2015-05-09 23:45:15 +01:00
Henry
cd2aa39eda Update header 2015-05-08 10:10:47 +01:00
Henry
6b2fb4664c twoPhaseEulerFoam: Update only the fixed-value phi patch fields before constructing the pressure eqn
Avoids small continuity error in parallel
2015-05-08 09:51:36 +01:00
Henry
24b0f3ad0b twoPhaseEulerFoam: In the limit of phase-fraction->0 the velocity is calculated from a force balance
Rather than forcing the dispersed-phase velocity -> the continuous-phase
velocity as the phase-fraction -> 0 the velocity is now calculated from
a balance of pressure, buoyancy and drag forces.  The advantage is now
liquid or particles are not carried out of bubble-column of
fluidised-beds by the fictitious drag caused by forcing the
phase-velocities becoming equal in the limit.
2015-05-02 17:15:49 +01:00
Henry
0b5e422dd1 Updated header 2015-04-30 10:44:40 +01:00
Henry
f22ae158f9 multiphaseInterFoam/multiphaseMixture: Updated MULES call 2015-04-30 10:44:15 +01:00
Henry
00ce68ee18 compressibleMultiphaseInterFoam: VoF and MULES controls are now in the alpha sub-dict of fvSolution
consistent with multiphaseInterFoam and other VoF solvers
2015-04-29 16:32:33 +01:00
Henry
b5b6791230 Update headers 2015-04-29 14:44:53 +01:00
Henry
f7e4d0a110 MULES: nLimiterIter and smoothLimiter are now user-input via the corresponding fvSolution sub-dict
nLimiterIter: Number of iterations during limiter construction
    3 (default) is sufficient for 3D simulations with a Courant number 0.5 or so
    For larger Courant numbers larger values may be needed but this is
    only relevant for IMULES and CMULES

smoothLimiter: Coefficient to smooth the limiter to avoid "diamond"
    staggering patters seen in regions of low particle phase-fraction in
    fluidised-bed simulations.

    The default is 0 as it is not needed for all simulations.
    A value of 0.1 is appropriate for fluidised-bed simulations.
    The useful range is 0 -> 0.5.
    Values larger than 0.5 may cause excessive smearing of the solution.
2015-04-29 14:37:41 +01:00
Henry
9284d856b9 Updated header 2015-04-28 18:19:13 +01:00
Henry
9655398064 twoPhaseEulerFoam: Improvements to implicitPhasePressure 2015-04-28 18:18:34 +01:00
Henry
fc6b44ee3c 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
Henry
c28036665d potentialFoam: No longer executes functionObjects by default
Use the new -withFunctionObjects command-line option to execute functionObjects
2015-04-25 21:56:14 +01:00
Henry
828ca8322c twoPhaseEulerFoam: Minor improvement to the handling of p_rgh->p after the pEqn 2015-04-20 20:48:12 +01:00
Henry
24a340ef75 applications/solvers/multiphase: for MRF make phiHbyA relative BEFORE adjustPhi
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1665
2015-04-20 16:50:02 +01:00
Henry
3b65f924ec twoPhaseEulerFoam: Added fvOptions correction to the phase velocities after matrix construction 2015-04-18 21:40:54 +01:00
Henry
f5bb944965 twoPhaseEulerFoam: Improved handling of velocity/flux boundary conditions
Updated tutorials to converge pressure during PIMPLE loop to avoid
phase-fraction unboundedness which limits thermodynamics convergence.
2015-04-12 09:57:56 +01:00
Henry
4ee86fd7c7 twoPhaseEulerFoam: Correct continuity errors after temperature update 2015-04-11 11:00:28 +01:00
Henry
6c097fc2b6 twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion: Corrected dimension of D 2015-04-10 15:40:26 +01:00
Henry
4c443233be twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns: Corrected sign of the diffusivity 2015-04-10 11:51:00 +01:00
Henry
ff2f3205af twoPhaseEulerFoam: formalize the use of partial-elimination for phase velocity and flux correction 2015-04-08 16:42:06 +01:00
Henry
5688e3daa7 Updated headers 2015-04-08 12:22:15 +01:00
Henry
0be1e89204 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
Henry
724b0fdb8c twoPhaseEulerFoam: Add partial-elimination to phase flux and velocity correction
Improves stability and convergence of systems in which drag dominates
e.g. small particles in high-speed gas flow.

Additionally a new ddtPhiCorr strategy is included in which correction
is applied only where the phases are nearly pure.  This reduces
staggering patters near the free-surface of bubble-column simulations.
2015-04-05 21:18:28 +01:00
Henry
9cd9a9f364 ddtScheme::fvcDdtPhiCoeff: Zero ddtCorr on AMIs
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1421
2015-03-24 15:23:01 +00:00
Henry
a7f0de9aa9 multiphaseEulerFoam: transform to solve for p_rgh
to avoid excessive pressure/buoyancy balance errors on non-orthogonal meshes
2015-03-19 21:40:41 +00:00
Henry
28abb8cda5 Buoyant solvers: Add special handling for ghRef in the case g = (0 0 0) 2015-03-19 15:26:06 +00:00
Henry
fa2721ffd5 JohnsonJacksonFrictionalStress: alphaDeltaMax -> alphaDeltaMin (it is the lower limit) 2015-03-18 15:40:39 +00:00
Henry
2e35cc76e8 twoPhaseEulerFoam JohnsonJacksonFrictionalStress: alphaDeltaMax now user input (previously hard-coded to 5e-2) 2015-03-18 15:03:10 +00:00
Henry
fb84761ef8 twoPhaseEulerFoam: Rationalize the particle-pressure flux BCs and correct for coupled-patches 2015-03-18 11:53:23 +00:00
Henry
c530e1cd9b twoPhaseEulerFoam: transform to solve for p_rgh
to avoid excessive pressure/buoyancy balance errors on non-orthogonal meshes
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1379
2015-03-17 22:40:09 +00:00
Henry
e588d61879 Solvers based on p_rgh: Added support for optional hRef
Allows the specification of a reference height, for example the height
of the free-surface in a VoF simulation, which reduces the range of p_rgh.

hRef is a uniformDimensionedScalarField specified via the constant/hRef
file, equivalent to the way in which g is specified, so that it can be
looked-up from the database.  For example see the constant/hRef file in
the DTCHull LTSInterFoam and interDyMFoam cases.
2015-03-17 17:15:11 +00:00
Henry
67e8bd8bf9 shallowWaterFoam: Read hU rather than U to support complex e.g. time-varying BCs
Disadvantage is that the BC values have to be specified in terms of hU
rather than U.  The alternative would be to add complex code to map h
and U BCs into the equivalent for hU.
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1566
2015-03-13 22:14:08 +00:00
Henry
d0122cfea3 Revert "Revert "Revert "DPMFoam: Multiply the gravitational force by the gas phase fraction"""
This reverts commit 41b9348271.
2015-03-13 14:39:01 +00:00