Commit Graph

37 Commits

Author SHA1 Message Date
915c0785ae ENH: avoid phaseSystem cyclic dependencies, reduce number of libraries
Reduce the number of phaseSystems libraries:

- phaseSystems previously had a number of smaller libraries to provide
  interface and model properties, etc. This potential flexibility was
  never actually used anywhere, but causes cyclic dependencies between
  phaseSystem and the models (and turbulence) that causes extreme
  difficulty for mingw linking (issue #1238).

- libincompressibleMultiphaseSystems
  - removed: libmassTransferModels

- libmultiphaseSystem
  - removed: libcompressibleMultiphaseEulerianInterfacialModels

- libreactingMultiphaseSystem
  - removed: libreactingPhaseSystem
  - removed: libreactingEulerianFvPatchFields
  - removed: libreactingEulerianInterfacialCompositionModels
  - removed: libreactingEulerianInterfacialModels
  - removed: libmultiphaseReactingTurbulenceModels

- libreactingTwoPhaseSystem
  - removed: libreactingPhaseSystem
  - removed: libreactingEulerianFvPatchFields
  - removed: libreactingEulerianInterfacialCompositionModels
  - removed: libreactingEulerianInterfacialModels

Avoid duplicate symbol for phaseCompressibleTurbulenceModels

  Common turbulence models are defined in libreactingMultiphaseSystem,
  and libmultiphaseReactingTurbulenceModels is now redundant.

  The libtwoPhaseReactingTurbulenceModels extends the common models
  for reactingTwoPhaseSystem.
2020-08-05 18:56:23 +01:00
03526e2097 ENH: centralize more libraries in src/phaseSystemModels
- prelude to code refactoring

NOTE
    no source code change in this commit, only relocation,
    renaming and adjustment of Make/{files,options}
2020-08-05 18:56:22 +01:00
f5dc3eb8a7 reactingTwoPhaseEulerFoam: Moved into reactingEulerFoam
and two-phase functionality separated from multiphase functionality
2015-08-26 12:49:26 +01:00
86cc19bd8b reactingTwoPhaseEulerFoam: Added support for thermal diffusivity and thermal wall-functions 2015-08-22 18:09:44 +01:00
dbfb7cf250 SchaefferFrictionalStress: Updated with alphaMinFriction
Resolved bug-report http://openfoam.org/mantisbt/view.php?id=1831
2015-08-19 16:30:51 +01:00
24c7a739ff reactingTwoPhaseEulerFoam: Improved support for boiling/condensation
Includes many contributions from Juho Peltola
2015-08-19 13:45:49 +01:00
584fed888d 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
365f9b0006 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
91e04d69c1 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +01:00
d47a42458f reactingTwoPhaseEulerFoam: Added support for thermally-driven phase-change (boiling)
The interfacial temperature is assumed equal to the saturation
temperature.  Only a single species is considered volatile and the other
species to not affect the mass-transfer.
2015-07-16 14:12:03 +01:00
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
0ce5742d6a saturationModels: Added a model for constant pSat and Tsat 2015-07-04 14:48:19 +01:00
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
7c6e1386f1 reactingTwoPhaseEulerFoam: Completed mass-transfer terms in both forms of momentum equations 2015-07-03 23:18:25 +01:00
9c9ac368fe reactingTwoPhaseEulerFoam: Replace x*pos(x) with posPart(x) and same for neg 2015-07-03 18:04:34 +01:00
2ee2a52fff reactingTwoPhaseEulerFoam: Updated wmake files 2015-07-03 17:44:34 +01:00
243accc6f6 reactingTwoPhaseEulerFoam: Renamed saturationPressureModel -> saturationModel
In preparation for adding the Tsat function
2015-07-03 16:15:09 +01:00
08682ca3eb Removed temporary Info statement 2015-07-03 15:47:25 +01:00
a92691b0dd reactingTwoPhaseEulerFoam: Added mass-exchange contribution to the cell-based momentum equations 2015-07-03 15:46:52 +01:00
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
68ea75a37c reactingTwoPhaseEulerFoam: Corrected handling of heat-transfer caused by mass-transfer 2015-07-02 22:51:06 +01:00
be16ebf24f reactingTwoPhaseEulerFoam/pU/pEqn: Added missing dmdt terms 2015-07-02 22:50:44 +01:00
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
aa42c1f906 kOmegaSSTSato: Relocated to src/TurbulenceModels/phaseCompressible/RAS 2015-06-30 13:04:27 +01:00
fd9d07413a LTS: Simplify the selection of LTS operation 2015-06-29 11:53:20 +01:00
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
edcc472535 reactingTwoPhaseEulerFoam: Removed superfluous trSubDeltaT field 2015-06-26 22:05:39 +01:00
587c93574a LTS, MULES and sub-cycling: Improved the handling of the rSubDeltaT field 2015-06-26 21:58:27 +01:00
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
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
4d6823c3eb reactingTwoPhaseEulerFoam: Minor reorganization 2015-06-25 22:43:22 +01:00
5d3d40392f reactingTwoPhaseEulerFoam: Add fvOption handling to the continuity error
correction in MovingPhaseModel<BasePhaseModel>::correct()
2015-06-25 22:29:08 +01:00
e9ecd7ddef twoPhaseEulerFoam, reactingTwoPhaseEulerFoam: Removed duplicate files 2015-06-25 20:27:09 +01:00
0f8d7e677d reactingTwoPhaseEulerFoam: Construct MRF and fvOptions in phaseSystem 2015-06-25 19:22:47 +01:00
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
9f6c161e49 reactingTwoPhaseEulerFoam: Generalize the handling of the dilatation rate
to support any number of phases
2015-06-25 16:10:07 +01:00
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