Commit 6f48a922 authored by henry's avatar henry
Browse files

Further corrections to tutorials following a complete Allrun.

parent ce791824
# -*- mode: org; -*-
#
#+TITLE: *OpenFOAM release notes for version 1.5*
#+TITLE: *OpenFOAM release notes for version 1.6*
#+AUTHOR: OpenCFD Ltd.
#+DATE: 07 October 2008
#+DATE: July 2009
#+LINK: http://www.opencfd.co.uk
#+OPTIONS: author:nil ^:{}
* Overview
OpenFOAM-1.5 is is a significant upgrade to version 1.4 in ways which are
OpenFOAM-1.6 is is a significant upgrade to version 1.5 in ways which are
outlined below. This release passes all our standard tests and the tutorials
have been broadly checked. If there are any bugs, please report them using
the instructions set out in: http://www.OpenFOAM.org/bugs.html.
Most of the developments for this release are in: new applications, e.g. for
multiphase flow and cavitation, buoyancy-flow and heat transfer, high speed
flows and even molecular dynamics; new utilities, e.g. for meshing and case
monitoring; and, new modelling, e.g. in Lagrangian particle tracking,
radiation and rotating frames of reference. With these new applications come
numerous new example cases.
* GNU/Linux version
The 64bit binary packs of the OpenFOAM release were compiled on a machine
running SuSE GNU/Linux version 10.3 and the 32bit on a machine running Ubuntu
GNU/Linux version 7.1 and also tested on Ubuntu 8.04. We recommend that
users run OpenFOAM on one of these or a similar recent version of GNU/Linux.
This release has also been successfully compiled and tested on older GNU/Linux
releases but this requires the installation of Qt 4.3.? for ParaView-3 to run.
The 32bit and 64bit binary packs of the OpenFOAM release were compiled on a
machine running SuSE GNU/Linux version 11.1 and also tested on Ubuntu 9. We
recommend that users run OpenFOAM on one of these or a similar recent version
of GNU/Linux. This release has also been successfully compiled and tested on
older GNU/Linux releases but this requires the installation of Qt 4.3.? (the
sources for which are supplied with OpenFOAM-1.6, see README) for ParaView-3
to run.
* C++ Compiler version
+ Released compiled with GCC 4.3.1, the latest version.
+ Release compiled with GCC 4.3.3.
+ Built in support for the Intel C++ 10.? compiler (untested).
+ The choice of the compiler is controlled by the setting of the $WM_COMPILER
and $WM_COMPILER_ARCH environment variables in the OpenFOAM-1.5/etc/bashrc
(or cshrc) file.
+ The choice of the compiler is controlled by the setting of the
~$WM_COMPILER~ and ~$WM_COMPILER_ARCH~ environment variables in the
/OpenFOAM-1.6/etc/bashrc/ (or /cshrc/) file.
+ The location of the installation of the compiler is controlled by the
$compilerInstall environment variable in the OpenFOAM-1.5/etc/settings.sh
(or settings.csh) file.
* Developments to solvers (applications)
+ New rhoCentralFoam solver for high-speed, viscous, compressible flows using
non-oscillatory, central-upwind schemes.
+ New interDyMFoam solver for 2 incompressible, isothermal, immiscible fluids
using a VoF phase-fraction based interface capturing approach, with optional
mesh motion and mesh topology changes including adaptive mesh
(un)refinement. Useful for simulations such as tank filling, sloshing ---
using solid body motion e.g. SDA or SKA (6DoF) --- and slamming (using the
mesh motion solver) and other large-scale applications that benefit from the
efficiency gain of adaptive mesh (un)refinement of the interface.
+ New compressibleInterFoam solver for 2 compressible, isothermal, immiscible
fluids using a volume of fluid (VoF) phase-fraction approach for
interface-capturing. The momentum and other fluid properties are of the
"mixture" and a single momentum equation is solved. Turbulence is modelled
using a run-time selectable incompressible LES model.
+ New interPhaseChangeFoam solver for 2 incompressible, isothermal, immiscible
fluids with phase-change, e.g. cavitation. Uses VoF interface capturing,
with momentum and other fluid properties described for the ``mixture'' and a
single momentum equation is solved. The set of phase-change models provided
are designed to simulate cavitation but other mechanisms of phase-change are
supported within this solver framework.
+ New rasCavitatingFoam solver for transient cavitation using a barotropic
compressibility model, with RAS turbulence.
+ New lesCavitatingFoam solver for transient cavitation using a barotropic
compressibility model, with LES turbulence.
+ New chtMultiRegionFoam solver that couples conjugate heat transfer in a
solid to a buoyancy-driven flow simulation.
+ New PDRFoam solver for compressible premixed/partially-premixed turbulent
combustion that includes porosity/distributed resistance (PDR) modelling to
handle regions containing solid blockages which cannot be resolved by the
mesh. Requires the PDR fields.
+ New lesBuoyantFoam solver for transient, buoyant, turbulent flow of
compressible fluids for ventilation and heat-transfer. Turbulence is
modelled using a run-time selectable compressible LES model.
+ New rhoPimpleFoam solver for transient, turbulent flow of compressible
fluids for ventilation and heat-transfer. Uses the flexible PIMPLE
(PISO-SIMPLE) solution for time-resolved and pseudo-transient simulations.
+ New buoyantSimpleRadiationFoam solver for steady-state, buoyant, turbulent
flow of compressible fluids with radiation, for ventilation and
heat-transfer.
+ New rhoTurbTwinParcelFoam solver for transient for compressible, turbulent
flow with two thermo-clouds.
+ New gnemdFOAM solver for general purpose molecular dynamics that simulates
atoms in arbitrary shaped domains and average atomic/molecular quantities to
the mesh to create field data.
+ New mdEqulibrationFoam solver to equilibrates and/or preconditions molecular
dynamics systems.
+ Demonstration SRFSimpleFoam solver based on simpleFoam that incorporates the
SRF extensions (see below) for rotating flows.
* Automatic mesher
New snappyHexMesh utility that generates split-hex meshes automatically from
triangulated (STL) surface geometries. The mesh approximately conforms to
the surface by iteratively refining a starting mesh and morphing the
resulting split-hex mesh to the surface. An optional phase will shrink back
the resulting mesh and insert cell layers. It has a flexible specification
of mesh refinement level and robust surface handling with a pre-specified
final mesh quality. It runs in parallel with a load balancing step every
iteration.
* Developments to utilities
+ New extrude2DMesh utility that extrudes 2D meshes into a 3D mesh. 2D meshes
are described by faces with 2 points, so can be used in combination with 2D
meshes converted with ccm26ToFoam.
+ New couplePatches functionality integrated into createPatch, which
optionally synchronises ("couples") points and faces of coupled (cyclic,
processor) patches.
+ New applyBoundaryLayer pre-processing utility to apply 1/7th power-law
boundary layers at walls, starting from uniform or potential flow solutions.
+ New execFlowFunctionObjects utility executes functionObjects as a
post-processing activity, e.g. probes, sampling, force calculation.
+ New changeDictionary utility makes batch changes to OpenFOAM input files,
e.g. to change boundary conditions of field files.
+ New foamCalc utility, a generic post-processing field calculator tool
+ New molConfig pre-processing utility for molecular dynamics cases. Fills
zones of a mesh with single crystal lattices of specified structure,
density, orientation, alignment and temperature.
+ Extended splitMeshRegions utility to split multi-zone meshes, e.g. defined
through cellZones, into separate meshes.
+ Extended the foamToVTK, decomposePar, reconstructPar and mapFields utilities
to include support for multiple particle clouds in parallel processing.
* Migration from ParaView 2.4 to ParaView 3.x
+ Rewritten OpenFOAM Reader Module for version 3, a major redesign of
ParaView.
+ New features include viewing patch names, reading of Lagrangian data,
handling of cell, face and point sets, multiple views.
* Model development
+ Overhauled the lagrangian library to support multiple clouds.
+ New lagrangianIntermediate library incorporating a hierarchy of parcel and
cloud types, accommodating kinematic, thermodynamic and reacting
applications, including coupling to the new radiation library. Sub-models
are added at the relevant level of physics, e.g.:
- kinematic: injection, wall interaction, drag, dispersion;
- thermo: heat transfer;
- reacting: reacting composition, mass transfer, surface reactions.
+ New single rotating frame of reference (SRF) library for rotating flow
applications, e.g. turbo-machinery.
+ New radiation library including the P1 model and associated Marshak boundary
conditions for incident radiation.
+ New displacementInterpolation motion solver for flexible mesh scaling.
+ New molecularDynamics Lagrangian library to calculate intermolecular forces
between spherically symmetrical monatomic species in arbitrary geometries.
* New functionObjects
To aid common monitoring and post-processing activities.
+ forces: calculate the force and moment on a patch or set of patches, e.g. to
calculate the lift, drag and moment of an object in the flow.
+ forceCoeffs: calculate the normalised force and moment on a patch or set of
patches, e.g. to calculate the lift, drag and moment coefficients of an
object in the flow.
+ fieldAverage: calculate field arithmetic mean and prime-squared averages for
a list of fields.
+ foamCalcFunctions: calculate field components, div, mag, magGrad or magSqr.
* Improvements to boundary conditions
+ Generalised jumpCyclic type: cyclic condition with an additional prescribed
jump in value.
+ fan type: specialisation of jumpCyclic, applying a prescribed jump in
pressure to simulate a fan within a mesh.
+ Generalised advective outflow boundary condition based on solving D/Dt(psi,
U) = 0 at the boundary.
+ Additional turbulent flow inlet to specify mixing length and frequency.
+ Generalisation of time varying set of boundary conditions.
* Other
+ New argument-free command execution, e.g typing "icoFoam" without root and
case directory arguments.
+ Extended time command line options.
+ Many enhancements to dictionary including macro substitution, optional
merging and default/overwrite behaviour, enhanced "#include" file handling
and the framework to support function evaluation.
+ Cross-links between applications and Doxygen documentation with the "-doc"
argument.
+ Non-blocking, non-buffered, parallel transfers with potential scaling
benefits for larger number of processors.
~$compilerInstall~ environment variable in the
/OpenFOAM-1.6/etc/settings.sh/ (or /settings.csh/) file.
* Library developments
*** Turbulence modelling
+ Major development of turbulence model libraries to give extra flexibility
at the solver level. For solvers that can support either RAS/LES
computations, the selection is made in the
/constant/turbulenceProperties/,
by setting the =simulationType= keyword to:
- =laminar=
- =RASModel=
- =LESModel=
+ Depending on the selection, the model is the instantiated from /constant//
- /RASProperties/
- /LESProperties/
***** RAS wall functions
Wall functions are now run-time selectable per patch for RAS.
******* Velocity:
+ Apply to turbulent viscosities =nut= or =mut=
+ Apply to =k=, =Q=, =R=
+ Apply to =epsilon=, =omega=
******* Temperature:
+ Apply to turbulent thermal diffusivity, =alphat= (compressible only)
******* To apply wall functions:
+ To recapture the functionality of previous OpenFOAM versions (v1.5 and
earlier) assign:
- for velocity:
- =nut=: =nutWallFunction=
- =mut=: =muWallFunction=
- =epsilon=: =epsilonWallFunction=
- =omega=: =omegaWallFunction=
- =k=, =Q=, =R=: =kQRWallFunction=
- for temperature:
- =alphat=: =alphatWallFunction=
+ New =alphaSgsJayatillekeWallFunction= thermal wall function for
compressible LES
***** *New* LES turbulence models
+ Spalart-Allmaras DDES
+ Spalart-Allmaras IDDES
***** Upgrading:
+ *New* utility - =applyWallFunctionBoundaryConditions=
+ Solvers will automatically update existing cases
- New fields created based on the presence of the =nut/mut= field
- Boundary conditions include scoping, i.e compressibility:: for
compressible solvers
- Modified fields will be backed-up to /<field>.old/
+ NOTE:
- Fields are only updated for those fields associated with the current
turbulence model selection, i.e. if fields exist for use with other
models, they will not be updated
- New specification is not backwards compatible
*** Thermo-physical Models
+ Old compressibility based thermo package renamed
=basicThermo= \rightarrow =basicPsiThermo=
+ *New* =basicRhoThermo= thermo package
- Additional density field stored
- General form - can be used for other types of media, e.g. liquids
- Additional polynomial-based thermodynamics
- Equation of state: =icoPolynomial=
- Transport: =polynomialTransport=
- Thermo: =hPolynomialThermo=
+ Removed earlier hard-coding of gas thermophysics for chemistry modelling:
- =reactingMixture= now templated on thermo package
- =chemistryModel= now templated on thermo package
- =chemistrySolver= now templated on thermo package
+ *New* =fvDOM= radition model
- finite volume, discrete ordinates method
+ *New* (reinstated) =eThermo= thermodynamics package
- internal energy based thermodynamics
*** Lagrangian
***** Intermediate
- Overhaul of the underlying framework
- Reacting now split into reacting and reacting multiphase
- New structure for variable composition
- Many new sub-models, including:
- Injection
- =PatchInjection= - injection local to patch face cells
- =FieldActivatedInjection= - injection based on satisfying external
criterion
- LookupTableInjection - explicity define injection locations and all
parcel properties
- Post-processing
- patch post-processing - collect data for parcels impacting user
defined patches
- Patch interaction
- generalised behaviour for parcel interaction with patch
- Phase change
- liquid evaporation
***** Coal combustion
- *New* library - extension of reacting-multiphase functionality
- Surface reaction/combustion models
*** Discrete methods
- *New* library offering DSMC simulation functionality - see =dsmcFoam=
below
- *New* libraries offering molecular dynamics simulation functionality - see
=mdFoam= and =mdEquilibrationFoam=: below.
* Solver restructuring
The upgrade to the turbulence models means that the simulation type, i.e.
laminar, RAS or LES can be selected at run time. This has allowed a reduction
in the number of solvers, simplifying the overall code structure
+ Solvers which support laminar, RAS and LES:
- =turbFoam=, =oodles= \rightarrow =pisoFoam=
- =turbDyMFoam= \rightarrow =pimpleDyMFoam=
- =rhoTurbFoam=, =coodles= \rightarrow =rhoPisoFoam=
- =xoodles= \rightarrow absorbed into =XiFoam=
- =buoyantFoam=, =lesBuoyantFoam= \rightarrow =buoyantPisoFoam=
- =interFoam=, rasInterFoam, =lesInterFoam= \rightarrow =interFoam=
- =lesCavitatingFoam=, =rasCavitatingFoam= \rightarrow =cavitatingFoam=
+ Solvers which support LES only:
- =channelOodles= \rightarrow =channelFoam= (LES)
* General changes
- pd to p ------------------------------------------------------------ [HENRY]
- gravity ------------------------------------------------------------ [HENRY]
* Tutorial restructuring
to reflect solver application structure
* Post-processing ---------------------------------------------------- [MATTIJS]
- SAMPLING - improved plane, iso-surface handling
* *New* Solvers
+ =buoyantBoussinesqSimpleFoam=
Steady state heat transfer solver using a Boussinesq approximation for
buoyancy, with laminar, RAS or LES turbulence modelling
+ =buoyantBoussinesqPisoFoam=
Transient heat transfer solver using a Boussinesq approximation for
buoyancy, with laminar, RAS or LES turbulence modelling
+ =coalChemistryFoam=
Transient, reacting lagrangian solver, employing a coal cloud and a thermo
cloud, with chemistry, and laminar, RAS or LES turbulence modelling
+ =porousExplicitSourceReactingParcelFoam=
Transient, reacting lagrangian solver, employing a single phase reacting
cloud, with porous media, explicit mass sources, and laminar, RAS or LES
turbulence modelling
+ =rhoReactingFoam=
Density-based thermodynamics variant of the reactingFoam solver, i.e. now
applicable to liquid systems
+ =dsmcFoam=
DSMC (Direct Simulation Monte-Carlo) solver for rarefied gas dynamics
simultions, able to simulate mixtures of an arbitrary number of gas species.
The variable hard sphere collision model with Larsen-Borgnakke internal
energy redistribution (see "Molecular Gas Dynamics and the Direct Simulation
of Gas Flows" G.A. Bird, 1994) is available; other run-time selectable
collision models can be easily added.
* Updated solvers
+ =mdFoam=
Molecular Dynamics (MD) solver able to simulate a mixture of an arbitrary
number of mono-atomic and small, rigid polyatomic (i.e. H2O, N2) molecular
species, with 6 degree of freedom motion, in complex geometries. A molecule
of any species can be built by specifying its sites of mass and charge. All
molecules interact with short-range dispersion forces and pairwise
electrostatic interactions using methods described in:
Fennell and Gezelter, J. Chem. Phys. 124, 234104 (2006)
+ =mdEquilibrationFoam=
Similar to mdFoam, but employs velocity scaling to adjust the simulation
temperature to a target value. Useful to equilibrate a case before
simulation.
* Function objects
*** *New* function objects:
- =systemCall= - executes a list of system instructions
- =fieldMinMax= - computes the min/max of a <field>
- =staticPressure= - converts kinematic pressure to static pressure
- =dsmcFields= - calculates intensive fields (velocity and temperature) from
averaged extensive fields (i.e. momentum and energy)
*** Usage
- Improved output control: =timeStep= or =outputTime=
* Boundary conditions
- Improved set of direct mapped boundary conditions
- Buoyancy boundary condition ---------------------------------------- [HENRY]
* *New* utilities
- =particleTracks= - generate particle tracks for lagrangian calculations
- =dsmcInitialise= - preprocessing utility to create initial configurations of
DSMC particles in a geometry
*** *New* foamCalc functions
- =interpolate= - performs fvc::interpolate(<field>)
- =randomise= - randomises a <field> by a given perturbation
- =addSubtract= - simple add/subtract field functionality
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
......@@ -10,6 +10,7 @@ FoamFile
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
......
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volTensorField;
object B;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform (0 0 0 0 0 0 0 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0 0 0 0 0 0 0 0 0);
}
outlet
{
type zeroGradient;
}
upperWall
{
type zeroGradient;
}
lowerWall
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //
......@@ -20,30 +20,30 @@ internalField uniform 0.135;
boundaryField
{
inlet
inlet
{
type fixedValue;
value uniform 0.135;
}
outlet
outlet
{
type inletOutlet;
inletValue uniform 0.135;
value uniform 0.135;
}
upperWall
upperWall
{
type zeroGradient;
}
lowerWall
lowerWall
{
type zeroGradient;
}
frontAndBack
frontAndBack
{
type empty;
}
......
......@@ -20,32 +20,32 @@ internalField uniform 293;
boundaryField
{
inlet
inlet
{
type fixedValue;
value uniform 293;
}
outlet
outlet
{
type inletOutlet;
inletValue uniform 293;
value uniform 293;
}
upperWall
upperWall
{
type fixedValue;
value uniform 293;
}
lowerWall
lowerWall
{
type fixedValue;
value uniform 293;
}
frontAndBack
frontAndBack
{
type empty;
}
......
......@@ -20,32 +20,32 @@ internalField uniform 293;
boundaryField
{
inlet
inlet
{
type fixedValue;
value uniform 293;
}
outlet
outlet
{
type inletOutlet;
inletValue uniform 293;
value uniform 293;
}
upperWall
upperWall
{
type fixedValue;
value uniform 293;
}
lowerWall
lowerWall
{
type fixedValue;
value uniform 293;
}
frontAndBack
frontAndBack
{
type empty;
}
......
......@@ -20,33 +20,33 @@ internalField uniform (0 0 0);
boundaryField
{
inlet
inlet
{
type turbulentInlet;
referenceField uniform (13.3 0 0);
fluctuationScale (0.04 0.02 0.02);
}
outlet
outlet
{
type inletOutlet;
inletValue uniform (0 0 0);
value uniform (0 0 0);
}
upperWall
upperWall
{
type fixedValue;
value uniform (0 0 0);
}
lowerWall
lowerWall
{
type fixedValue;
value uniform (0 0 0);
}
frontAndBack
frontAndBack
{
type empty;
}
......
......@@ -20,30 +20,30 @@ internalField uniform 1;
boundaryField
{
inlet
inlet
{
type fixedValue;
value uniform 1;
}
outlet
outlet
{
type inletOutlet;
inletValue uniform 1;
value uniform 1;
}
upperWall
upperWall
{
type zeroGradient;
}
lowerWall
lowerWall