Merge commit 'c8949a5f9e822ec508fd6c732ab0c089e507d27d'. Author: Hrvoje Jasak. ...
[foam-extend-4.0.git] / ReleaseNotes
blob2293b6209d3b9b1ec4739e4066f0ff2419ad14b6
1 #                            -*- mode: org; -*-
3 #+TITLE:             *Release notes for foam-extend-4.0*
4 #+AUTHOR:                foam-extend administrators:
5 #+AUTHOR:                        Hrvoje Jasak
6 #+AUTHOR:                       Håkan Nilsson
7 #+AUTHOR:                       Henrik Rusche
8 #+AUTHOR:                      Martin Beaudoin
9 #+AUTHOR:                     Bernhard Gschaider
10 #+DATE:                          December 2016
11 #+LINK:                     http://foam-extend.org
12 #+OPTIONS: author:nil
13 #+OPTIONS: toc:2
14 #+OPTIONS: _:nil
15 #+OPTIONS: ^:nil
17 ###############################################################################
19 ** Overview
20   The foam-extend project is a fork of the OpenFOAM® open source
21   library for Computational Fluid Dynamics (CFD). It is an open
22   project welcoming and integrating contributions from all users and
23   developers. Previously known as OpenFOAM-dev and OpenFOAM-extend,
24   it contains bug fixes and performance improvements, as well as
25   extensions and additional features provided by community
26   contributors (see file ListOfContributors), such as dynamic mesh and
27   topological change support, turbomachinery extensions including
28   general grid interpolation (GGI), cyclic GGI and mixing plane,
29   block-coupled matrix support, implicitly coupled conjugate heat
30   transfer and other physics coupling, finite area method,
31   comprehensive dynamic mesh (motion and topological changes)
32   capability and GPU support. For a full list, see below and previous
33   release notes at:
34   http://sourceforge.net/p/foam-extend/wiki/Home/
36   Version 4.0, nicknamed "Guimaraes", is the current version of
37   foam-extend. The release continues the tradition and spirit of the
38   original FOAM code developed by prof. Jasak and Mr. Weller during
39   their time at Imperial College and released as the general purpose
40   CFD/CCM package by Nabla Ltd. in 2000. In this spirit, we reverted
41   18 December 2013 to the original numbering scheme (foam-2.3.2, 13
42   December 2004) as release number 3.0.  Visit http://foam-extend.org
43   for more information.
45   OPENFOAM is a registered trademark of ESI Group. OpenFOAM-extend and
46   foam-extend are a community effort not endorsed by ESI Group.
49 ** Installation
50    foam-extend-4.0 can be compiled and runs on a large variety of Linux, Mac or Windows
51    systems
53   * Main supported OSs:
54     - Ubuntu 16.04 LTS
55     - Ubuntu 14.04 LTS
56     - Fedora 24
57     - Mac OS X
58     - Microsoft Windows 7, 8.1 and 10
60   * Compile from source:
62     Please refer to doc/buildInstructions/ for details. Further
63     installation instruction are available on the unofficial OpenFOAM
64     Wiki:
65     http://openfoamwiki.net/index.php/Installation/Linux/foam-extend-4.0
66     If you have improvements or build instructions for a new system,
67     please share them with the community (see section "How to
68     contribute", below).
70   * Download binary packages:
72     Binary packages are available for download at
73     http://sourceforge.net/projects/foam-extend/ for the following
74     systems: Ubuntu 16.04, Fedora 24 and Mac OS X and Windows 10.
76   * Accompanying ThirdParty software:
77     - gcc compatibility up to 4.9.2
78     - bison 2.7
79     - cmake 3.2.2
80     - flex-2.5.35
81     - hwloc 1.10.1
82     - libccmio 2.6.1
83     - mesquite 2.1.2
84     - metis 5.1.0
85     - openmpi 1.8.8
86     - Paraview 4.4.0
87     - parmetis 4.0.3
88     - ParMGridGen 1.0
89     - PyFoam 0.6.4
90     - qt 4.8.6
91     - scotch 6.0.4
92     - swak4Foam 0.4.0
95 ** Compatibility
96   Upstream features from the OpenFOAM® code base are merged into
97   foam-extend on regular basis. The interface format of
98   foam-extend-4.0 is largely compatible to foam-extend-3.2, to
99   OpenFOAM-1.6-ext and OpenFOAM-1.7.x. In some cases, the
100   differences are caused by bug fixes and algorithmic improvements,
101   considered more important than inter-operability.
103 ** Main differentiators between foam-extend and OpenFOAM
104   A large number of features have been lost within the release of
105   OpenFOAM since version 1.3, the code base has shrunk by more than
106   40%.  While we understand the lack of technical ability of
107   supporting advanced CFD features, we feel that existing features and
108   specifically large-scale contributions should remain active and
109   developed further. Below is a list of main features of foam-extend
110   which are lacking, lost, deactivated or unusable in ESI releases:
112   * Turbomachinery features, including General Grid Interface (GGI),
113     partial overlap GGI, cyclic GGI, with improvements in parallel
114     scaling.  First release of a mixing plane stage interface
116   * Dynamic mesh with topological changes Sliding interfaces, mesh
117     layering, attach-detach boundaries etc.  In foam-extend, full
118     parallel support for topological changes is released for the first
119     time
121   * Finite Element Method with support for polyhedral meshes This is
122     mainly used in mesh deformation and over the last 15 years it has
123     proven vastly superior to all other dynamic mesh methods.
125   * Advanced mesh deformation technology Including tet FEM mesh
126     deformation, Radial Basis Function (RBF) mesh deformation,
127     tetrahedral remeshing dynamic mesh support and solid body motion
128     functions.  All of the above include parallelisation support
130   * Library of dynamic meshes with topological changes with full
131     second order FVM discretisation support on moving meshes with
132     topological changes
134   * Internal combustion engine-specific dynamic mesh classes such as
135     two-stroke engine and various forms of 4-stroke and multi-valve
136     dynamic mesh classes
138   * Finite Area Method providing support for FVM-like discretisation
139     on a curved surface in 3-D, with examples of liquid film modeling
141   * Block-coupled matrix support, allowing fully implicit
142     multi-equation solution of NxN equation sets, with full
143     parallelisation support.  First release of a block-AMG linear
144     equation solver
146   * Fully implicit conjugate-coupled solution framework, allowing
147     implicit solution fo multiple equations over multiple meshes, with
148     parallelism
150   * Proper Orthogonal Decomposition data analysis tools, with
151     applications to FOAM field classes
153   * Equation reader classes and tutorials
155   * Multi-solver solution framework, allowing multiple field models to
156     be solved in a coupled manner
158   * A major contribution is solid mechanics modelling, including
159     linear and non-linear materials, contact, self-contact and
160     friction, with updated Lagrangian or absolute Lagrangian
161     formulation.  Solution of damage models and crack propagation in
162     complex materials via topological changes
164   * CUDA solver release, provided in full source and as an example of
165     coupling external linear equation solvers with FOAM
167   * Library-level support for Immersed Boundary Method and Overset
168     Mesh
170   * Major improvements in accuracy and stability of FVM discretisation
171     with options on convection and diffusion discretisation, deferred
172     correction or explicit schemes
174   * Algebraic multigrid solver framework
176   * 253 tutorials with automated run scripts
178   * Automatic test harness
180   * Approximately 6000 bug fixes in fundamental level libraries and
181     discretisation techniques
183 ** New features in foam-extend-4.0, since foam-extend-3.2
184   The list of features is a result of the work of numerous
185   contributors. The maintainers of foam-extend would formally like to
186   thank them all.
188   Get a full log of the updates by (either):
189 #+BEGIN_SRC bash
190     user@machine> git log 4.0.. > commitLog
191 #+END_SRC
192 #+BEGIN_SRC bash
193     user@machine> git log 4.0.. --oneline > commitLog
194 #+END_SRC
195 #+BEGIN_SRC bash
196     user@machine> gitg 4.0..
197 #+END_SRC
199   * Major new features:
200     - Improved BlockLduMatrix and block-coupled p-U solver and associated tools
201     - ILUCp and block ILUCp preconditioners
202     - Added MRF and porous media handling to the block-coupled solver
203     - Change of generic turbulence modelling interface: no U required
204     - Updated version of block-coupled turbulence models
205     - Major improvements in immersed boundary method library: improved performance
206       and parallel scaling.  Completed supporft for moving deforming immersed boundary
207     - Adopted vanilla OpenFOAM solver control format (solutionControl class)
208     - Implicit adjoint convection operator
209     - Improved GGI interpolation and cutting, with better parallel scaling
210     - Global GGI search option for parallel cases
211     - GGI and mixing planes with jump condition for the rothalpy equation
212     - Improved 6-DOF solver, with new handling of constraints
213     - Fully integrated real gas library
214     - Updated viscoelastoplastic models
215     - New steady-state universal flow solver, handling incompressible and compressible
216       flows within the same framework
217     - Time consistent incompressible solvers update
218     - Added decaying turbulence inlet boundary condition by Kornev
219     - New gradient limiter implementation
220     - Full gradient cacheing capability
221     - Removed fluxRequired from solution dictionaries
222     - Consistent notation of 1/aP
223     - Dynamic mesh improvements: prescribed motion functions
225   * Software
226     - New handling of lnInclude directories: avoid file copying on MS Windows
227     - Changes to controlDict and options on MS Windows
228     - Consistency in formatting of compression options
229     - Raspberry Pi port
231   * Installation:
232     - Compilation improvements
233     - Updated packages versions and compilation in ThirdParty
234     - Changed compilation options for Infiniband: new versions of MPI
235     - Added support for mvapich2-2.2
236     - Updated compilation for latest version of XCode for Mac OSX
237     - Updates for MS Windows build
239   * Solvers:
240     - Updated time consistent incompressible solvers (channelFoam, icoFoam, nonNewtonianIcoFoam, pimpleDyMFoam, pimpleFoam, simpleFoam, simpleSRFFoam)
241     - Steady universal (compressible and incompressible) flow solver (steadyUniversalFoam)
242     - Block-coupled p-U solver improvements (MRFPorousFoam and pUCoupledFoam)
243     - Improved steadyCompressibleMRFFoam
245   * New tutorials:
246     - Transient real fluid examples
247     - Universal steady-state MRF examples
248     - Additional coupled CHT example
249     - Additional immersed boundary example
250     - Additional steady-state MRF and GGI example
252   * Bug fixes: see git log for details
254 ** Recent successful compilations and tests
255    * Ubuntu 16.04 LTS
257 ** Reporting bugs
258     To report bugs, please use the bugtracker at
259     http://sourceforge.net/p/foam-extend/tickets/
261 ** How to contribute
262     All your contributions are highly welcome: New solvers, utilities and
263     models; bug fixes; documentation. The many ways of contributing and the
264     contribution process are described in detail at:
265     http://sourceforge.net/p/foam-extend/wiki/HowToContribute/
267 ** List of Contributors:
268     See file ListOfContributors