- moved control to functionObject (from bc)
- this allows multi-region support
- see heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater tut
- generalisation of streamed reading/writing of specialised bcs
Updated objects
- corrected Peclet number for compressible cases
- propagated log flag and resultName across objects
New function objects
- new fluxSummary:
- calculates positive, negative, absolute and net flux across face
zones
- new runTimeControl
- abort the calculation when a user-defined metric is achieved.
Available options include:
- average value remains unchanged wrt a given threshold
- equation initial residual exceeds a threshold - useful to abort
diverging cases
- equation max iterations exceeds a threshold - useful to abort
diverging cases
- min/max of a function object value
- min time step exceeds a threshold - useful to abort diverging
cases
- new valueAverage:
- average singular values from other function objects, e.g. Cd, Cl and
Cm from the forceCoeffs function object
- redistributePar to have almost (complete) functionality of decomposePar+reconstructPar
- low-level distributed Field mapping
- support for mapping surfaceFields (including flipping faces)
- support for decomposing/reconstructing refinement data
- Allows generation of images (currently PNG files) during the run
- ... or afterwards by invoking the execFlowFunctionObjects utility
- Wrapper around VTK functionality
- Support for objects:
- text
- points (glyphs: sphere, arrow)
- lines (tubes)
- surfaces (wireframe, shaded, combination)
- Colour using:
- user-defined
- field values (several colour maps availale)
- For image sequences:
- dynamic views (camera movement)
- objects can appear/disappear using opacity
- Building
- VTK dependency v6+
- satisfied using ParaView from ThirdParty directory
- or separate VTK installation
Properties stored in state dictionary:
- Moment coefficient: Cm
- Drag coefficient: Cd
- Lift coefficient: Cl
- Front lift coefficient: Cl(f)
- Rear lift coefficient: Cl(r)
Properties stored in state dictionary:
- minimum value: min<identifier>
- position of minimum value: min<identifier>_position
- processor ID of minimum value: min<identifier>_processor
- maximum value: max<identifier>
- position of maximum value: max<identifier>_position
- processor ID of maximum value: max<identifier>_processor
functionObjects only get detroyed when the runTime gets destroyed. So the
mesh is already destroyed and we cannot hold e.g. a volScalarField since
that will try to 'checkOut' from the objectRegistry(=mesh) upon destruction.
Note that we only see this in chtMultiRegionFoam.
This had been used in functionObjects:
Info(log)<< "messages" << data << ....
in which it is not at all clear what the "log" argument does whereas
if (log) Info<< "messages" << data << ....
is totally clear and more efficient.
Previous behavior which may be useful for moving-mesh cases can be
selected using the optional entry:
writeVolume yes;
The initial volume is written in the log and data file header e.g.:
# Source : all
# Cells : 3829
# Volume : 9.943164e-01
Also added
sumMag | sum of component magnitudes