- Jun 28, 2023
-
-
Andrew Heather authored
-
- Dec 21, 2022
-
-
Andrew Heather authored
-
- Jul 08, 2022
-
-
Mark OLESEN authored
- barycentric coordinates in interpolation (instead of x/y/z) - ease U (velocity) requirement. Needn't be named in the sampled fields. - default tracking direction is 'forward'
-
- Jun 24, 2022
-
-
Andrew Heather authored
-
- Jan 20, 2022
-
-
Mark OLESEN authored
-
- Dec 20, 2021
-
-
Andrew Heather authored
-
- Jun 28, 2021
-
-
Andrew Heather authored
Minor clean-up
-
- Dec 23, 2020
- Jun 29, 2020
-
-
Andrew Heather authored
-
- Jun 08, 2020
-
-
ENH: update libs of etc/caseDicts/postProcess items ENH: ensure destructor=default ENH: ensure constness ENH: ensure no 'copy construct' and 'no copy assignment' exist TUT: add examples of function objects with full set of settings into a TUT if unavailable TUT: update pisoFoam/RAS/cavity tutorial in terms of usage
-
- Dec 23, 2019
-
-
Andrew Heather authored
-
- Aug 30, 2019
-
-
OpenFOAM bot authored
-
- Jun 25, 2019
-
-
Andrew Heather authored
-
- Dec 19, 2018
-
-
Andrew Heather authored
-
- Jun 28, 2018
-
-
Andrew Heather authored
-
- Apr 20, 2017
-
-
Henry Weller authored
except turbulence and lagrangian which will also be updated shortly. For example in the nonNewtonianIcoFoam offsetCylinder tutorial the viscosity model coefficients may be specified in the corresponding "<type>Coeffs" sub-dictionary: transportModel CrossPowerLaw; CrossPowerLawCoeffs { nu0 [0 2 -1 0 0 0 0] 0.01; nuInf [0 2 -1 0 0 0 0] 10; m [0 0 1 0 0 0 0] 0.4; n [0 0 0 0 0 0 0] 3; } BirdCarreauCoeffs { nu0 [0 2 -1 0 0 0 0] 1e-06; nuInf [0 2 -1 0 0 0 0] 1e-06; k [0 0 1 0 0 0 0] 0; n [0 0 0 0 0 0 0] 1; } which allows a quick change between models, or using the simpler transportModel CrossPowerLaw; nu0 [0 2 -1 0 0 0 0] 0.01; nuInf [0 2 -1 0 0 0 0] 10; m [0 0 1 0 0 0 0] 0.4; n [0 0 0 0 0 0 0] 3; if quick switching between models is not required. To support this more convenient parameter specification the inconsistent specification of seedSampleSet in the streamLine and wallBoundedStreamLine functionObjects had to be corrected from // Seeding method. seedSampleSet uniform; //cloud; //triSurfaceMeshPointSet; uniformCoeffs { type uniform; axis x; //distance; // Note: tracks slightly offset so as not to be on a face start (-1.001 -0.05 0.0011); end (-1.001 -0.05 1.0011); nPoints 20; } to the simpler // Seeding method. seedSampleSet { type uniform; axis x; //distance; // Note: tracks slightly offset so as not to be on a face start (-1.001 -0.05 0.0011); end (-1.001 -0.05 1.0011); nPoints 20; } which also support the "<type>Coeffs" form // Seeding method. seedSampleSet { type uniform; uniformCoeffs { axis x; //distance; // Note: tracks slightly offset so as not to be on a face start (-1.001 -0.05 0.0011); end (-1.001 -0.05 1.0011); nPoints 20; } }
-
- Nov 22, 2016
-
-
Andrew Heather authored
-
- Jun 29, 2016
-
-
Henry Weller authored
-
- Jun 13, 2016
-
-
Henry Weller authored
-
- May 28, 2016
-
-
Henry Weller authored
with the more general and flexible 'postProcess' utility and '-postProcess' solver option Rationale --------- Both the 'postProcess' utility and '-postProcess' solver option use the same extensive set of functionObjects available for data-processing during the run avoiding the substantial code duplication necessary for the 'foamCalc' and 'postCalc' utilities and simplifying maintenance. Additionally consistency is guaranteed between solver data processing and post-processing. The functionObjects have been substantially re-written and generalized to simplify development and encourage contribution. Configuration ------------- An extensive set of simple functionObject configuration files are provided in OpenFOAM-dev/etc/caseDicts/postProcessing and more will be added in the future. These can either be copied into '<case>/system' directory and included into the 'controlDict.functions' sub-dictionary or included directly from 'etc/caseDicts/postProcessing' using the '#includeEtc' directive or the new and more convenient '#includeFunc' directive which searches the '<etc>/caseDicts/postProcessing' directories for the selected functionObject, e.g. functions { #includeFunc Q #includeFunc Lambda2 } '#includeFunc' first searches the '<case>/system' directory in case there is a local configuration. Description of #includeFunc --------------------------- Specify a functionObject dictionary file to include, expects the functionObject name to follow (without quotes). Search for functionObject dictionary file in user/group/shipped directories. The search scheme allows for version-specific and version-independent files using the following hierarchy: - \b user settings: - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing - ~/.OpenFOAM/caseDicts/postProcessing - \b group (site) settings (when $WM_PROJECT_SITE is set): - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing - $WM_PROJECT_SITE/caseDicts/postProcessing - \b group (site) settings (when $WM_PROJECT_SITE is not set): - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing - \b other (shipped) settings: - $WM_PROJECT_DIR/etc/caseDicts/postProcessing An example of the \c \#includeFunc directive: \verbatim #includeFunc <funcName> \endverbatim postProcess ----------- The 'postProcess' utility and '-postProcess' solver option provide the same set of controls to execute functionObjects after the run either by reading a specified set of fields to process in the case of 'postProcess' or by reading all fields and models required to start the run in the case of '-postProcess' for each selected time: postProcess -help Usage: postProcess [OPTIONS] options: -case <dir> specify alternate case directory, default is the cwd -constant include the 'constant/' dir in the times list -dict <file> read control dictionary from specified location -field <name> specify the name of the field to be processed, e.g. U -fields <list> specify a list of fields to be processed, e.g. '(U T p)' - regular expressions not currently supported -func <name> specify the name of the functionObject to execute, e.g. Q -funcs <list> specify the names of the functionObjects to execute, e.g. '(Q div(U))' -latestTime select the latest time -newTimes select the new times -noFunctionObjects do not execute functionObjects -noZero exclude the '0/' dir from the times list, has precedence over the -withZero option -parallel run in parallel -region <name> specify alternative mesh region -roots <(dir1 .. dirN)> slave root directories for distributed running -time <ranges> comma-separated time ranges - eg, ':10,20,40:70,1000:' -srcDoc display source code in browser -doc display application documentation in browser -help print the usage pimpleFoam -postProcess -help Usage: pimpleFoam [OPTIONS] options: -case <dir> specify alternate case directory, default is the cwd -constant include the 'constant/' dir in the times list -dict <file> read control dictionary from specified location -field <name> specify the name of the field to be processed, e.g. U -fields <list> specify a list of fields to be processed, e.g. '(U T p)' - regular expressions not currently supported -func <name> specify the name of the functionObject to execute, e.g. Q -funcs <list> specify the names of the functionObjects to execute, e.g. '(Q div(U))' -latestTime select the latest time -newTimes select the new times -noFunctionObjects do not execute functionObjects -noZero exclude the '0/' dir from the times list, has precedence over the -withZero option -parallel run in parallel -postProcess Execute functionObjects only -region <name> specify alternative mesh region -roots <(dir1 .. dirN)> slave root directories for distributed running -time <ranges> comma-separated time ranges - eg, ':10,20,40:70,1000:' -srcDoc display source code in browser -doc display application documentation in browser -help print the usage The functionObjects to execute may be specified on the command-line using the '-func' option for a single functionObject or '-funcs' for a list, e.g. postProcess -func Q postProcess -funcs '(div(U) div(phi))' In the case of 'Q' the default field to process is 'U' which is specified in and read from the configuration file but this may be overridden thus: postProcess -func 'Q(Ua)' as is done in the example above to calculate the two forms of the divergence of the velocity field. Additional fields which the functionObjects may depend on can be specified using the '-field' or '-fields' options. The 'postProcess' utility can only be used to execute functionObjects which process fields present in the time directories. However, functionObjects which depend on fields obtained from models, e.g. properties derived from turbulence models can be executed using the '-postProcess' of the appropriate solver, e.g. pisoFoam -postProcess -func PecletNo or sonicFoam -postProcess -func MachNo In this case all required fields will have already been read so the '-field' or '-fields' options are not be needed. Henry G. Weller CFD Direct Ltd.
-
- May 21, 2016
-
-
Henry Weller authored
In most boundary conditions, fvOptions etc. required and optional fields to be looked-up from the objectRegistry are selected by setting the keyword corresponding to the standard field name in the BC etc. to the appropriate name in the objectRegistry. Usually a default is provided with sets the field name to the keyword name, e.g. in the totalPressureFvPatchScalarField the velocity is selected by setting the keyword 'U' to the appropriate name which defaults to 'U': Property | Description | Required | Default value U | velocity field name | no | U phi | flux field name | no | phi . . . However, in some BCs and functionObjects and many fvOptions another convention is used in which the field name keyword is appended by 'Name' e.g. Property | Description | Required | Default value pName | pressure field name | no | p UName | velocity field name | no | U This difference in convention is unnecessary and confusing, hinders code and dictionary reuse and complicates code maintenance. In this commit the appended 'Name' is removed from the field selection keywords standardizing OpenFOAM on the first convention above.
-
- May 16, 2016
-
-
Henry Weller authored
This changes simplifies the specification of functionObjects in controlDict and is consistent with the 'libs' option in controlDict to load special solver libraries. Support for the old 'functionObjectLibs' name is supported for backward compatibility.
-
- May 15, 2016
-
-
Henry Weller authored
- Avoids the need for the 'OutputFilterFunctionObject' wrapper - Time-control for execution and writing is now provided by the 'timeControlFunctionObject' which instantiates the processing 'functionObject' and controls its operation. - Alternative time-control functionObjects can now be written and selected at run-time without the need to compile wrapped version of EVERY existing functionObject which would have been required in the old structure. - The separation of 'execute' and 'write' functions is now formalized in the 'functionObject' base-class and all derived classes implement the two functions. - Unnecessary implementations of functions with appropriate defaults in the 'functionObject' base-class have been removed reducing clutter and simplifying implementation of new functionObjects. - The 'coded' 'functionObject' has also been updated, simplified and tested. - Further simplification is now possible by creating some general intermediate classes derived from 'functionObject'.
-
- May 12, 2016
-
-
Henry Weller authored
to have the prefix 'write' rather than 'output' So outputTime() -> writeTime() but 'outputTime()' is still supported for backward-compatibility. Also removed the redundant secondary-writing functionality from Time which has been superseded by the 'writeRegisteredObject' functionObject.
-
Henry Weller authored
functionObjects: Changed options 'outputControl' -> 'writeControl' and 'outputInterval' -> 'writeInterval' for consistency with the time controls in controlDict and to avoid unnecessary confusion. All code and tutorials have been updated. The old names 'outputControl' and 'outputInterval' are but supported for backward compatibility but deprecated.
-
- Dec 22, 2015
-
-
Andrew Heather authored
-
- Dec 09, 2015
-
-
Andrew Heather authored
-
- Dec 11, 2014
-
-
OpenFOAM-admin authored
-
- Feb 17, 2014
-
-
OpenFOAM-admin authored
-
- Jun 18, 2013
-
-
mattijs authored
-
- Feb 07, 2012