Most tabulation and reduction specific code in TDACChemistryModel has been moved
into the appropriate tabulation and reduction classes and the "none" methods of
each simplified so that they can be instantiated without any user input. This
allows the "none" tabulation and reduction methods to be selected automatically
when the "tabulation" or "reduction" entries are not present in the
chemistryProperties dictionary so that the TDACChemistryModel can be run in the
same manner as the standardChemistryModel when tabulation and reduction are not
required.
This is the first step towards merging TDACChemistryModel with standardChemistryModel.
arguments to the original sourced file. Causes an infinite loop if original source command
is called within a function, e.g.
sourceFile() {
.
}
sourceFile etc/bashrc
The draught rate determines the percentage of affected people by an airflow
caused due to room ventilation or buoyancy effects (cold windows). The draught
rate calculation is valid for room temperatures between 20 and 26 degrees
Celsius and airspeed less than 0.5 m/s. This quantity is used widely for
quantifying offices, auditoriums, or similar rooms in which persons are working.
Patch contributed by Tobias Holzmann
Both AMIMethod and mapNearestMethod are run-time selectable using the standard
OpenFOAM constructor tables, they do not need a separate enumeration-based
selection method which requires duplicate constructors and a lot of other
clutter.
The rotatedBoxToCell topoSet source can now be specified by providing
the geometry of a non-rotated box and how it should be rotated. For
example, in system/topoSetDict:
actions
(
{
name c1;
type cellSet;
action new;
source rotatedBoxToCell;
box (0.4 0.4 -100) (0.6 0.6 100);
centre (0.4 0.4 0);
n1 (1 0 0);
n2 (1 1 0);
}
);
This selects cells in a box rotated from (1 0 0) to (1 1 0) (i.e., 45
degrees around the z-axis), with width and depth of 0.2, height of 200,
and with a bottom left corner at (0.4 0.4 -100).
The origin, i, j, k, specification is still available, and will be used
if the keyword "box" is not present. The equivalent input to the above
in this form is as follows:
actions
(
{
name c1;
type cellSet;
action new;
source rotatedBoxToCell;
origin (0.4 0.4 -100);
i (0.141421 0.141421 0);
j (-0.141421 0.141421 0);
k (0 0 200);
}
);
The mesh in the upstream region of this case has been refined back to
its original density. This restores the wave propagation behaviour
through this region.
Stokes-type waves (i.e., Airy, Stokes2 and Stokes5) now support
specification in terms of wave period, as well as length. The following
specifications are therefore equivalent:
Stokes2
{
length 300; // <-- Wave length specified
amplitude 2.5;
phase 0;
angle 0;
depth 50;
}
Stokes2
{
period 15.643; // <-- Wave period specified
amplitude 2.5;
phase 0;
angle 0;
depth 50;
}
Note that the period is that of the wave in a reference frame with zero
mean flow. Specifying a doppler shifted period is not yet supported.
Exactly one of period or length must be specified. If both, or neither,
are provided then an error will be generated.
Corrections have also been made to the calculation of the celerity of
Stokes2 and Stokes5 waves.
It is now possible to use waveVelocity and waveAlpha boundary conditions
in cases in which the waves generate localised flow reversals along the
boundary. This means waves can be speficied at arbitrary directions and
with zero mean flow. Previously and integral approach, similar to
flowRateOutlet, was used, which was only correct when the direction of
wave propagation was aligned with the boundary normal.
This improvement has been achieved by reformulating the waveVelocity and
waveAlpha boundary conditions in terms of a new fixedValueInletOutlet
boundary condition type. This condition enforces a fixed value in all
cases except that of advection terms in the presence of outflow. In this
configuration a gradient condition is applied that will relax towards
the desired fixed value.
The wavePressure boundary condition has been removed, as it is no longer
necessary or advisable to locally switch between velocity and pressure
formulations along a wave boundary. Wave boundaries should now have the
general fixedFluxPressure or fixedFluxExtrapolatedPressure conditions
applied to the pressure field.
Two new tutorial cases have been created to demonstrate the new
functionality. The multiphase/interFoam/laminar/wave3D case demonstrates
wave generation with zero mean flow and at arbitrary angles to the
boundaries, and incompressible/pimpleFoam/RAS/waveSubSurface
demonstrates usage for sub-surface problems.
This fixes a crash that occured when the field that the fvModel applies
to does not exist at the point of the fvModel's construction. This is
the case for function objects that solve equations, e.g., the
scalarTransport or age functions, as the relevant fields are constructed
on demand at the point of the functions' execution. Sources and
constraints now work correctly for these sorts of equations.
Changed the laminar methane combustion cases to use the Wilke mixing rule for
the transport properties obtained from the Sutherland model but with coefficient
mixing for thermodynamic properties for efficient evaluation of reaction
equilibria.
This provides significantly more accurate results for laminar combustion,
producing a thinner flame and a 10K reduction in peak temperature.