OpenFOAM® v1612+: New solver and physical models
New Eddy Dissipation Model (EDM) combustion model
A new turbulent diffusion combustion model named eddyDissipationDiffusionModel based on the principle of mixed is burnt has been implemented. The time scale is determined by the minimum of the turbulence and diffusion time scales.
The reaction rate is given by
Where , , and designate the mass density, fuel and oxygen mass fraction, and the stoichiometric oxygentofuel mass ratio. The turbulence mixing time scale is taken from the turbulence model, in the case of the  model:
where is the turbulence kinetic energy and the eddy dissipation rate. In the laminar region, fuelair mixing is controlled by molecular diffusion:
where .
The EDM combustion model is derived from the singleStepReaction model, hence the mixture for the thermoType will be singleStepReactingMixture. The stoichiometric equation together with the list of species is prescribed in the $FOAM_CASE/constant/reactions file.
The following image shows the new model being applied to the compartmentFire tutorial case:
Model settings, e.g. for the model constants Cd and CEDC are entered in the file $FOAM_CASE/constant/combustionProperties
active on;
eddyDissipationDiffusionModelCoeffs
{
semiImplicit false;
CEDC 4;
Cd 4;
}
 Source code

$FOAM_SRC/combustionModels/eddyDissipationDiffusionModel
$FOAM_SRC/combustionModels/eddyDissipationModelBase  Examples
 $FOAM_TUTORIALS/combustion/fireFoam/LES/compartmentFire
Updated heat exchanger model
The definition of the upstream temperature of the effectivenessHeatExchangerSource heater exchanger fvOption has been updated. In previous versions, the temperature was specified as a userinput. By default the temperature is now evaluated as the area average of the exchanger upstream faces. To recover the earlier behaviour, the optional primaryInletT entry should be applied:
New Lagrangian injection models
The following example shows the results of a Lagrangian case whose particles are seeded using the output from the new extractEulerianParticles function object, where each Lagrangian particle is equivalent to a single Eulerian fluid element.
 Source code
 $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectedParticleInjection $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectedParticleDistributionInjection
 Examples
 $FOAM_TUTORIALS/multiphase/interFoam/laminar/vofToLagrangian/lagrangianParticleInjection $FOAM_TUTORIALS/multiphase/interFoam/laminar/vofToLagrangian/lagrangianDistributionInjection
New scalar transport functionality
The scalar transport function object has received multiple updates to enable:
 frozen flow and turbulence
 phaseconstrained transport for multiphase flow
In addition, a new example shows how it can be applied to calculate the residence time for transient calculations.
 Source code
 $FOAM_SRC/functionObjects/solvers/scalarTransport
 Residence time example

$FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/TJunction
$FOAM_TUTORIALS/multiphase/interFoam/RAS/angledDuct  Phase constrained transport
 $FOAM_TUTORIALS/multiphase/interFoam/RAS/waterChannel