Commit Graph

730 Commits

Author SHA1 Message Date
dc6b7d7803 ThermalPhaseChangePhaseSystem: Fix for building with Clang 2019-01-28 11:59:01 +00:00
7e799e9fef TwoResistanceHeatTransferPhaseSystem: Changed stabilisation term
The stabilisation term for the heat transfer with the interface
temperature has been changed to mirror the local heat transfer in the
phase, rather than an effective heat transfer across both phases. This
makes the stabilisation term match the actual temperature-based transfer
terms more accurately. The difference is particularly significant when
the mass transfer rate is high, and cases of this type gain a
significant stability benefit from this change as a result.

Patch contributed by Juho Peltola, VTT.
2019-01-25 11:00:32 +00:00
653b88d411 ThermalPhaseChangeSystem: Evaluate latent heat at Tsat
Latent heat is now evaluated at Tsat instead of Tf for the thermal phase
change method. This provides a smooth transition of the interface
temperature field as the phase fraction tends to zero.

Patch contributed by Juho Peltola, VTT.
2019-01-24 18:43:35 +00:00
765ae50d32 reactingEulerFoam: phaeseForces: Standardised phase keyword
The phase which the function object relates to is now selected with the
keyword "phase", rather than "phaseName". This is consistent with other
name entries such as the "phi" entry for an inletOutlet boundary.
2019-01-24 14:30:02 +00:00
4221e43dfc combustion: Removed Qdot field from solvers
The Qdot field has been removed from all reacting solvers, in favour of
computing on the fly whenever it is needed. It can still be generated
for post-processing purposes by means of the Qdot function object. This
change reduces code duplication and storage for all modified solvers.

The Qdot function object has been applied to a number of tutorials in
order to retain the existing output.

A fix to Qdot has also been applied for multi-phase cases.
2019-01-24 14:29:17 +00:00
0dfde5ca4f reactingEulerFoam: heatTransferModel: Added constantNu model
This is a heat transfer model with a constant fixed value for the
Nusselt number. It requires a single "Nu" entry to be specified.

Patch contributed by Juho Peltola, VTT
2019-01-17 09:30:42 +00:00
512ef88e8e reactingEulerFoam: Reinstated diameterModel::correct
This had been removed by commit e1c95941, as most of the time it was
only being used to control writing of the diameter field. IATE does
require it, however, so it has been reinstated for that model.
2019-01-15 14:39:31 +00:00
953e725eb5 chtMultiRegionFoam: Added fvOption source to p_rgh equation
to support mass sources.

Resolves bug-report https://bugs.openfoam.org/view.php?id=3146
2019-01-02 14:42:04 +00:00
6dc48b62d9 Changed tmp<volField> and tmp<surfaceField> construction to use the new simpler "New" method
avoiding unnecessary database registration of temporary fields
2018-12-21 18:37:13 +00:00
146a59e46c GeometricField: Temporary fields are no longer registered on the database by default
Registration occurs when the temporary field is transferred to a non-temporary
field via a constructor or if explicitly transferred to the database via the
regIOobject "store" methods.
2018-12-20 11:00:37 +00:00
6faadcb45c Removed the unnecessary ".0" from dimensionedScalar constructors 2018-12-19 14:24:41 +00:00
ae63ebfbe6 reactingMultiphaseEulerFoam: Fixed potential double usage of rho tmp 2018-12-13 16:38:49 +00:00
3c0ce7b152 reactingMultiphaseEulerFoam: Updated EEqns for stationary phase
Resolves bug report https://bugs.openfoam.org/view.php?id=3132
2018-12-13 16:01:49 +00:00
ba76758702 MultiComponentPhaseModel: Rename Sc to Sct
This is to make it clear that this is a turbulent Schmidt number
2018-12-11 11:57:30 +00:00
c39816f032 alphatWallBoilingWallFunction: Fix for clang
Patch contributed by Juho Peltola, VTT.
2018-12-04 12:11:33 +00:00
8d8369a5e7 reactingEulerFoam: corrected file permissions 2018-12-02 20:30:39 +00:00
69b40df84b ThermalPhaseChangePhaseSystem: Consistency when solving for internal energy
The energy transfer associated with phase change has been corrected in
the case that the variable being solved for is internal energy.

Patch contributed by Juho Peltola, VTT.
2018-11-29 11:57:34 +00:00
bcf4e68901 Further rationalisation of the handling of "Final" solver settings
The selection of the "Final" solver settings is now handled automatically within
the "<equation>.solve()" call and there is no longer any need no provide a bool
argument for specific cases.  This simplifies the solution algorithm loop
structures and ensures consistency in behaviour across all solvers.

All tutorials have been updated to correspond to the now consistent rules.
2018-11-20 11:28:02 +00:00
ee443e201f Rationalised the handling of "Final" solver and relaxation factor settings
Now for transient simulations "Final" solver settings are required for ALL
equations providing consistency between the solution of velocity, energy,
composition and radiation properties.

However "Final" relaxation factors are no longer required for fields or
equations and if not present the standard value for the variable will be
applied.  Given that relaxation factors other than 1 are rarely required for
transient runs and hence the same for all iterations including the final one
this approach provide simpler input while still providing the flexibility to
specify a different value for the final iteration if required.  For steady cases
it is usual to execute just 1 outer iteration per time-step for which the
standard relaxation factors are appropriate, and if more than one iteration is
executed it is common to use the same factors for both.  In the unlikely event
of requiring different relaxation factors for the final iteration this is still
possible to specify via the now optional "Final" specification.
2018-11-17 19:42:23 +00:00
3980cc887c interfacialCompositionModels/Henry: Updated documentation
Corrected spelling and made it clear that the supplied constants are
dimensionless solubilities.
2018-11-13 16:15:28 +00:00
7b3cc689a6 chtMultiRegionFoam: Only do closed volume handling when running steady
This resolves bug report https://bugs.openfoam.org/view.php?id=3105
2018-11-13 09:24:30 +00:00
b80f0d3cdd chemFoam: Added support for constant temperature
By setting

    constantProperty temperature;

in constant/initialConditions the composition evolves at constant temperature.
2018-11-12 17:44:38 +00:00
1c35e8a2f5 reactingEulerFoam: Added update interval for population balance source terms.
This can be used to speedup simulations that converge to a steady state
by only updating the source terms once every few iterations. The number
of iterations between each update is set in fvSolution as follows:

    solvers
    {
        bubbles
        {
            sourceUpdateInterval 10;
        }

        // etc ...
    }

By default the interval is 1, and so the sources update every time.

Based on a patch contributed by Juho Peltola, VTT.
2018-11-05 09:28:03 +00:00
b59c71a15e chtMultiRegionFoam: Removed Qdot from top-level solver
Qdot is only relevant for reacting cases, and even then it is only
written out for post-processing purposes. It has been removed from
chtMultiRegionFoam as this solvers' typical usage is for non-reacting
simulations.

If it is desired to obtain Qdot from a chtMultiRegionFoam simulation,
then a better way would be to implement a function object to look up the
reaction model and write it out.
2018-10-30 16:01:19 +00:00
b7c64995b0 IsothermalPhaseModel: Always correct thermo
Commit 674bff40 was in the right direction, but pressure dependence also
has to be corrected for, whether the phase is pure or not. The phase now
always updates the thermo whilst maintaining a constant temperature.
2018-10-30 15:35:41 +00:00
674bff4031 IsothermalPhaseModel: Correct base thermo
An isothermal phase still needs to trigger a thermo update in it's base
classes, primarily to ensure that any inert species fractions get
updated. This will not trigger an actual update of the thermodynamics,
as that is done in AnisothermalPhaseModel.
2018-10-30 14:27:39 +00:00
e1c95941e7 reactingEulerFoam: Added linearTsub diameter model
This is a model for the diameter of vapour bubbles. It calculates the
diameter as a linear function of the liquid sub-cooling.

Also removed the correct method from diameterModel, as it wasn't really
doing anything except facilitating the update of diameter fields to be
written out. Derived sub-models can control this locally without
polluting the base interface.

Based on patch contributed by by Juho Peltola, VTT.
2018-10-29 14:16:41 +00:00
c9d7131eef driftFluxFoam: Added support for LRR and SSG Reynolds stress models 2018-10-29 12:05:54 +00:00
80cc9603a1 thermophysicalModels::eRefConstThermo: New thermodynamics to be used with internal energy
in preference hRefConstThermo.
2018-10-26 18:19:44 +01:00
43da4fefb2 TwoResistanceHeatTransferPhaseSystem: Moved interface update to before the energy solution
This has some stability benefits for both wall boiling and evaporation
cases.

Patch contributed by Juho Peltola, VTT.
2018-10-26 08:56:49 +01:00
214ae651ec reactingEulerFoam: Formatted references according the style guide
Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2018-10-19 11:06:25 +01:00
0546089b7d solidEquilibriumDisplacementFoam: Updated zeroing of Dcorr field 2018-10-17 16:01:08 +01:00
a8fc88b8ee DimensionedField, GeometricField: Added assignment to zero
Zeroing a dimensioned field can now be achieved by assignment to the
zero type. This prevents the clutter associated with constructing an
appropriate dimensioned type, or having to use multiply-equals-zero as a
workaround.
2018-10-17 13:41:16 +01:00
6b740a6776 reactingEulerFoam: Fixed functionObject phaseForces
The phaseForces function object now only calulates and writes out forces
when the corresponding model exists.

Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2018-10-17 12:16:21 +01:00
739b9e32fb reactingEulerFoam: Minor improvements to populationBalanceModel
Changed to using of UPtrList<Type> instead of List<*Type> for storing
reference to size and velocity groups, as this removes de-referencing
clutter. Fixed lookup of critical film thickness in PrinceBlanch
coalescence model. Added functionality calculating the overall diameter,
void fraction and void fraction weighted velocity for multiple velocity
groups.

Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2018-10-17 12:08:10 +01:00
6388a1d5d0 driftFluxFoam::BinghamPlastic: added limiter to avoid floating point exception for high phase fraction
Patch contributed by Juho Peltola, VTT.
2018-09-27 15:38:08 +01:00
f68b9cd80f InterfaceCompositionModel: Constant thermo instantiations 2018-09-25 09:33:48 +01:00
2d3e7e9981 reactingEulerFoam/phaseModels: Added multi-component isothermal phase 2018-09-24 11:24:25 +01:00
eaa089e38c InterfaceCompositionPhaseChangePhaseSystem: Two sided mass transfer fix
This change fixes an issue where mass transfer models were being looked
up on the wrong side of the interface. This also means that specifying
mass transfer just on one side of an interface is now possible without
generating errors.
2018-09-24 11:21:27 +01:00
1c0256ffab InterfaceCompositionPhaseChangePhaseSystem: Typo in error message 2018-09-24 09:54:34 +01:00
a098cdb710 hydrostaticDisplacementFvPatchVectorField: New experimental traction boundary condition for solidDisplacementFoam
Description
    Fixed traction boundary condition for the standard linear elastic, fixed
    coefficient displacement equation in which the traction is caused by
    the hydrostatic pressure of an external liquid reservoir.
2018-09-21 22:12:21 +01:00
82d8784901 solidDisplacementFoam: Added support for fvOptions in both D and T equations 2018-09-21 14:52:46 +01:00
53ee32d5c2 pimpleFoam: Corrected application name 2018-09-05 18:05:34 +01:00
98ec0df866 reactingParcelFoam: Removed the unnecessary and inconsistent writing of the density field
Resolves feature request https://bugs.openfoam.org/view.php?id=3054
2018-08-27 20:47:00 +01:00
c3c09229be PDRFoam: Added betav to ddtCorr
Resolves bug-report https://bugs.openfoam.org/view.php?id=3014
2018-08-13 14:47:30 +01:00
f7100178e4 thermophysicalModels: Added laminar thermal diffusivity for energy, alphahe
Needed for laminar transport of he (h or e)

Resolves bug-report https://bugs.openfoam.org/view.php?id=3025
2018-08-05 11:29:28 +01:00
8662f99ac1 Corrected typos in comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=3017
2018-07-31 17:11:21 +01:00
ab31777e9c radiation: Removed the redundant "radiation off" switch from radiationProperties
To switch-off radiation set

    radiationModel  none;

in radiationProperties which instantiates "null" model that does not read any
data or coefficients or evaluate any fields.
2018-07-25 08:10:30 +01:00
20653ee01e semiPermeableBaffle: Added mole-fraction and partial-pressure input options
The semiPermeableBaffleMassFraction boundary condition can now calculate
the mass flux as proportional to the difference in mole fraction or
partial pressure. A mass fraction difference driven transfer is also
still possible. An additional keyword, "input" has been added which is
used to select the variable used to calculate the transfer. An example
specification is as follows:

    baffle
    {
        type            semiPermeableBaffleMassFraction;
        samplePatch     membranePipe;
        c               0.1;
        input           massFraction;
        value           uniform 0;
    }

In order to facilitate this, a "W" method to get the molar mass on a
patch has been added to the thermodynamics. To avoid name-clashes,
methods that generate per-species molar masses have been renamed "Wi".

This work was supported by Georg Skillas, at Evonik
2018-07-11 10:08:44 +01:00
29fc94d3e2 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev into mergeDyM 2018-07-10 20:10:01 +01:00