Commit Graph

648 Commits

Author SHA1 Message Date
Henry Weller
0fb6a01280 fluxRequired: Added setFluxRequired function to fvSchemes class
Added calls to setFluxRequired for p, p_rgh etc. in all solvers which
avoids the need to add fluxRequired entries in fvSchemes dictionaries.
2015-07-15 21:57:16 +01:00
Henry Weller
0ce5742d6a saturationModels: Added a model for constant pSat and Tsat 2015-07-04 14:48:19 +01:00
Henry Weller
a752d3e588 saturationModels: Added Tsat function
Currently this is implemented only for the Antoine equation, for the
other more complex models an iterative inversion from pressure to
temperature is required.
2015-07-04 14:46:55 +01:00
Henry Weller
7c6e1386f1 reactingTwoPhaseEulerFoam: Completed mass-transfer terms in both forms of momentum equations 2015-07-03 23:18:25 +01:00
Henry Weller
9c9ac368fe reactingTwoPhaseEulerFoam: Replace x*pos(x) with posPart(x) and same for neg 2015-07-03 18:04:34 +01:00
Henry Weller
2ee2a52fff reactingTwoPhaseEulerFoam: Updated wmake files 2015-07-03 17:44:34 +01:00
Henry Weller
243accc6f6 reactingTwoPhaseEulerFoam: Renamed saturationPressureModel -> saturationModel
In preparation for adding the Tsat function
2015-07-03 16:15:09 +01:00
Henry Weller
08682ca3eb Removed temporary Info statement 2015-07-03 15:47:25 +01:00
Henry Weller
a92691b0dd reactingTwoPhaseEulerFoam: Added mass-exchange contribution to the cell-based momentum equations 2015-07-03 15:46:52 +01:00
Henry Weller
b0d107499b reactingTwoPhaseEulerFoam: Changed the handling of the energy transfer
for consistency with the evaluation of the interface temperature.
2015-07-03 15:45:56 +01:00
Henry Weller
68ea75a37c reactingTwoPhaseEulerFoam: Corrected handling of heat-transfer caused by mass-transfer 2015-07-02 22:51:06 +01:00
Henry Weller
be16ebf24f reactingTwoPhaseEulerFoam/pU/pEqn: Added missing dmdt terms 2015-07-02 22:50:44 +01:00
Henry Weller
d0f15d4e3c EEqn: Added rho*(U&g) source term
Generally this term has a VERY small effect on temperature, it is only
important for low-speed buoyancy-dominated flows.

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1755

See also http://cfd.direct/openfoam/energy-equation/
2015-07-01 10:53:37 +01:00
Henry Weller
aa42c1f906 kOmegaSSTSato: Relocated to src/TurbulenceModels/phaseCompressible/RAS 2015-06-30 13:04:27 +01:00
Henry Weller
fd9d07413a LTS: Simplify the selection of LTS operation 2015-06-29 11:53:20 +01:00
Henry Weller
f92d657ab7 LTS: Formalize the naming of the rDeltaT and rSubDeltaT fields
Now the specification of the LTS time scheme is simply:

ddtSchemes
{
    default         localEuler;
}
2015-06-28 21:41:40 +01:00
Henry Weller
edcc472535 reactingTwoPhaseEulerFoam: Removed superfluous trSubDeltaT field 2015-06-26 22:05:39 +01:00
Henry Weller
587c93574a LTS, MULES and sub-cycling: Improved the handling of the rSubDeltaT field 2015-06-26 21:58:27 +01:00
Henry Weller
d14e8ed169 interFoam: Change construction order 2015-06-26 18:54:37 +01:00
Henry Weller
1d16db3fa0 reactingTwoPhaseEulerFoam: Added experimental run-time selectable LTS support
Select LTS via the ddtScheme:

    ddtSchemes
    {
        default         localEuler rDeltaT;
    }

The LTS algorithm is currently 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.

    ddtSchemes
    {
        default         localEuler rDeltaT;
    }
2015-06-26 18:52:23 +01:00
Henry Weller
e00ae44ad0 interFoam family: Added run-time selectable LTS support
LTS is selected by the ddt scheme e.g. in the
tutorials/multiphase/interFoam/ras/DTCHull case:

ddtSchemes
{
    default         localEuler rDeltaT;
}

LTSInterFoam is no longer needed now that interFoam includes LTS
support.
2015-06-26 18:32:20 +01:00
Henry Weller
bf95b5c286 reactingTwoPhaseEulerFoam: Change the implicit handling of phase-pressure and dispersion
to support any number of phases
2015-06-26 15:15:10 +01:00
Henry Weller
4d6823c3eb reactingTwoPhaseEulerFoam: Minor reorganization 2015-06-25 22:43:22 +01:00
Henry Weller
5d3d40392f reactingTwoPhaseEulerFoam: Add fvOption handling to the continuity error
correction in MovingPhaseModel<BasePhaseModel>::correct()
2015-06-25 22:29:08 +01:00
Henry Weller
e9ecd7ddef twoPhaseEulerFoam, reactingTwoPhaseEulerFoam: Removed duplicate files 2015-06-25 20:27:09 +01:00
Henry Weller
0f8d7e677d reactingTwoPhaseEulerFoam: Construct MRF and fvOptions in phaseSystem 2015-06-25 19:22:47 +01:00
Henry Weller
550ba440fd reactingTwoPhaseEulerFoam: Change the sign of the compressibility correction field
to correspond to the phase dilatation rate.
2015-06-25 16:37:53 +01:00
Henry Weller
9f6c161e49 reactingTwoPhaseEulerFoam: Generalize the handling of the dilatation rate
to support any number of phases
2015-06-25 16:10:07 +01:00
Henry Weller
69d994e794 twoPhaseEulerFoam: Change the implicit particle-pressure and turbulence dispersion
to be phase-symmetric so that the results are independent of which
phase-fraction is solved.
2015-06-25 16:08:21 +01:00
Henry Weller
8293227964 Rationalized the LTS solvers 2015-06-16 12:42:37 +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
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
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
828ca8322c twoPhaseEulerFoam: Minor improvement to the handling of p_rgh->p after the pEqn 2015-04-20 20:48:12 +01:00