Quantcast
Channel: Release Announcements – OpenFOAM
Viewing all 14 articles
Browse latest View live

OpenFOAM 2.3.0: Physical Modelling

$
0
0

Particle Tracking

In previous versions of OpenFOAM, patch injection models would inject new parcels at locations between the centres of the boundary face and near-wall cells, leading to a parcel distribution with an ordered structure which would persist for some time unless dispersion was applied. In v2.3.0, particles injected at patches are randomly distributed across the patch faces, reducing ordering in the particle distribution considerably. The example below shows mesh geometry on the left, the centre image shows particle injection behaviour from v2.2.2, and the right shows the equivalent behaviour in v2.3.0. Ordering in the particle distribution, evidently based on the mesh structure in the centre images, is clearly removed in the images on the right.

injectionModelsVertical
injectionModelsHorizontal

The cloud function object input specification has been overhauled in v2.3.0 to allow multiple objects of the same type, and to be consistent with the main function object specification in the controlDict file. Examples of cloud function objects can be found in the examples listed at the end of this section.

A new suppressionCollision collision model for the reacting multi-phase parcel has been added. This model can be used to deactivate the particle devolitisation and combustion models based on the outcome of an inter-particle collision event.

User-input has been simplified by requiring the user to specify only the constant properties used by the models that the user activates in the simulation. For example the verticalChannel example for the reactingParcelFoam tutorial now only uses the following constantProperties entries in the reactingCloud1Properties dictionary

constantProperties
{
    rho0            1000;
    T0              350;
    Cp0             4100;

    constantVolume  false;
}

Source code

  • lagrangianIntermediate library
    $FOAM_SRC/lagrangian/intermediate

Examples

  • cyclone
    $FOAM_TUTORIALS/MPPICFoam/cyclone
  • injection channel
    $FOAM_TUTORIALS/MPPICFoam/injectionChannel
  • particleCollector function object
    $FOAM_TUTORIALS/lagrangian/reactingParcelFilmFoam/splashPanel
  • facePostProcessing and patchPostProcessing function objects
    $FOAM_TUTORIALS/lagrangian/reactingParcelFoam/filter
  • particleTracks function object
    $FOAM_TUTORIALS/lagrangian/simpleReactingParcelFoam/verticalChannel

Surface Film Modelling

Surface film modelling was first introduced in OpenFOAM v2.0.0 to predict the complex behaviour of thin films. In v2.3.0, the following new models are available.

  • Thermodynamics models for density, surface tension, thermal conductivity, and specific heat capacity, where options include: constant, constant values; liquid, calculated using a liquid whose thermophysical modelling is specified.
  • Film turbulence models: laminar, reproducing the earlier surface shear models (now deprecated).
  • Viscosity models, including: constant, constant value; liquid, calculated using a liquid whose thermophysical modelling is specified; thixotropic, based on the evolution of a structural parameter, which is modelled by a transport equation.
  • Phase change, including: solidification where the film solidifies at a prescribed temperature by transferring its mass to a separate accumulated mass field for post-processing.

In addition, a new indicator field, alpha can be used to identify where the film is present.

Source code

  • libsurfaceFileModels library
    $FOAM_SRC/regionModels/surfaceFilmModels
  • hot boxes
    $FOAM_TUTORIALS/lagrangian/reactingParcelFilmFoam/hotBoxes

Co-ordinate System Specification

The behaviour of flow and heat transfer in porous media is usually approximated by applying models, e.g. source terms in equations, to a region of the mesh occupied by the porous media, instead of generating a mesh which resolves the detailed geometry of the porous media. The model properties are typically anisotropic, due to structural alignment, e.g. of the pores. Physical properties are inevitably specified in a co-ordinate system of the porous media. The local co-ordinate system of such a region is generally different from the global, Cartesian co-ordinate system of the underlying geometry and equations. We must therefore transform the properties from local co-ordinates to the global co-ordinate system in which the models, e.g. source terms, are specified.

The local region, e.g. of the porous media, is specified in OpenFOAM using a cellZone. Previous versions of OpenFOAM supported only fixed, Cartesian co-ordinates for the cellZone, such that a single transformation was applied to the model properties for all cells within it. In the latest version, the user can ascribe a local cylindrical co-ordinate system to the cellZone, suitable when the directional bias of the properties follows the radial or circumferential directions.

The following examples show the file syntax for specifying properties in local Cartesian and cylindrical co-ordinate systems, respectively. In the first example, the local Cartesian coordinateSystem is specified by a coordinateRotation of type axesRotation. The viscous momentum sink coefficients of (5e7 -1000 -1000) are specified in local Cartesian coordinate axes specified by e1 and e2, with the third axis calculated as e1 ^ e2.

explicitPorositySourceCoeffs
{
    type            DarcyForchheimer;
    cellZone        porosity;

    DarcyForchheimerCoeffs
    {
        d   d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
        f   f [0 -1 0 0 0 0 0] (0 0 0);

        coordinateSystem
        {
            type    cartesian;  // global co-ordinate system (redundant)
            origin  (0 0 0);    // redundant in this case
            coordinateRotation
            {
                type    axesRotation; // local Cartesian co-ordinates
                e1      (0.70710678 0.70710678 0);
                e2      (0 0 1);
            }
        }
    }
} 

In the second example, the local cylindrical coordinateSystem is specified by a coordinateRotation of type localAxesRotation. In this case, the user specifies: e3, the axis of rotation (z) of the local cylindrical coordinate system; and, the origin, from which the radial direction (r) is constructed by the vector from the origin to local cell centre. In this case, the viscous momentum sink (0 1e5 0) denotes a value of 1e5 in the circumferential direction (θ) and zero in the radial and axial directions.

explicitPorositySourceCoeffs
{
    type            DarcyForchheimer;
    cellZone        porosity;

    DarcyForchheimerCoeffs
    {
        d   d [0 -2 0 0 0 0 0] (0 1e5 0);
        f   f [0 -1 0 0 0 0 0] (0 0 0);

        coordinateSystem
        {
            type    cartesian;
            origin  (0 0 0);
            coordinateRotation
            {
                type    localAxesRotation;
                e3      (0 0 1);
            }
        }
    }
} 

Turbulence Modelling

Wall functions typically apply constraints to the near wall cells. For corner cells sharing more than one wall patch face, the value was previously assigned on the basis of the last wall to apply the condition wins. In v2.3.0 the corner values are now calculated using an average value, with contributions from all participating wall patches.

Combustion/Pyrolysis

Soot formation and destruction is a complex chemical process involving many reaction steps, which has proved to be a difficult process to predict accurately. For industrial purposes simplified models have been used. This version includes the mixture fraction soot model which provides a simple one-step state model for soot prediction. The amount of soot produced is determined by a single step chemical reaction of fuel and oxidant, where the user specifies the soot yield.

Currently, the soot concentration is not considered into the thermodynamics of the system and it is not being independently transported by the flow but, instead, its spatial distribution is mapped on one of the products of the one-step combustion. The soot volume fraction is not taken into account as absorption mechanism for the radiation.

A new filmPyrolysisRadiativeCoupledMixed boundary condition has been implemented to provide thermal coupling between a solid region using a pyrolysis model and a fluid region using a film model. This BC takes into account the thickness of the liquid film on the solid wall in order to exchange heat either with the film or with the main fluid region. A radiative heat flux is included on the heat balance at the wall.

Source code

  • filmPyrolysisRadiativeCoupledMixed library
    $FOAM_SRC/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed
  • libradiationModels library, soot models
    $FOAM_SRC/thermophysicalModels/radiationModels/submodels/sootModel
  • small pool fire 2D
    $FOAM_TUTORIALS/combustion/fireFoam/les/smallPoolFire2D
  • flame spread water suppression panel
    $FOAM_TUTORIALS/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel

OpenFOAM 2.3.0: Numerical Methods

$
0
0

Polynomial Surface Normal Gradient

The surface normal gradient calculation, snGrad, is integral to pressure-velocity algorithms on unstructured meshes and the choice of method has an important impact on both accuracy and stability. 2nd-order accuracy on arbitrary unstructured meshes cannot be achieved using an snGrad calculated on a face only from its neighbouring cells (even with non-orthogonal correction). Instead, a larger stencil is required to which a higher-order polynomial may be fitted. Using the generalised stencil mechanism provided in a previous OpenFOAM this version now includes the following snGrad schemes:

  • quadraticFit, 2nd-order, using a CFC stencil;
  • linearFit, 1st-order using FEC stencil.

The quadraticFit scheme may be used on good quality meshes for runs requiring formal 2nd-order accuracy on all terms but at the cost of additional run-time and lower stability and robustness. The linearFit scheme is provided for completeness, providing similar accuracy to the standard corrected scheme, but using a more compact stencil.

Extended ddtCorr

The ddtPhiCorr calculation reduces decoupling between pressure, velocity and velocity flux in the pressure-velocity coupling algorithm for unstructured meshes. However, it is difficult to include in moving-mesh solvers due to the way in which the relative flux couples to the motion of the faces.

In version 2.3.0, ddtPhiCorr is replaced with the more general ddtCorr method which for moving-mesh solvers is based on the face velocity rather than the face flux, thus handling arbitrary motion of the face including translation and rotation, which was not handled accurately in the previous ddtPhiCorr formulation.

Source code

  • finiteVolume library
    $FOAM_SRC/finiteVolume

Ordinary Differential Equation Solvers

The semi-implicit Burlish-Stoer (SIBS) solver is recommended for stiff systems of ordinary differential equations (ODEs). It is usually reliable and efficient, but for some systems it converges poorly or fails to converge. This recently prompted a detailed investigation into ODE solver research and development to find the most promising methods for application to OpenFOAM cases, making particular use of Solving Ordinary Differential Equations Hairer et al. volume 1 and volume 2 A set of algorithms presented in those texts (and some other texts stated in the code documentation) have been implemented in OpenFOAM and tested on a range of cases. The set of ODE solvers, now provided with OpenFOAM-2.3.0, includes:

  • Euler, Euler ODE solver of order (0)1;
  • EulerSI, Semi-implicit Euler ODE solver of order (0)1;
  • Trapezoid, Trapezoidal ODE solver of order (1)2;
  • RKCK45, Cash-Karp Runge-Kutta ODE solver of order (4)5;
  • RKDP45, DormandPrince Runge-Kutta ODE solver of order (4)5;
  • RKF45, Runge-Kutta-Fehlberg ODE solver of order (4)5;
  • rodas23, L-stable, stiffly-accurate embedded Rosenbrock ODE solver of order (2)3;
  • rodas34, L-stable, stiffly-accurate embedded Rosenbrock ODE solver of order (3)4;
  • Rosenbrock12, L-stable embedded Rosenbrock ODE solver of order (1)2;
  • Rosenbrock23, L-stable embedded Rosenbrock ODE solver of order (3)4;
  • Rosenbrock34, L-stable embedded Rosenbrock ODE solver of order (3)4;
  • seulex, extrapolation-algorithm, based on the linearly implicit Euler method;
  • SIBS, semi-implicit Burlish-Stoer (deprecated).

For very stiff systems, in particular complex chemistry, the seulex method has proved to be particularly robust and efficient, followed closely by rodas23 which is more efficient when low accuracy is sufficient. For less stiff cases the Rosenbrock43 may be more efficient than either seulex or rodas23 and for non-stiff systems a range of Runge-Kutta solvers are available.

Source code

  • ODE library
    $FOAM_SRC/ODE

Symmetry Plane handling

In this version, the behaviour of the symmetryPlane boundary condition has changed, in which it now explicitly requires the underlying patch to be a single, flat plane. The change has been made to avoid accumulation of truncation errors and to guarantee parallel consistency in any dealing with point fields, e.g. mesh motion.

The behaviour from previous versions, in which it was not an absolute requirement that the patch is flat, is now available in a new symmetry condition. However, for any case dealing with point fields, it is advised to upgrade to use the symmetryPlane boundary condition.

OpenFOAM 2.3.0: Parallel Running

$
0
0

Mesh Decomposition and Reconstruction

The following improvements have been made to mesh decomposition and reconstruction utilities:

  • reconstructPar, reconstructParMesh and decomposePar now decompose, reconstruct all cell sets, face sets and point sets; this behaviour can be disabled by executing with the -noSets command line option.
  • The decomposeParDict file contains some optional decomposition constraints as shown below. All utilities using the decomposition framework, e.g. decomposePar, snappyHexMesh and redistributePar, now apply these constraints.
  • redistributePar now properly reconstructs and redistributes all fields, including those with complex boundary conditions.
preserveFaceZones       (heater solid1 solid3);
preservePatches         (cyclic_half0 cyclic_half1);
singleProcessorFaceSets ((f0 -1));
preserveBaffles         true;

GAMG Processor Agglomeration

The GAMG solver uses an iterative, sparse linear solver at its coarsest level. At that level, there will be a small number of cells per processor, e.g. 10, but usually far more inter-processor faces. This matrix structure becomes hard to solve, requiring a large number of iterations on the coarsest level. Each iteration requires local and global parallel communication, reducing scaling on larger numbers of processors.

In this release, to improve performance, the GAMG solver can agglomerate the matrix onto fewer processors at the coarser levels. In the limit of agglomerating the matrix onto a single processor, there are no processor interfaces and parallel communication is not required. This agglomeration across processors is controlled by an optional processorAgglomerator keyword in the solver sub-dictionary in fvSolution:

p
{
    solver                GAMG;
    ...
    smoother              GaussSeidel;
    nCellsInCoarsestLevel 10;
    agglomerator          faceAreaPair;
    processorAgglomerator masterCoarsest; // coarsest level on processor 0
    ...                                   // (master)
}

By default, there is no processor agglomeration. Below are options for processor agglomeration:

  • none: no agglomeration, but prints statistics.
  • masterCoarsest: combines the coarsest level onto the master processor; this method can be effective for a low number of processors to avoid the global reductions in the coarse-level solver; its operation is similar to the directSolveCoarsest option except it uses an iterative solver instead of a direct solver.
  • manual: user control of agglomeration at each level.
    processorAgglomerator manual;
    processorAgglomeration
    (
        (
            3 // at level 3
            (
                (0 1) // create coarse 0 from 0,1 (and moved onto 0)
                (3 2) // create coarse 1 from 2,3 (and moved onto 3)
            )
        )
        (
            6 // at level6
            (
                (0 1) // create coarse 0 from 0,1 (and moved onto 0)
            )
        )
    );
    
  • procFaces: below cell limit, specified by the nAgglomeratingCells keyword, starts agglomerating processors according to the number of faces between the processors using the faceAreaPair agglomeration algorithm.
    processorAgglomerator procFaces;
    nAgglomeratingCells 400;
    

Statistics are printed when any agglomerator method is used. The important parameter for the coarsest level is the ratio of inter-processor faces to number of cells. Without agglomeration this can increase dramatically. An example of the statistics is shown below:

                        nCells   nFaces/nCells   nInterfaces  nIntFaces/nCells
Level  nProcs      avg     max     avg     max   avg     max       avg     max
-----  ------      ---     ---     ---     ---   ---     ---
    0       8   391627  411140   2.995   3.021     4       6   0.03627 0.04739
    1       8   193294  203396   3.766   4.006     4       6   0.06254 0.08112
    2       8    96153  101207   4.655   4.991     4       6   0.09734   0.128
    3       8    47486   50085   5.459   5.721     4       6    0.1435  0.1911
    4       8    23614   24908   6.024   6.195     4       6    0.2026  0.2699
    5       8    11642   12318    6.41   6.614     4       6    0.2819  0.3711
    6       8     5787    6120   6.645   7.176     4       6     0.381  0.4952
    7       8     2852    3023   6.741   7.569     4       6     0.515  0.6662
    8       8     1416    1501   6.808   7.818     4       6    0.7012  0.9038
    9       8      697     739   6.778   8.008     4       6    0.9588   1.255
   10       4      687     714   7.113   8.125     2       3    0.6413  0.8913
   11       2      674     702   7.203   7.739     1       1    0.5465  0.5688
   12       1      665     665   7.493   7.493     0       0         0       0
   13       1      327     327   7.416   7.416     0       0         0       0
   14       1      158     158   6.994   6.994     0       0         0       0
   15       1       75      75   5.973   5.973     0       0         0       0
   16       1       36      36   4.556   4.556     0       0         0       0

Source code

  • libOpenFOAM library
    $FOAM_SRC/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations

OpenFOAM 2.3.0: Post-processing

$
0
0

Function Objects

OpenFOAM can carry out post-processing automatically while the simulation is running using function objects. In v2.3.0, a distinction is made between when a function object evaluates, and when it writes to file. The respective behaviour is controlled using the new evaluateControl and existing outputControl keyword settings. The specification for each entry is identical, with the outputTime and timeStep options. The evaluateControl option is particularly useful for objects which generate fields, since the user may want to update the result every time step, e.g. if passing the result into a fieldAverage function object, while not writing to file each time step.

This version includes the following new function objects:

  • blendingFactor calculates and outputs the blending factor used by the blended convection schemes; the output is a volume field, i.e. values at cell centres, whose value is the maximum blending factor of adjacent cell faces;
  • setTimeStep allows the user to override the time step of solvers that support adjustable time stepping, using a profile in the form of a DataEntry type, i.e. constant, polynomial, table, csvFile.

This following function objects have been enhanced:

  • fieldAverage now supports averaging of surface fields, e.g. the flux;
  • forces and forceCoeffs include porosity contribution, and updated writing of bin data to single file(s);
  • probes probes include appropriate treatment for moving mesh cases in which, by default, probes positions are fixed; for moving mesh cases, it can be useful to fix the probed cell instead by setting the optional fixedLocations entry to false.

OpenFOAM 2.3.0 Released

$
0
0

The OpenFOAM Foundation are pleased to announce the release of version 2.3.0 of the OpenFOAM open source CFD toolbox. Version 2.3.0 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Version 2.3.0 is a major new version containing significant developments, outlined below:

snappyHexMesh

Many new features have been added to snappyHexMesh, particularly to improve feature snapping, layer insertion, parallel running, refinement in small gaps Further details…

foamyHexMesh

In this release, we introduce a new, fully parallelised, meshing tool called foamyHexMesh, which is designed to generate hex-dominant meshes which align well with surface geometry and captures features accurately. Further details…

Arbitrary mesh interface (AMI)

Further developments have been made to the arbitrary mesh interface (AMI), particularly for non-conforming patches, non-planar sector geometries and coupling patches that partially overlap with one another. Further details…

Pre-processing

The mapFields utility has been re-written to enable parallel operation and to allow users to select the mapping algorithm to include new mapping options; the macro and patch group functionality has been enhanced to bring added convenience to case initialisation. Further details…

Multiphase modelling

Major developments have been made to multiphase modelling, including an implicit version of the MULES limiter which allows significant (10-50x) increases in time step, standardisation of phase properties, a new framework for multiphase turbulence modelling, creation of a generalised two-phase solver and improvements to modelling of dispersed phases. Further details…

Discrete Particle Modelling (DPM)

Significant developments have been made in discrete particle modelling (DPM), with the inclusion of an incompressible DPM solver (DPMFoam), a library of particle drag models and a wide range of collision modelling, including the multiphase particle-in-cell (MP-PIC) method, used within the MPPICFoam solver. Further details…

Mesh motion

A new dynamic mesh solver has been introduced based on explict morphing, rather than elliptic solution; the constraints and restraints for solid body motion, e.g. floating objects, has been overhauled to improve behaviour, convergence and usability Further details…

Thermal modelling

Some changes have been made to thermal modelling in OpenFOAM, particularly for thermal baffles and other thermal interfaces between fluid and solid regions, and in thermal radiation modelling. Further details…

Physical modelling

There are a number of changes and new additions to modelling of surface films, turbulence, combustion and particle tracking. Further details…

Numerical methods

There are many new additions to the numerical methods in OpenFOAM, including an overhaul of the ordinary differential equation (ODE) solvers, changes to symmetry plane handling, and new discretisation schemes. Further details…

Parallel running

Improvements have been made to mesh decomposition and reconstruction utilities, and performance of the GAMG solver has been improved by better processor agglomeration strategies when running in parallel. Further details…

Post-processing

This version includes new controls for function objects, new function objects, e.g. blending factor writing and time step control, and enhancements to existing function objects, including porosity contributions in forces. Further details…

Compilation

The wmake compilation script now searches up the directory tree to find the Make sub-directory and build the target inferred from the Make/files file; wmake can be conveniently executed anywhere in an OpenFOAM source tree and it will build the target (library or application) corresponding to the local tree.

OpenFOAM v2.3.0 was produced by the OpenFOAM Team — at that time, Henry Weller, Chris Greenshields, Mattijs Janssens,Andy Heather, Sergio Ferraris, William Bainbridge, Richard Jones, Rory Sinclair, Jenya Collings and Sophie Glover. Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 2.3.0, click here.

OpenFOAM 2.3.1 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 2.3.1 of the OpenFOAM open source CFD toolbox. The release coincides with the 10th Anniversary of the first release of OpenFOAM (version 1.0) by the project founders: Henry Weller, Chris Greenshields and Mattijs Janssens.

Version 2.3.1 consolidates the major version 2.3.0 release through a large number of bug fixes and code improvements, included in over 400 code commits and over 800 file changes. OpenFOAM v2.3.1 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Version 2.3.1 also contains small, new developments, some of which are listed below. See the version 2.3.0 release announcement for information about the new features in the 2.3 series of OpenFOAM software.

Pre-processing

A new fixedNormalInletOutletVelocity boundary condition (BC) has been added in 2.3.1; the pressureInletOutletVelocity BC now optionally includes a specified tangential component for velocity.

Meshing

snappyHexMesh includes some feature enhancements including allowing empty refinement surfaces and improved feature refinement with parallel running; a new searchableSurface has been introduced called searchableDisk, which defines a circular disk by origin, normal and radius; the Bspline functionality has been reintroduced to blockMesh.

Thermophysical modelling

Support has been added for PengRobinsonGas equation of state.

Turbulence modelling

The kOmegaSST model has been upgraded and support for multiphase operation has been included in the buoyantKEpsilon and continuousGasKEpsilon models.

Multiphase modelling

  • The twoPhaseEulerFoam multiphase solver has been rewritten to be fully conservative in mass, momentum and energy. This development required additions to fvmDdt/fvcDdt to support time derivatives of triples, e.g. ∂(αρU )∕ ∂t \relax \special {t4ht= . Conservation requires convergence of the equation system, so ‘PIMPLE’ outer correctors have been introduced to the tutorial examples.
  • The driftFluxFoam solver has now replaced settlingFoam, providing the functionality of settlingFoam and more, with the modelling written using OpenFOAM’s standard run-time selection mechanism and including multiple reference frames (MRF).
  • A dynamic mesh potentialFreeSurfaceDyMFoam solver has been introduced with accompanying oscillatingBox tutorial.

Particle methods

Improvements have been incorporated to deal with ‘stuck’ particles and a new Lagrangian turbulence library has been created for the new turbulence modelling structure.

Post-processing

A new vorticity function object has been added in this release.

Other

The run-time code compilation, e.g. using the the #codeStream directive, and systemCall function object are now activated by default in 2.3.1; they can be deactivated by setting allowSystemOperations switch off (= 0) in the global controlDict file in the etc directory of the OpenFOAM installation.

OpenFOAM v2.3.1 was produced by Henry Weller, Chris Greenshields, Mattijs Janssens, Andy Heather, William Bainbridge and Sergio Ferraris. Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 2.3.1, click here.

OpenFOAM 2.4.0 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 2.4.0 of the OpenFOAM open source CFD toolbox. The version number 2.4.0 has been chosen following a request on the issue tracking system to adopt semantic version numbering. Our numbering system is now MAJOR.MINOR.PATCH, where:

  • MAJOR: breaks backward compatibility for usage, e.g. case files require changes;
  • MINOR: changes some internal API, but backward compatible usage;
  • PATCH: bug fixes that do not change internal API.

Based on this, v2.4.0 represents a minor release with changes to some internal API, some new features described below, particularly relating to pre- and post-processing, and further bug fixes of version 2.3.1. (The next major release will then be v3.0.0 based on functionality in the current OpenFOAM-dev repository.) OpenFOAM v2.4.0 includes over 200 code commits and almost 800 file changes. It is distributed under the General Public Licence by the OpenFOAM Foundation as:

Pre-processing

Meshing

  • blockMesh now supports multiple mesh grading within a single mesh block: further details…
  • extrudeMesh includes new wedge and plane extrusions added for easy set up of axi-symmetric and 2D geometries: further details…
  • refineMesh has improved command line argument handling: further details…

Thermophysical modelling

  • Thermal baffles with multiple material layers with different thermal conductivities now correctly supported: further details…

Multiphase modelling

  • Interface capturing has been made 2nd-order accurate in time, to preserve surface waves effectively: further details…

Post-processing

OpenFOAM v2.4.0 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Chris Greenshields, Bruno Santos, Richard Jones
  • Other Contributions: Mattijs Janssens, Daniel Jasinski, Alexey Matveichev, Juho Peltola, Timm Severin

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 2.4.0, click here.

OpenFOAM 3.0.0 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 3.0.0 of the OpenFOAM open source CFD toolbox. The change in major version number from 2 to 3 is the first since 2011 and indicates a break in some backward compatibility that requires some changes to one or two case files.

OpenFOAM 3.0.0 is a snapshot of the current OpenFOAM-dev repository which was launched following the release of version 2.3.1 on December 2014 and includes over 800 code commits. As well as adding new functionality, a considerable number of developments have been made to this repository to improve code sustainability and usability. These changes include:

  • redesign of components of code, e.g. turbulence library;
  • greater consistency, e.g. moving default location of blockMeshDict to the system directory (with backward compatibility);
  • better user input, e.g. removal of fluxRequired from fvSchemes;
  • updated and corrected models, e.g. kkLOmega turbulence model.

The release benefits from improved compatibility between the C++ compilers of GCC (4.5+, tested up to v5.2), Intel ICC (15.0.3+) and Clang (3.6+, 3.7 recommended), in line with the ISO 14882:2014(E) Programming Language C++ (C++14) Standard. Over time, we expect to introduce new features in the C++14 Standard to OpenFOAM, paying attention to compatibility of older versions of C++ compilers used in long-term supported Linux operating systems for high availability computers where possible.

OpenFOAM 3.0.0 is distributed under the General Public Licence by the OpenFOAM Foundation as:

foamyHexMesh now requires version 4.3 or later of the Computational Geometry Algorithms Library (CGAL). However, Ubuntu 14.04 LTS currently only provides a package for CGAL v4.2 from the Debian maintainers and, without a newer version available in an alternative package archive, foamyHexMesh is not available in the Deb packs for Ubuntu 14.04 LTS. It is is, however, available in the pack for 15.10.

Version 3.0.0 contains the following new developments and changes:

Turbulence Modelling

  • Incorporated all turbulence models in the new templated TurbulenceModels library; turbulence models are now all selected from the turbulenceProperties file, that includes RAS and LES sub-dictionaries, deprecating the RASProperties and LESProperties files » more »
  • Added Speziale, Sarkar and Gatski (SSG) pressure-strain based Reynolds-stress turbulence model » more »
  • Added wall-adapting local eddy-viscosity (WALE) SGS turbulence model » more »
  • Improved and corrected models incorporated into the new turbulence modelling framework, e.g. corrected the kkLOmega model » more »
  • Adopted the correct velocity in turbulence modelling in single rotating reference frame (SRF) calculations » more »

Multiphase, Reacting Flows

  • Developed new reactingTwoPhaseEulerFoam solver for a system of 2 compressible fluid phases with phase models that can represent multiple species and in-phase reactions, and a phase system that can represent different types of momentun, heat and mass transfer » more »
  • Developed equivalent reactingMultiphaseEulerFoam for multiple phases » more »
  • Implemented phase modelling including boiling/condensation (» more »), turbulent dispersion (» more »), thermal wall functions (» more »), etc.
  • Added experimental face-based momentum equation formulation in twoPhaseEulerFoam » more »
  • Added specification of a reference height to solvers with p_rgh, e.g. using that uses height of the free-surface in a VoF simulation to reduce the range of p_rgh » more »
  • Corrected and improved solidification rate controls in surface film solidification » more »

Numerical Methods

  • Generalised the consistent option for the SIMPLE algorithm (SIMPLEC) and incorporated it into solvers using SIMPLE; specified with consistent keyword in SIMPLE sub-dictionary in the fvSolution file » more »
  • Configured the pitzDaily example to use SIMPLEC, demonstrating 3x speed up » more »
  • Added consistent option to PIMPLE family of solvers » more »
  • Implemented local time stepping (LTS) as a selectable option in each solver that previously had a separate, specialised LTS version; LTS controls are specified in the fvSolution file » more »
  • Improved LTS within the MULES framework for multiphase solvers including interFoam and the reactingEulerFoam solvers » more »
  • Created a set of wallDist algorithms, used e.g. in turbulence modelling, that are specified in the fvSchemes file » more »
  • Added new setFluxRequired function, included in solvers so that fluxRequired entry is no longer needed in the fvSchemes file » more »
  • Added a cellCoBlended interpolation scheme that blends schemes based on local cell Co number » more »

Sources and Constraints (fvOptions)

  • Added new fvOptions including tabulatedAccelerationSource to support 6-DoF solid-body motion » more »
  • Made several improvements to fvOptions including fixedTemperatureConstraint » more »
  • Separated MRF from fvOptions framework to ensure correct application to all velocity fields in multiphase systems » more »
  • Removed limitations and corrected errors in rotorDiskSource fvOption » more »

Meshing

  • Added multiple grading in single blocks in blockMesh » more »
  • Removed the need to order vertices in boundary faces in blockMesh » more »
  • Added a fast face merging algorithm to blockMesh » more »
  • Moved the default location of blockMeshDict to system directory » more »

Miscellaneous

  • Upgraded ParaView to version 4.4.0 » more »
  • Enabled paraFoam script to open ParaView when OpenFOAM case does not exist » more »
  • Removed the need for the word entry in dimensionedType, » more »e.g. specifying kinematic viscosity in transportProperties is now:
    nu    [0 2 -1 0 0 0 0] 1e-5;
  • Added buoyancy work term to energy equations in solvers, as described in Energy Equation in OpenFOAM » more »
  • Reinstated the original working version of mapFields, and renamed the experimental parallelised version mapFieldsPar » more »

OpenFOAM v3.0.0 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Bruno Santos, Chris Greenshields, Richard Jones
  • Other Contributions: Daniel Jasinski, Mattijs Janssens, Hassan Kassem, Alexey Matveichev, Timo Niemi, Juho Peltola, Timm Severin

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 3.0.0, click here.


OpenFOAM 3.0.1 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 3.0.1 of the OpenFOAM open source CFD toolbox. Version 3.0.1 is a patch release of version 3.0.0 with approximately 50 code commits that fix critical bugs, improve usability and consistency in the code. As a patch release, we strongly recommend users of v3.0.0 upgrade to this version; users of the Ubuntu pack (openfoam30) will receive 3.0.1 as part of a system upgrade, e.g. with “apt-get upgrade”.

OpenFOAM v3.0.1 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Key changes from 3.0.0 to 3.0.1 are listed below. See the version 3.0.0 release announcement for information about the new features in the 3.0 series of OpenFOAM software.

Turbulence Modelling

  • wallShearStress: works with any turbulence simulation type, resolved report 1939 » more » and further commits » more » which modifies instantiation of single-phase turbulence models

Multiphase, Reacting Flows

Thermal Flows

Meshing

Boundary conditions

Miscellaneous

  • foamNewBC, foamNewApp: scripts to create template code for a boundary condition » more » and application » more »

OpenFOAM v3.0.1 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Bruno Santos, Chris Greenshields
  • Other Contributions: Daniel Jasinski, Hassan Kassem, Alexey Matveichev, Timo Niemi, Juho Peltola, Timm Severin, Richard Jones, Mattijs Janssens

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 3.0.1, click here.

OpenFOAM 4.0 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 4.0 of the OpenFOAM open source CFD toolbox. Version 4.0 increases CFD productivity by significant improvements and changes to general usability, post-processing, case management and software management.  It provides a solid platform for the future, sustainable development of OpenFOAM through reimplementation of core and major libraries, over 120 bug fixes and much better consistency, robustness and performance.  It is packed with numerous new and improved boundary conditions, new rigid body dynamics libraries, and developments in turbulence and transport modelling, meshing, ACMI and multiphase, reacting flow.

The version number has been simplified from 3 digit format (e.g., 3.0.1) to 2 (e.g., 4.0) where the first digit is the major version number and the second digit is the patch version number. Version 4.0 is a new major version release in which some backward compatibility to OpenFOAM version 3 is not maintained (requiring some changes to case input files), containing over 900 code commits since version 3.  OpenFOAM 4.0 supports the ISO/IEC 14882:2011 (C++11) standard, maintaining compatibility with the C++ compilers in GCC v4.5+ (tested up to v6.1), Intel ICC v15.0.3+ and Clang v3.6+ (3.7 recommended).

OpenFOAM 4.0 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Case Management

  • Case Control command line interface (CLI): new foamDictionary utility for printing, modifying and adding new dictionary entries from the command line » more », see OpenFOAM User Guide, Section 4.6.
  •  foamListTimes: lists time directories for a case, without the 0 directory by default; the -rm option deletes the listed directories so foamListTimes -rm cleans a case directory.
  • foamSearch: helps users find examples of case settings quickly, by searching a directory for dictionary files of a particular name and extracting entries of a particular keyword, sorted into a unique list. » more »
  • Tutorials: moved all Allrun scripts within their own case or “tutorial” directory for consistency, including the cavity and damBreak cases from the tutorials. » more »

Post-processing and run-time-processing

  • Post-Processing CLI: unified set of tools which simplifies post-processing considerably, improves functionality and maintainability, supported by new documentation — making obsolete the inconsistent, unmaintainable, often-duplicated functionality dispersed across utility applications, function objects, tutorial files and tools such as foamCalc and execFlowFunctionObjects, see OpenFOAM User Guide, Section 6.2.
  • postProcess utility: general and flexible CLI that replaces foamCalc and postCalc » more » and field processing utilities such as Co, createTurbulenceFields (now turbulenceFields), enstrophy, Lambda2, Mach, patchAverage, patchIntegrate, Pe, probeLocations, ptot, Q, R, sample, wallShearStress and yPlus.
  • ParaView: upgraded to version 5.0.1, whose VTK is rewritten to support OpenGL2 rendering. » more »
  • Graphs and sampling : functionality is simplified, more compatible with the foamMonitor monitoring tool, and more robust (» more », » more ») see OpenFOAM User Guide, Section 6.3.
  • Function objects: redesigned and rewritten the underlying code structure, simplifying the code, reducing duplication and making it easier to develop and use » more »; refactored several function objects, e.g. writeObjects (formerly writeRegisteredObject » more »), scalarTransport, with support for steady-state solution (» more »), fieldAverage, with redesigned restart options (» more »); added new function objects, e.g. icoUncoupledKinematicCloud (» more »), writeVTK (» more ») and histogram. (» more »).

Boundary Conditions

  • noSlip: more robust, convenient alternative to fixedValue with value uniform (0 0 0); » more »
  • extrapolatedCalculatedFvPatchField: calculates patch values by zero gradient extrapolation; robust replacement for zeroGradient for temporary fields, to avoid risks associated with derived fields inheriting zeroGradient. » more »
  • fixedProfile: applies a specified 1D profile at an inlet, e.g. obtained from experimental data. » more »
  • plenumPressure: calculates pressure based on a zero-dimensional model of an enclosed volume of gas upstream of an inlet. » more »
  • fixedFluxExtrapolatedPressure: extrapolated pressure boundary conditions for impinging flows, extrapolated inlet conditions with body-forces, highly viscous flows and pressure-induced separation. » more »
  • prghTotalHydrostaticPressure: uses the hydrostatic pressure field as the reference state for the far-field which provides much more accurate entrainment for large domains, e.g. in fireFoam. » more »
  • SRFWallVelocity: velocity condition on walls with the single rotating frame (SRF) model. » more »
  • Time-varying boundary conditions: replaced DataEntry with Function1 for run-time selectable “unary” functions, i.e. functions of 1 variable, e.g. time » more »; in addition to existing tabulated and polynomial functions, added Sine (» more ») and Square (» more ») wave functions, with oscillatingFixedValue being replaced by uniformFixedValue with a Sine function. » more »
  • flowRateInletVelocity: new option to extrapolate the velocity profile back to the inlet. » more »
  • totalPressureFvPatchScalarField (and uniformTotalPressureFvPatchScalarField) : improved usability. » more »
  • Note: calculated boundary conditions now requires a value entry to avoid problems with non-initialization. » more »

Rigid Body Dynamics

  • rigidBodyDynamics: new library for the dynamics of n-degrees of freedom (n-DoF) articulated bodies in parallel. » more »
  • rigidBodyMeshMotion: new library for the mesh-motion of multiple articulated rigid-bodies with joints, restraints and external forces. » more »
  • Vector algebra: redesigned to support spatial vector algebra. » more »
  • Examples: the interDyMFoam tutorials, e.g. for marine engineering (DTCHull) are all updated to use the new rigid-body dynamics and mesh motion libraries. » more »
  • Sponsored by Carnegie Wave Energy Ltd.

Multiphase, Reacting Flows

  • Lift and drag models: new wallDampedLift model supporting near-wall damping for Euler-Euler multiphase solutions » more »; new TomiyamaKataokaZunSakaguchi drag model for bubbles in gas-liquid systems. » more »
  • Boundary conditions: new temperatureDependentAlphaContactAngle boundary condition » more »; new fixedMultiPhaseHeatFlux boundary condition to calculate a wall temperature for overall wall heat flux across multiple phases. » more »
  • Solvers: corrected pressure equations for transonic operation in Euler-Euler multiphase solvers » more »; vastly reduced scattering and churning behaviour in packed beds in MPPICFoam. » more »
  • Post-processing: new moleFractions function object to write mole fraction fields » more »

Other Modelling and Functionality

  • kOmegaSSTDES: new DES turbulence model based on the k-omega SST RAS model for incompressible and compressible flow. » more »
  • Turbulence model sources/constraints: can be plugged in at run-time using fvOptions. » more »
  • logPolynomial: new transport model for viscosity, thermal diffusivity, in the thermophysical modelling library, see OpenFOAM User Guide, section 7.1.
  • fireFoam: optional hydrostatic initialization of the pressure and density, used in conjunction with the prghTotalHydrostaticPressure boundary condition. » more »
  • Sources: new buoyancyForce and buoyancyEnergy sources, for compressible solvers » more »; redesigned fixedValueConstraint, to constrain field values within a specified region. » more »
  • Meshing: consistent face orientation in baffle interfaces created during meshing, e.g. to ensure correct flux calculations. » more »; removed zero sized patches from output of snappyHexMesh » more » and createBaffles. » more »
  • ACMI: removed major limitations, e.g. on mapping for partially overlapping faces. » more »

Software Management and Development

  • Rolling upgrade of OpenFOAM is faster and simpler with improvements to compilation scripts and environment settings, including Allwmake -update, as described in the Source Repository installation.
  • foamList: lists models within OpenFOAM, including turbulence models, function objects, fvOptions, switches and boundary conditions. » more »
  • Doxygen: simplified and updated the configuration for creation of C++ source guides, published the OpenFOAM v4 C++ Source Guide and OpenFOAM v3 C++ Source Guide.
  • User Guide: new and major rewrites of 4.4 Numerical Schemes, 4.5 Solution Control4.6 Case Management and 6 Post-processing; significant updates to 2 Tutorials, 3 Applications and 5 Mesh Generation and Conversion.
  • foamNewBC: script to create template code for a new boundary condition. » more »
  • foamNewApp: script to create template code for a new application. » more »
  • foamNewFunctionObject: script to create template code for a new function object. » more »
  • Messaging: new InfoInFunction, ErrorInFunction, DebugInFunction and DebugInfo for simpler Info, Error and Debug messaging in class code, e.g. debug messaging; new Log macro outputs to Info if log is true. » more »
  • Robust data handling: new convention for const and non-const reference functions of fields where the non-const function uses …Ref(); for example, where boundaryField() provides the const reference to the boundary field, boundaryFieldRef() provides a non-const reference. » more »; for tmp objects, non-const access uses a ref() function rather than the () dereferencing operator. » more »
  • API: new Zero static const variable for simple and efficient initialization and assignment of primitives to 0 » more »; new (i, j) addressing to the Matrix class, for better interoperability with other C++ libraries. » more »

Performance

  • Flux calculation: new fvc::flux(volField) function improves efficiency and cache coherency, and reduces peak storage » more », effective for new processor architectures; uses new dotInterpolate function which avoids storing an interpolated field in flux calculations. » more »
  • Matrices: reimplemented in the core OpenFOAM library » more »; replaced the row-start pointer array with computed offsets in the Matrix class, for 15% speed up in LUsolve. » more »
  • Parallel computation: improved parallel decomposition and reconstruction » more »; optimised data exchange » more »; and, improved the operation of the parallel field mapping utility mapFieldsPar. » more »

Contributors

OpenFOAM v4.0 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Chris Greenshields, Bruno Santos, Mattijs Janssens.
  • Other Contributions: Will Bainbridge, Karl Meredith, Paul Edwards, Juho Peltola, Timo Niemi, Richard Jones, Daniel Jasinski, Hassan Kassem.

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 4.0, click here.

OpenFOAM 4.1 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 4.1 of the OpenFOAM open source CFD toolbox. Version 4.1 is a patch release of version 4.0 with approximately 50 commits that fix critical issues, improve usability and consistency in the code. As a patch release, we strongly recommend users of v4.0 upgrade to this version; users of the packaged version for Ubuntu (openfoam4) can receive 4.1 as part of a system upgrade.

OpenFOAM 4.1 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Key changes from 4.0 to 4.1 are listed below. See the version 4.0 release announcement for information about the new features in the version 4 series of the OpenFOAM software.

New Additions

  • OpenFOAM 4.1 now requires Scotch/PT-Scotch version 6 to enable support for scotch redistribution to snappyHexMesh.  The openfoam4 and openfoam-dev packs for Ubuntu include the object libraries for Scotch/PT-Scotch v6.0.3 to support this.
  • New PBiCGStab preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices using a run-time selectable preconditioner.  Tests indicate that PBiCGStab with the DILU preconditioner is more robust, reliable and shows faster convergence (~2×) than PBiCG with DILU, in particular in parallel where PBiCG occasionally diverges. » more »
  • Support for region specification in functionObjects, so that the -region option is available in the postProcess utility. » more »
  • New fvOption sources for the face-based momentum equations in reactingEulerFoam, twoPhaseEulerFoam. » more »

Resolved Issues

  • Issue 2290 twoPhaseEulerFoam, reactingTwoPhaseEulerFoam: corrected support for implicitPhasePressure with nAlphaCorr > 1
  • Issue 2288 foamToTecplot360: Updated to use tmp.ref()
  • Issue 2287 movingWallVelocityFvPatchVectorField: Removed incorrect documentation concerning MRF
  • Issue 2285 unset FOAM_ETC
  • Issue 2273 fvOptions: Corrected docs: fieldNamefields
  • Issue 2248 PatchToPatchInterpolate: Update to use the tmp ref() non-const access function
  • Issue 2236 tutorials/multiphase/interFoam/ras/weirOverflow: Updated to improve robustness
  • Issue 2229 mapFields: reset the FOAM_CASE environment variable
  • Issue 2227 decomposePar: corrected decomposeParDict read using -region option
  • Issue 2224 tutorials/multiphase/interDyMFoam/ras/DTCHull: Corrected specification of restraints
  • Issue 2223 OpenFOAM-dev/etc/bashrc: Use ‘pwd -P‘ to handle relative paths and links
  • Issue 2216 forceCoeffs: Removed duplicate header writing
  • Issue 2214 functionObjects::forces: Corrected file names when using the ‘binData’ option
  • Issue 2213 foamToVTK::vtkTopo: Apply fix from #1633
  • Issue 2211 rigidBodyMotion: Change the transform averaging to use approximate inverse-distance weighting; now works correctly for an arbitrary number of bodies
  • Issue 2210 resolves issues with environment variables in etc/bashrc, etc/config.sh:
  • Issue 2207 Corrected documentation in classes derived from temperatureCoupleBase
  • Issue 2203 septernion: Correct quaternion normalization after averaging
  • Issue 2193 codingStyleGuide: Corrected typos
  • Issue 2192 ParaView: GUI resource files in plugins are no longer supported
  • Issue 2186 reconstructPar: Handle the copy of the ‘uniform’ directory when only 1 region is reconstructed
  • Issue 2176 RunFunctions: corrected typo $SUFFIX$LOG_SUFFIX
  • Issue 2175 tutorials: corrected scripts ‘]; then‘ -> ‘ ]; then
  • Issue 2173 tutorials Allrun scripts: Update running of postProcess application
  • Issue 2170 tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile: Corrected typo
  • Issue 2169 Make/options: Removed duplicate entries
  • Issue 2168 fvAgglomerationMethods/Allwmake: Removed reference to Scotch
  • Issue 2167 tutorials/multiphase/reactingTwoPhaseEulerFoam: Corrected regular expressions
  • Issue 2165 meshToMeshTemplates: Updated non-const access to the source patch field
  • Issue 2163 fvMatrixSolve: Corrected ref() access to field
  • Issue 2162 CrankNicolsonDdtScheme: Corrected handling of the boundary field to avoid premature reset of the time-index
  • Issue 2158 forces: Updated reading of nu
  • Issue 2156 decomposePar, reconstructPar: Added support for decomposing “uniform” directories in multi-region cases
  • Issue 2148 postProcess: Added call to functionObject::end() at end of time-loop
  • Issue 2141 reactingTwoPhaseEulerFoam/pUf/UEqns: Changed naming convention for the dmdt‘s for consistency with HeatAndMassTransferPhaseSystem.C
  • Issue 2138 functionObjects: Updated documentation
  • Issue 2137 src/OpenFOAM/primitives/ints: Corrected MIN and MAX for uints
  • Issue 2135 SloanRenumber: link with libboost_system.so rather than libboost_thread.so
  • Issue 2133 fvcD2dt2: Updated non-const dereferencing to use ‘.ref()
  • Issue 2099 foamToVTK, PVFoamReader: Resolve problems converting VTK_WEDGE
  • Issue 2097 ORourkeCollision: Corrected probability test
  • Issue 1885 vtkUnstructuredReader: corrected prism point ordering

Contributors

OpenFOAM v4.1 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Chris Greenshields, Bruno Santos, Mattijs Janssens.
  • Other Contributions: Will Bainbridge, Alexey Matveichev, Karl Meredith, Paul Edwards, Juho Peltola, Timo Niemi, Daniel Jasinski.

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 4.1, click here.

OpenFOAM 4.0 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 4.0 of the OpenFOAM open source CFD toolbox. Version 4.0 increases CFD productivity by significant improvements and changes to general usability, post-processing, case management and software management.  It provides a solid platform for the future, sustainable development of OpenFOAM through reimplementation of core and major libraries, over 120 bug fixes and much better consistency, robustness and performance.  It is packed with numerous new and improved boundary conditions, new rigid body dynamics libraries, and developments in turbulence and transport modelling, meshing, ACMI and multiphase, reacting flow.

The version number has been simplified from 3 digit format (e.g., 3.0.1) to 2 (e.g., 4.0) where the first digit is the major version number and the second digit is the patch version number. Version 4.0 is a new major version release in which some backward compatibility to OpenFOAM version 3 is not maintained (requiring some changes to case input files), containing over 900 code commits since version 3.  OpenFOAM 4.0 supports the ISO/IEC 14882:2011 (C++11) standard, maintaining compatibility with the C++ compilers in GCC v4.5+ (tested up to v6.1), Intel ICC v15.0.3+ and Clang v3.6+ (3.7 recommended).

OpenFOAM 4.0 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Case Management

  • Case Control command line interface (CLI): new foamDictionary utility for printing, modifying and adding new dictionary entries from the command line » more », see OpenFOAM User Guide, Section 4.6.
  •  foamListTimes: lists time directories for a case, without the 0 directory by default; the -rm option deletes the listed directories so foamListTimes -rm cleans a case directory.
  • foamSearch: helps users find examples of case settings quickly, by searching a directory for dictionary files of a particular name and extracting entries of a particular keyword, sorted into a unique list. » more »
  • Tutorials: moved all Allrun scripts within their own case or “tutorial” directory for consistency, including the cavity and damBreak cases from the tutorials. » more »

Post-processing and run-time-processing

  • Post-Processing CLI: unified set of tools which simplifies post-processing considerably, improves functionality and maintainability, supported by new documentation — making obsolete the inconsistent, unmaintainable, often-duplicated functionality dispersed across utility applications, function objects, tutorial files and tools such as foamCalc and execFlowFunctionObjects, see OpenFOAM User Guide, Section 6.2.
  • postProcess utility: general and flexible CLI that replaces foamCalc and postCalc » more » and field processing utilities such as Co, createTurbulenceFields (now turbulenceFields), enstrophy, Lambda2, Mach, patchAverage, patchIntegrate, Pe, probeLocations, ptot, Q, R, sample, wallShearStress and yPlus.
  • ParaView: upgraded to version 5.0.1, whose VTK is rewritten to support OpenGL2 rendering. » more »
  • Graphs and sampling : functionality is simplified, more compatible with the foamMonitor monitoring tool, and more robust (» more », » more ») see OpenFOAM User Guide, Section 6.3.
  • Function objects: redesigned and rewritten the underlying code structure, simplifying the code, reducing duplication and making it easier to develop and use » more »; refactored several function objects, e.g. writeObjects (formerly writeRegisteredObject » more »), scalarTransport, with support for steady-state solution (» more »), fieldAverage, with redesigned restart options (» more »); added new function objects, e.g. icoUncoupledKinematicCloud (» more »), writeVTK (» more ») and histogram. (» more »).

Boundary Conditions

  • noSlip: more robust, convenient alternative to fixedValue with value uniform (0 0 0); » more »
  • extrapolatedCalculatedFvPatchField: calculates patch values by zero gradient extrapolation; robust replacement for zeroGradient for temporary fields, to avoid risks associated with derived fields inheriting zeroGradient. » more »
  • fixedProfile: applies a specified 1D profile at an inlet, e.g. obtained from experimental data. » more »
  • plenumPressure: calculates pressure based on a zero-dimensional model of an enclosed volume of gas upstream of an inlet. » more »
  • fixedFluxExtrapolatedPressure: extrapolated pressure boundary conditions for impinging flows, extrapolated inlet conditions with body-forces, highly viscous flows and pressure-induced separation. » more »
  • prghTotalHydrostaticPressure: uses the hydrostatic pressure field as the reference state for the far-field which provides much more accurate entrainment for large domains, e.g. in fireFoam. » more »
  • SRFWallVelocity: velocity condition on walls with the single rotating frame (SRF) model. » more »
  • Time-varying boundary conditions: replaced DataEntry with Function1 for run-time selectable “unary” functions, i.e. functions of 1 variable, e.g. time » more »; in addition to existing tabulated and polynomial functions, added Sine (» more ») and Square (» more ») wave functions, with oscillatingFixedValue being replaced by uniformFixedValue with a Sine function. » more »
  • flowRateInletVelocity: new option to extrapolate the velocity profile back to the inlet. » more »
  • totalPressureFvPatchScalarField (and uniformTotalPressureFvPatchScalarField) : improved usability. » more »
  • Note: calculated boundary conditions now requires a value entry to avoid problems with non-initialization. » more »

Rigid Body Dynamics

  • rigidBodyDynamics: new library for the dynamics of n-degrees of freedom (n-DoF) articulated bodies in parallel. » more »
  • rigidBodyMeshMotion: new library for the mesh-motion of multiple articulated rigid-bodies with joints, restraints and external forces. » more »
  • Vector algebra: redesigned to support spatial vector algebra. » more »
  • Examples: the interDyMFoam tutorials, e.g. for marine engineering (DTCHull) are all updated to use the new rigid-body dynamics and mesh motion libraries. » more »
  • Sponsored by Carnegie Wave Energy Ltd.

Multiphase, Reacting Flows

  • Lift and drag models: new wallDampedLift model supporting near-wall damping for Euler-Euler multiphase solutions » more »; new TomiyamaKataokaZunSakaguchi drag model for bubbles in gas-liquid systems. » more »
  • Boundary conditions: new temperatureDependentAlphaContactAngle boundary condition » more »; new fixedMultiPhaseHeatFlux boundary condition to calculate a wall temperature for overall wall heat flux across multiple phases. » more »
  • Solvers: corrected pressure equations for transonic operation in Euler-Euler multiphase solvers » more »; vastly reduced scattering and churning behaviour in packed beds in MPPICFoam. » more »
  • Post-processing: new moleFractions function object to write mole fraction fields » more »

Other Modelling and Functionality

  • kOmegaSSTDES: new DES turbulence model based on the k-omega SST RAS model for incompressible and compressible flow. » more »
  • Turbulence model sources/constraints: can be plugged in at run-time using fvOptions. » more »
  • logPolynomial: new transport model for viscosity, thermal diffusivity, in the thermophysical modelling library, see OpenFOAM User Guide, section 7.1.
  • fireFoam: optional hydrostatic initialization of the pressure and density, used in conjunction with the prghTotalHydrostaticPressure boundary condition. » more »
  • Sources: new buoyancyForce and buoyancyEnergy sources, for compressible solvers » more »; redesigned fixedValueConstraint, to constrain field values within a specified region. » more »
  • Meshing: consistent face orientation in baffle interfaces created during meshing, e.g. to ensure correct flux calculations. » more »; removed zero sized patches from output of snappyHexMesh » more » and createBaffles. » more »
  • ACMI: removed major limitations, e.g. on mapping for partially overlapping faces. » more »

Software Management and Development

  • Rolling upgrade of OpenFOAM is faster and simpler with improvements to compilation scripts and environment settings, including Allwmake -update, as described in the Source Repository installation.
  • foamList: lists models within OpenFOAM, including turbulence models, function objects, fvOptions, switches and boundary conditions. » more »
  • Doxygen: simplified and updated the configuration for creation of C++ source guides, published the OpenFOAM v4 C++ Source Guide and OpenFOAM v3 C++ Source Guide.
  • User Guide: new and major rewrites of 4.4 Numerical Schemes, 4.5 Solution Control4.6 Case Management and 6 Post-processing; significant updates to 2 Tutorials, 3 Applications and 5 Mesh Generation and Conversion.
  • foamNewBC: script to create template code for a new boundary condition. » more »
  • foamNewApp: script to create template code for a new application. » more »
  • foamNewFunctionObject: script to create template code for a new function object. » more »
  • Messaging: new InfoInFunction, ErrorInFunction, DebugInFunction and DebugInfo for simpler Info, Error and Debug messaging in class code, e.g. debug messaging; new Log macro outputs to Info if log is true. » more »
  • Robust data handling: new convention for const and non-const reference functions of fields where the non-const function uses …Ref(); for example, where boundaryField() provides the const reference to the boundary field, boundaryFieldRef() provides a non-const reference. » more »; for tmp objects, non-const access uses a ref() function rather than the () dereferencing operator. » more »
  • API: new Zero static const variable for simple and efficient initialization and assignment of primitives to 0 » more »; new (i, j) addressing to the Matrix class, for better interoperability with other C++ libraries. » more »

Performance

  • Flux calculation: new fvc::flux(volField) function improves efficiency and cache coherency, and reduces peak storage » more », effective for new processor architectures; uses new dotInterpolate function which avoids storing an interpolated field in flux calculations. » more »
  • Matrices: reimplemented in the core OpenFOAM library » more »; replaced the row-start pointer array with computed offsets in the Matrix class, for 15% speed up in LUsolve. » more »
  • Parallel computation: improved parallel decomposition and reconstruction » more »; optimised data exchange » more »; and, improved the operation of the parallel field mapping utility mapFieldsPar. » more »

Contributors

OpenFOAM v4.0 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Chris Greenshields, Bruno Santos, Mattijs Janssens.
  • Other Contributions: Will Bainbridge, Karl Meredith, Paul Edwards, Juho Peltola, Timo Niemi, Richard Jones, Daniel Jasinski, Hassan Kassem.

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 4.0, click here.

OpenFOAM 4.1 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 4.1 of the OpenFOAM open source CFD toolbox. Version 4.1 is a patch release of version 4.0 with approximately 50 commits that fix critical issues, improve usability and consistency in the code. As a patch release, we strongly recommend users of v4.0 upgrade to this version; users of the packaged version for Ubuntu (openfoam4) can receive 4.1 as part of a system upgrade.

OpenFOAM 4.1 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Key changes from 4.0 to 4.1 are listed below. See the version 4.0 release announcement for information about the new features in the version 4 series of the OpenFOAM software.

New Additions

  • OpenFOAM 4.1 now requires Scotch/PT-Scotch version 6 to enable support for scotch redistribution to snappyHexMesh.  The openfoam4 and openfoam-dev packs for Ubuntu include the object libraries for Scotch/PT-Scotch v6.0.3 to support this.
  • New PBiCGStab preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices using a run-time selectable preconditioner.  Tests indicate that PBiCGStab with the DILU preconditioner is more robust, reliable and shows faster convergence (~2×) than PBiCG with DILU, in particular in parallel where PBiCG occasionally diverges. » more »
  • Support for region specification in functionObjects, so that the -region option is available in the postProcess utility. » more »
  • New fvOption sources for the face-based momentum equations in reactingEulerFoam, twoPhaseEulerFoam. » more »

Resolved Issues

  • Issue 2290 twoPhaseEulerFoam, reactingTwoPhaseEulerFoam: corrected support for implicitPhasePressure with nAlphaCorr > 1
  • Issue 2288 foamToTecplot360: Updated to use tmp.ref()
  • Issue 2287 movingWallVelocityFvPatchVectorField: Removed incorrect documentation concerning MRF
  • Issue 2285 unset FOAM_ETC
  • Issue 2273 fvOptions: Corrected docs: fieldNamefields
  • Issue 2248 PatchToPatchInterpolate: Update to use the tmp ref() non-const access function
  • Issue 2236 tutorials/multiphase/interFoam/ras/weirOverflow: Updated to improve robustness
  • Issue 2229 mapFields: reset the FOAM_CASE environment variable
  • Issue 2227 decomposePar: corrected decomposeParDict read using -region option
  • Issue 2224 tutorials/multiphase/interDyMFoam/ras/DTCHull: Corrected specification of restraints
  • Issue 2223 OpenFOAM-dev/etc/bashrc: Use ‘pwd -P‘ to handle relative paths and links
  • Issue 2216 forceCoeffs: Removed duplicate header writing
  • Issue 2214 functionObjects::forces: Corrected file names when using the ‘binData’ option
  • Issue 2213 foamToVTK::vtkTopo: Apply fix from #1633
  • Issue 2211 rigidBodyMotion: Change the transform averaging to use approximate inverse-distance weighting; now works correctly for an arbitrary number of bodies
  • Issue 2210 resolves issues with environment variables in etc/bashrc, etc/config.sh:
  • Issue 2207 Corrected documentation in classes derived from temperatureCoupleBase
  • Issue 2203 septernion: Correct quaternion normalization after averaging
  • Issue 2193 codingStyleGuide: Corrected typos
  • Issue 2192 ParaView: GUI resource files in plugins are no longer supported
  • Issue 2186 reconstructPar: Handle the copy of the ‘uniform’ directory when only 1 region is reconstructed
  • Issue 2176 RunFunctions: corrected typo $SUFFIX$LOG_SUFFIX
  • Issue 2175 tutorials: corrected scripts ‘]; then‘ -> ‘ ]; then
  • Issue 2173 tutorials Allrun scripts: Update running of postProcess application
  • Issue 2170 tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile: Corrected typo
  • Issue 2169 Make/options: Removed duplicate entries
  • Issue 2168 fvAgglomerationMethods/Allwmake: Removed reference to Scotch
  • Issue 2167 tutorials/multiphase/reactingTwoPhaseEulerFoam: Corrected regular expressions
  • Issue 2165 meshToMeshTemplates: Updated non-const access to the source patch field
  • Issue 2163 fvMatrixSolve: Corrected ref() access to field
  • Issue 2162 CrankNicolsonDdtScheme: Corrected handling of the boundary field to avoid premature reset of the time-index
  • Issue 2158 forces: Updated reading of nu
  • Issue 2156 decomposePar, reconstructPar: Added support for decomposing “uniform” directories in multi-region cases
  • Issue 2148 postProcess: Added call to functionObject::end() at end of time-loop
  • Issue 2141 reactingTwoPhaseEulerFoam/pUf/UEqns: Changed naming convention for the dmdt‘s for consistency with HeatAndMassTransferPhaseSystem.C
  • Issue 2138 functionObjects: Updated documentation
  • Issue 2137 src/OpenFOAM/primitives/ints: Corrected MIN and MAX for uints
  • Issue 2135 SloanRenumber: link with libboost_system.so rather than libboost_thread.so
  • Issue 2133 fvcD2dt2: Updated non-const dereferencing to use ‘.ref()
  • Issue 2099 foamToVTK, PVFoamReader: Resolve problems converting VTK_WEDGE
  • Issue 2097 ORourkeCollision: Corrected probability test
  • Issue 1885 vtkUnstructuredReader: corrected prism point ordering

Contributors

OpenFOAM v4.1 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Chris Greenshields, Bruno Santos, Mattijs Janssens.
  • Other Contributions: Will Bainbridge, Alexey Matveichev, Karl Meredith, Paul Edwards, Juho Peltola, Timo Niemi, Daniel Jasinski.

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 4.1, click here.

OpenFOAM 5.0 Released

$
0
0

The OpenFOAM Foundation is pleased to announce the release of version 5.0 of the OpenFOAM open source CFD toolbox. Version 5.0 is a snapshot of the OpenFOAM development version that is “always-releasable” quality, through rapid-turnaround feedback between code maintainers and users.  It provides new functionality and major improvements to existing code, with strict demands on usabilityreliability and maintainability.  It is produced for the benefit of all users, rather than a handful of commercial organisations.

New functionality includes wave modelling, parallel I/O and a rewrite of the tracking algorithm.  Usability of snappyHexMesh has improved  and new functionality in blockMesh enables background mesh generation that has improved reliability of rotating geometry cases.  There is new modelling in transport, turbulence, thermodynamics and combustion and useful new generic tools, e.g. more user-defined functions (Function1) for time-varying boundary conditions.  There are improvements in performance and reliability of numerics, e.g. for multiphase and compressible flows, and general usability, e.g. bash completion, new function objects and the latest ParaView 5.4.0.

Version 5.0 is a new major version release in which some backward compatibility to OpenFOAM version 4 is not maintained (requiring some changes to case input files), containing 816 code commits since version 4.0.  OpenFOAM 5.0 uses all features of the ISO/IEC 14882:2011 (C++11) standard, and has been tested with C++ compilers that conform to that standard, such as GCC v4.8+, Clang v3.7+ and Intel ICC v17.0.4+.

OpenFOAM 5.0 is distributed under the General Public Licence by the OpenFOAM Foundation for:

Multiphase for Marine/Offshore Engineering

Further Information: “Water Waves in OpenFOAM”.

General Multiphase

  • Performance/Numerics: increased robustness of multiphase solvers through improved inflow/outflow boundary conditions [ commit ad922 ]; better restart and more efficient Crank-Nicolson implementation for interFoam family of solvers [ commit 13aac ]; introduced a limiter to stabilise the interfacial pressure work term in the energy equation for multiphase flows [ commit 0b2e5 ]; improved mass conservation in compressibleInterFoam using continuity error correction [ commit e8daa ]; improved calculation of MULES limiter at walls [ commit 4a22a ]; for setWaves, generalised tetrahedron and triangle cutting, enabling cutting with level-sets as well as planes [ commit df1f4 ]; added functions for volume averaging of discontinuous fields [ commit eaf77 ]
  • Surface Tension Modelling: new framework for runtime-selectable surface tension models in the interfaceProperties library [ commit cf0b6 ]; convenient handling of temperature-dependent surface tension through liquidProperties class [ commit 76579 ]; new temperatureDependentContactAngleForce model added to surface film functionality [ commit cb1fa ]
  • Film Modelling: new experimental compressibleInterFilmFoam multiphase solver supporting transfer between volume of fluid interface capturing and film approximation [ commit d74f3 ]

Transport and Turbulence Modelling

  • Viscosity Modelling: new general strainRateFunction, non-Newtonian viscosity model where users can select the function at run-time using the Function1 functions, such as table, csvFile, polynomial, etc. [ commit 1bf80 ]; new Casson model for blood rheology [ commit ab205 ], see User Guide 7.3
  • Laminar Stress Models: new generalised framework for laminar stress models including linear, non-linear, viscoelastic, etc. [ commit 855f4 ]; new framework for viscoelastic modelling including Maxwell and Oldroyd-B models [ commit 3264b ]
  • Turbulence Models: Reynolds Stress turbulence supported in VoF and other incompressible multiphase solvers [ commit c696e7 ]; corrected k-omega SST Sato model [ commit c1031 ]; corrected C3 dilatation term in turbulence modelling for compressible flows [ commit 76213 ]; improved low-Reynolds number behavior in omegaWallFunction [ commit f2607 ] and epsilonWallFunction [ commit ffa36 ]

Particles and Tracking

  • Tracking: completely replaced the existing tracking, which failed for meshes whose decomposition into tetrahedra (tets) include “negative” tets; the replacement, known as barycentric tracking, is reliable on any mesh, irrespective of tet quality [ commit 37176 ]; optimised the averaging methods in MPPIC using particle barycentric coordinates for 2x speed up [ commit 7a2c8 ]; changed interpolation for particles to use the barycentric coordinates, making it much faster and more reliable [ commit c1cb1 ]
  • Particle Injection: created the massRosinRammler distribution to handle varying number of particles per parcel for fixed-mass parcels [ commit 2d833 ]
  • Optimisation: added solveFlow switch to freeze the flow field, but keep the particles running, in sprayFoam [ commit ef655 ]

Further Information: “OpenFOAM Barycentric Tracking”.

Combustion

  • TDAC/ISAT: new TDACChemistryModel chemistry model providing Tabulation of Dynamic Adaptive Chemistry (TDAC) [ commit f2c26 ]; new Eddy Dissipation Concept (EDC) turbulent combustion model, including support for TDAC/ISAT for efficient chemistry [ commit ad825 ]; added variable time-step and local time stepping (LTS) in ISAT for TDAC chemistry [ commit 92335 ]
  • Other: new limiting of local time step (for solving steady-state) to specie reaction rate in reactingFoam [ commit d36d8 ]; support for isothermal, compressible flow in reactingEulerFoam [ commit 77ade ]; reactions can optionally be enabled only in a specified list of cellZones. [ commit 5d503 ]

Meshes

Energy, Heat Transfer and Thermophysical Modelling

  • Liquid Thermophysical Modelling: rewritten thermophysical modelling to make solid/liquidProperties and specie classes compatible [ commit abc50 ]; simplified and generalized the user interface for liquid properties [ commit 5bc06 ]; added general fluidThermo model to enable run-time selection of thermophysical model type [ commit 76c7f ]; added equation of state for the Boussinesq approximation for buoyant flows [ commit dfecb ], see User Guide 7.1.5
  • Compressible solvers: made rhoSimpleFoam (steady flow) work with any thermophysical model including liquids and more stable: [ commit 655fc ]; added support for transonic flow of liquids and real gases in rhoPimpleFoam [ commit 99c99 ] and improved stability and convergence [ commit 79ff9 ]
  • Other: combined functionality and improved usability of externalWallHeatFluxTemperature boundary condition [ commit e72e7 ] and changed ambient temperature (Ta) to support time variation [ commit 50cb9 ]; added radiation modelling fvOption that can be used in any simulation where energy is solved [ commit 9a06a ]; added support for residual convergence controls to chtMultiRegionFoam [ commit a884a ]

Parallel I/O

  • new collated file format introduced in which the data for each decomposed field (and mesh) is collated into a single file that is written (and read) on the master processor: [ commit 7c301 ] 
  • new masterUncollated option writes data with the original uncollated format without NFS
  • file writing can be threaded allowing the simulation to continue running while the data is being written to file: see “Threading Support”

Further Information: “OpenFOAM Parallel I/O”

Productivity and Usability

  • Data Visualisation: updated the native OpenFOAM reader module for ParaView version 5.4.0 [ commit 68089 ]; maintenance of the native reader module ensures continued trouble-free visualisation of OpenFOAM data.
  • Command Line Interface: added Bash [TAB] completion to all OpenFOAM applications [ commit 90f39 ] and scripts [ commit d759f ]; added -list... options, e.g. -listScalarBCs in solvers for more relevant listing of BCs, fvOptions, turbulence models, etc (as a replacement to foamList) [ commit a4e75 ], see User Guide 5.2.3; enabled applications running with the -doc option, e.g. paraFoam -doc,  to open the application documentation at http://cpp.openfoam.org: [ commit e3fe0 ]
  • Case Management: foamCloneCase can now clone cases from configuration directories, and copy script files and 0.orig directories [ commit ef808 ]; major maintenance of scripts, improving -help option and POSIX compliance [ commits bae3b ]
  • Inlet and outlet: generalised the swirlInletVelocity boundary condition to reads individual velocity components as Function1 [ commit a10d2 ]; new matchedFlowRateOutletVelocity boundary condition which matches the flow rate at outlet to a corresponding inlet [ commit 12d5d ]
  • User Input: input syntax for fvOptions has been made much more user-friendly [ commit e3c67 ]; made ...Coeffs sub-dictionaries optional for input model parameters [ commit 9801c ]; standardised notation in input parameters in radiation boundary conditions [ commit 8aac0 ]
  • Parallel Computation: added -copyZero option to decomposePar to copy the 0 directory to processor directories, to avoid field/mesh inconsistencies, especially when generating the mesh in parallel [ commit 6c103 ]; integrated much faster, scalable reconstructParMesh [ commit 8f273 ]
  • Configured Function Objects: add and subtract fields [ commit 5fc12 ]; XiReactionRate to write reaction-rate fields for the Xi-based combustion models [ commit a7d89 ]; dsmcFields to write DSM fields [ commit 1a33f ]; flowRateFaceZone to calculate flow rate through a face zone [ commit 74244 ]; streamFunction to calculate stream function [ commit faa1a ]; wallHeatFlux to calculate wall heat flux [ commit c263b ]; writeCellVolumes to write out cell volume data and writeCellCentres to write out cell centre data [ commit 53717 ], see User Guide 6.2
  • Function1: added a range of generic ramp functions, including linear, quadratic, halfCosine, quarterCosine and quaterSine functions [ commit 139f1 ] which can be superimposed onto any other function using scale [ commit 5a304 ], see User Guide 5.2.3.4; damper function for smoother start-up under an applied impulse in rigidBodyMeshMotion [ commit 1e043 ]
  • “Limiting” fvOptionslimitVelocity to limit the maximum velocity, e.g. to avoid excessive unphysical velocities generated during slamming event [ commit 20f9d ]; made settings and documentation consistent in limitTemperature [ commit 8929e ]

Contributors

OpenFOAM v5.0 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Chris Greenshields, Will Bainbridge, Mattijs Janssens, Bruno Santos.
  • Other Contributions:
    • Combustion: Francesco Contino (+ macOS), Zhiyi Li, Alessandro Parente
    • Reacting Multiphase: Juho Peltola,  Alberto Passalacqua, Ronald Oertel
    • Lagrangian: Timo Niemi (+ function objects), Karl Meredith
    • Parallel Running: Paul Edwards, Kevin Nordin-Bates, Alexey Matveichev
    • Heat transfer: Stephan Goeke, Tobias Holzmann

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the Issue Tracking System.

To download OpenFOAM 5.0, click here.

Viewing all 14 articles
Browse latest View live