Changed liquid thermo from sensibleEnthalpy to sensibleInternalEnergy in
tutorials. It is generally more convergent and stable to solve for internal
energy if the fluid is incompressible or weakly compressible.
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.
This interpolation method was previously removed by commit fbf00209.
The intention of this method is to provide a slip-like wall boundary
condition for the velocity when interpolated to the location of a
Lagrangian element. This is difficult because any velocity which points
through the wall can cause a drag model and a rebound wall interaction
to "fight"; i.e., the drag pushes the particle to the wall, the wall
bounces it back. This can result in the program hanging.
This method extrapolates a vector field to the wall points and then
modifies the result so that it does not point through the wall. It does
this by rotating the vectors towards the (reversed) point normal. The
result is also scaled so that is reduced to zero if the necessary
rotation exceeds 90 degrees.
This provides an alternate resolution to bug report
https://bugs.openfoam.org/view.php?id=2826
Within this structure the BirdCarreau, Casson, CrossPowerLaw, HerschelBulkley,
powerLaw and strainRateFunction strain-dependent viscosity based non-Newtonian
fluid models may be selected for incompressible or compressible flow.
In the case of compressible flow the strain-dependent viscosity functions are
applied to the temperature dependent viscosity so that if the WLF viscosity
model is chosen in conjunction with the CrossPowerLaw the effective model is
Cross-WLF which is commonly used for polymer flow.
These models are selected in the constant/turbulenceProperties file, e.g.
simulationType laminar;
laminar
{
laminarModel generalizedNewtonian;
viscosityModel CrossPowerLaw;
nuInf 10;
m 0.4;
n 3;
}
This new implementation is more general and flexible than the previous
incompressible only non-Newtonian viscosity models, which were selected in the
constant/transportProperties file. This implementation is now deprecated and
will be phased-out.
Description
Transport package using the Williams-Landel-Ferry model.
Templated into a given thermodynamics package (needed for thermal
conductivity).
Dynamic viscosity [kg/m.s]
\f[
\mu = \mu_0 \exp \left(\frac{-C_1 ( T - T_r )}{C_2 + T - T_r}\right)
\f]
References:
\verbatim
Williams, M. L., Landel, R. F., & Ferry, J. D. (1955).
The temperature dependence of relaxation mechanisms
in amorphous polymers and other glass-forming liquids.
Journal of the American Chemical society, 77(14), 3701-3707.
\endverbatim
This fix changes how the intersections loop ignores previously
intersected faces. It now marks them by their index so that subsequent
iterations ignore them.
Before this change, after an intersection was found the start point was
advanced by a small amount to move the past the intersection. The
problem with this was if multiple boundary faces or the end point were
in close proximity to the intersection then the move forward might span
them. This could lead to intersections being missed or counted multiple
times, in some cases indefinitely.
Based on a patch contributed by Mattijs Janssens
Resolves bug report https://bugs.openfoam.org/view.php?id=1147
This provides more flexibility in specifying the allowed internal and boundary
extrema.
For driftFluxFoam and other settling problems it is beneficial to set the
boundaryExtremaCoeff to 1 to allow rapid accumulation of the partials on the
bottom wall (which was the previous default behaviour) but this is not suitable
for many Euler-Euler cases for which a uniform etrema coefficient is preferable,
either 0 or a small value.
Now by default boundaryExtremaCoeff is set to extremaCoeff which defaults to 0
which provides the behaviour before
OpenFOAM-dev commit cb2bc60fa5
and the driftFluxFoam tutorials have been updated adding
boundaryExtremaCoeff 1;
to the MULES controls in fvSolution so reproduce the previous behaviour.
When a part of the tetrahedral decomposition is inverted, tracking along
a straight line can result in a closed loop which never ends.
This change adds a limit to the number of tracks that are done that end
before or at the maximum distance already achieved. This breaks these
closed loops and prevents the simulation from hanging. The particles do,
however, end up in an incorrect position as a result of the tracking
being abandoned at an intermediate point in the step. A warning is
printed to indicate when this is occuring.
This resolves bug report https://bugs.openfoam.org/view.php?id=3056
Description
Calculates the natural logarithm of the specified scalar field.
Performs \f$ln(max(x, a))\f$ where \f$x\f$ is the field and \f$a\f$ an
optional clip to handle 0 or negative \f$x\f$.
The etc/caseDicts/postProcessing/fields/log configuration file is provided so
that the simple #includeFunc can be used to execute this functionObject during
the run, e.g. for some dimensionless field x
functions
{
#includeFunc log(x)
}
or if x might be 0 or negative in some regions the optional clip may be applied:
functions
{
#includeFunc log(p,clip=1e-6)
}
for
db/functionObjects/timeControl/timeControl.H: timeControls
primitives/bools/Switch/Switch.H: class switchType
primitives/strings/fileName/fileName.H: fileType
primitives/strings/wordRe/wordRe.H: compOption