Restructured.

This commit is contained in:
henry
2009-07-27 10:36:46 +01:00
parent a034711c39
commit 3e1f753522

View File

@ -73,19 +73,6 @@
+ Export *new* environment variable =FOAM_CASENAME= that contains the + Export *new* environment variable =FOAM_CASENAME= that contains the
name part of the =FOAM_CASE= environment variable. name part of the =FOAM_CASE= environment variable.
*** Numerics
+ *new* polynomial-fit higher-order interpolation schemes:
- =biLinearFit=
- =linearFit=
- =quadraticLinearFit=
- =quadraticFit=
- =linearPureUpwindFit=
- =quadraticLinearPureUpwindFit=
- =quadraticLinearUpwindFit=
- =quadraticUpwindFit=
- =cubicUpwindFit=
+ *new* polynomial-fit higher-order Sn-Grad: =quadraticFitSnGrad=.
*** Turbulence modelling *** Turbulence modelling
+ Major development of turbulence model libraries to give extra flexibility + Major development of turbulence model libraries to give extra flexibility
at the solver level. For solvers that can support either RAS/LES at the solver level. For solvers that can support either RAS/LES
@ -188,6 +175,19 @@
+ Significant development of the libraries offering molecular dynamics + Significant development of the libraries offering molecular dynamics
simulation functionality - see =mdFoam= and =mdEquilibrationFoam= below. simulation functionality - see =mdFoam= and =mdEquilibrationFoam= below.
*** Numerics
+ *new* polynomial-fit higher-order interpolation schemes:
- =biLinearFit=
- =linearFit=
- =quadraticLinearFit=
- =quadraticFit=
- =linearPureUpwindFit=
- =quadraticLinearPureUpwindFit=
- =quadraticLinearUpwindFit=
- =quadraticUpwindFit=
- =cubicUpwindFit=
+ *new* polynomial-fit higher-order Sn-Grad: =quadraticFitSnGrad=.
*** *New* surfMesh library *** *New* surfMesh library
Provides a more efficient storage mechanism than possible with =triSurface= Provides a more efficient storage mechanism than possible with =triSurface=
without restrictions on the shape of the face (templated parameter). without restrictions on the shape of the face (templated parameter).
@ -196,112 +196,75 @@
=triSurface=). =triSurface=).
+ =surfMesh= class - for reading/writing in native OpenFOAM format. + =surfMesh= class - for reading/writing in native OpenFOAM format.
* Solver restructuring * Solvers
The upgrade to the turbulence models means that the simulation type, i.e. *** Solver restructuring
laminar, RAS or LES can be selected at run time. This has allowed a reduction The upgrade to the turbulence models means that the simulation type, i.e.
in the number of solvers, simplifying the overall code structure laminar, RAS or LES can be selected at run time. This has allowed a reduction
+ Solvers which support laminar, RAS and LES: in the number of solvers, simplifying the overall code structure
- =turbFoam=, =oodles= \rightarrow =pisoFoam=. + Solvers which support laminar, RAS and LES:
- =turbDyMFoam= \rightarrow =pimpleDyMFoam=. - =turbFoam=, =oodles= \rightarrow =pisoFoam=.
- =rhoTurbFoam=, =coodles= \rightarrow =rhoPisoFoam=. - =turbDyMFoam= \rightarrow =pimpleDyMFoam=.
- =xoodles= \rightarrow absorbed into =XiFoam=. - =rhoTurbFoam=, =coodles= \rightarrow =rhoPisoFoam=.
- =buoyantFoam=, =lesBuoyantFoam= \rightarrow =buoyantPisoFoam=. - =xoodles= \rightarrow absorbed into =XiFoam=.
- =interFoam=, =rasInterFoam=, =lesInterFoam= \rightarrow =interFoam=. - =buoyantFoam=, =lesBuoyantFoam= \rightarrow =buoyantPisoFoam=.
- =lesCavitatingFoam=, =rasCavitatingFoam= \rightarrow =cavitatingFoam=. - =interFoam=, =rasInterFoam=, =lesInterFoam= \rightarrow =interFoam=.
+ Solvers which support LES only: - =lesCavitatingFoam=, =rasCavitatingFoam= \rightarrow =cavitatingFoam=.
- =channelOodles= \rightarrow =channelFoam= (LES). + Solvers which support LES only:
- =channelOodles= \rightarrow =channelFoam= (LES).
+ =pd= replaced by static pressure =p=. All solvers in which buoyancy affects
might be strong have been converted from using =pd= to =p= with improved
numerics to give equally good accuracy and stability. This change is
prompted by the need to remove the confusion surrounding the meaning and
purpose of =pd=.
+ =g= (acceleration due to gravity) is now a *new*
=uniformDimensionedVectorField= which has the behaviour of a field, is
registered to an =objectRegistry=, but stores only a single value. Thus
=g= and other =UniformDimensionedFields= can be created and looked-up
elsewhere in the code, /e.g./ in =fvPatchFields=.
* General changes *** Solver control improvements
+ =pd= replaced by static pressure =p=. All solvers in which buoyancy affects Now uses consistent dictionary entries for the solver controls.
might be strong have been converted from using =pd= to =p= with improved + This Allows dictionary substitutions and regular expressions in
numerics to give equally good accuracy and stability. This change is /system/fvSolution/.
prompted by the need to remove the confusion surrounding the meaning and + The old solver control syntax is still supported (warning emitted), but
purpose of =pd=. the *new* =foamUpgradeFvSolution= utility can be used to convert
/system/fvSolution/ to the new format.
+ =g= (acceleration due to gravity) is now a *new* *** *New* Solvers
=uniformDimensionedVectorField= which has the behaviour of a field, is + =buoyantBoussinesqSimpleFoam= Steady state heat transfer solver using a
registered to an =objectRegistry=, but stores only a single value. Thus Boussinesq approximation for buoyancy, with laminar, RAS or LES turbulence
=g= and other =UniformDimensionedFields= can be created and looked-up modelling.
elsewhere in the code, /e.g./ in =fvPatchFields=. + =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 simulations, 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.
** Solver control improvements *** Updated solvers
Use dictionary entries instead of an =Istream= for the solver controls. + =mdFoam= Molecular Dynamics (MD) solver able to simulate a mixture of an
+ This Allows dictionary substitutions and regular expressions in arbitrary number of mono-atomic and small, rigid polyatomic (i.e. H2O, N2)
/system/fvSolution/. molecular species, with 6 degree of freedom motion, in complex geometries. A
+ The old solver control syntax is still supported (warning emitted), but molecule of any species can be built by specifying its sites of mass and
the *new* =foamUpgradeFvSolution= utility can be used to convert charge. All molecules interact with short-range dispersion forces and
/system/fvSolution/ to the new format. pairwise electrostatic interactions using methods described in: Fennell and
Gezelter, J. Chem. Phys. 124, 234104 (2006).
* Tutorial restructuring + =mdEquilibrationFoam= Similar to mdFoam, but employs velocity scaling to
to reflect solver application structure. adjust the simulation temperature to a target value. Useful to equilibrate a
case before simulation.
* *New* Solvers + =chtMultiRegionFoam= New boundary condition allows independent decomposition
+ =buoyantBoussinesqSimpleFoam= Steady state heat transfer solver using a of coupled regions without any constraint on the decomposition.
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 simulations, 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.
+ =chtMultiRegionFoam= New boundary condition allows independent decomposition
of coupled regions without any constraint on the decomposition.
* Post-processing
+ Sampling on iso-surfaces, interpolated or non-interpolated.
+ Sampling on surface defined by distance to surface (=distanceSurface=).
+ Cutting planes for arbitrary meshes.
+ Output to any surface geometry format supported by the =surfMesh= library.
*** Function objects
***** Improvements for function objects and time-looping
+ The =functionObjectList= retains the order of the =functionObject=
order, which allows a chaining of operations. It is thus internally more
efficient when /system/controlDict/ uses =functions {..}= instead of
=functions (..)=, but both forms are supported.
+ The =functionObject= now has an additional =end()= method that is called
when =Time::loop()= or =Time::run()= determine that the time-loop exits.
Accordingly, one of these two idioms should be used in solver code:
1. =while (runTime.loop() { ... }=,
2. =while (runTime.run()) { runTime++; ... }=.
+ *New* =functionObjectList= now tracks the SHA1 message digest of the
sub-directories. This avoids reloading a =functionObject= when
something unrelated in /system/controlDict/ changed.
***** *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 * Boundary conditions
+ Improved set of direct mapped boundary conditions. + Improved set of direct mapped boundary conditions.
@ -356,6 +319,41 @@
Only creates (and removes) /.OpenFOAM/ files if they didn't already Only creates (and removes) /.OpenFOAM/ files if they didn't already
exist, which is useful in connection with the =-touch= option. exist, which is useful in connection with the =-touch= option.
* Post-processing
+ Sampling on iso-surfaces, interpolated or non-interpolated.
+ Sampling on surface defined by distance to surface (=distanceSurface=).
+ Cutting planes for arbitrary meshes.
+ Output to any surface geometry format supported by the =surfMesh= library.
*** Function objects
***** Improvements for function objects and time-looping
+ The =functionObjectList= retains the order of the =functionObject=
order, which allows a chaining of operations. It is thus internally more
efficient when /system/controlDict/ uses =functions {..}= instead of
=functions (..)=, but both forms are supported.
+ The =functionObject= now has an additional =end()= method that is called
when =Time::loop()= or =Time::run()= determine that the time-loop exits.
Accordingly, one of these two idioms should be used in solver code:
1. =while (runTime.loop() { ... }=,
2. =while (runTime.run()) { runTime++; ... }=.
+ *New* =functionObjectList= now tracks the SHA1 message digest of the
sub-directories. This avoids reloading a =functionObject= when
something unrelated in /system/controlDict/ changed.
***** *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=.
* Tutorial restructuring
to reflect solver application structure.
* Third-party Software * Third-party Software
+ =gcc= upgraded to version 4.3.3. + =gcc= upgraded to version 4.3.3.
+ =OpenMPI= upgraded to version 1.3.3. + =OpenMPI= upgraded to version 1.3.3.