- Jan 25, 2019
-
-
Mark OLESEN authored
- in the previous version, a specification such as (U "U.*") would have selected the field name twice for writing
-
- Oct 18, 2018
-
-
Mark OLESEN authored
- more dictionary-like methods, enforce keyType::LITERAL for all lookups to avoid any spurious keyword matching. - new readEntry, readIfPresent methods - The get() method replaces the now deprecate lookup() method. - Deprecate lookupOrFailsafe() Failsafe behaviour is now an optional parameter for lookupOrDefault, which makes it easier to tailor behaviour at runtime. - output of the names is now always flatted without line-breaks. Thus, os << flatOutput(someEnumNames.names()) << nl; os << someEnumNames << nl; both generate the same output. - Constructor now uses C-string (const char*) directly instead of Foam::word in its initializer_list. - Remove special enum + initializer_list constructor form since it can create unbounded lookup indices. - Removd old hasEnum, hasName forms that were provided during initial transition from NamedEnum. - Added static_assert on Enum contents to restrict to enum or integral values. Should not likely be using this class to enumerate other things since it internally uses an 'int' for its values. Changed volumeType accordingly to enumerate on its type (enum), not the class itself.
-
- Aug 03, 2018
-
-
Mark OLESEN authored
Style changes: - use lookupObjectRef instead of using const_cast - use tmp::New factory
-
- Feb 21, 2018
-
-
Mark OLESEN authored
- this permits direct storage of a list with additional matcher capabilities - provide wordRes::matcher class for similar behaviour as previously
-
- Jul 03, 2017
-
-
Mark OLESEN authored
-
- May 29, 2017
-
-
Mark OLESEN authored
- Remove the unused enums() method since it delivers wholly unreliable results. It is not guaranteed to cover the full enumeration range, but only the listed names. - Remove the unused strings() method. Duplicated functionality of the words(), but was never used. - Change access of words() method from static to object. Better code isolation. Permits the constructor to take over as the single point of failure for bad input. - Add values() method - do not expose internal (HashTable) lookup since it makes it more difficult to enforce constness and the implementation detail should not be exposed. However leave toc() and sortedToc() for the interface. STYLE: relocated NamedEnum under primitives (was containers) - internal typedef as 'value_type' for some consistency with STL conventions
-
- Dec 09, 2016
-
-
Henry Weller authored
defined by functionObjects, e.g. wallHeatFlux, wallShearStress and yPlus. Patch contributed by Bruno Santos Resolves bug-report http://bugs.openfoam.org/view.php?id=2353
-
- Sep 30, 2016
-
-
Andrew Heather authored
Note: should be using the result of the parent::read(dict) when deciding whether to read local entries...
-
- Aug 18, 2016
-
-
Henry Weller authored
Resolves compilation failure with clang
-
- Aug 17, 2016
-
-
Henry Weller authored
Patch contributed by Bruno Santos Resolves bug-report http://bugs.openfoam.org/view.php?id=2090
-
- Aug 16, 2016
-
-
Henry Weller authored
Description Allows specification of different writing frequency of objects registered to the database. It has similar functionality as the main time database through the \c writeControl setting: - timeStep - writeTime - adjustableRunTime - runTime - clockTime - cpuTime It also has the ability to write the selected objects that were defined with the respective write mode for the requested \c writeOption, namely: - \c autoWrite - objects set to write at output time - \c noWrite - objects set to not write by default - \c anyWrite - any option of the previous two Example of function object specification: \verbatim writeObjects1 { type writeObjects; libs ("libutilityFunctionObjects.so"); ... objects (obj1 obj2); writeOption anyWrite; } \endverbatim Patch contributed by Bruno Santos Resolves bug-report http://bugs.openfoam.org/view.php?id=2090
-
- Jun 13, 2016
-
-
Henry Weller authored
Replaced the 'postProcess' argument to the 'write' and 'execute' functions with the single static member 'postProcess' in the functionObject base-class.
-
- Jun 10, 2016
-
-
Henry Weller authored
Added configuration file etc/caseDicts/postProcessing/fields/writeObjects
-
- Jun 09, 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
functionObjects, foamCalcFunctions, fvOptions: Standardized keywords for selecting fields and objects Generally fields and objects are selected using the 'field[s]' and 'object[s]' keywords but this was not consistent between all functionObject, fvOptions etc. and now fixed by applying the following renaming: fieldName -> field fieldNames -> fields objectName -> object objectNames -> objects
-
- May 17, 2016
-
-
Henry Weller authored
-
- 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 11, 2016
-
-
Henry Weller authored
Construction failure and recovery is not handled with exceptions in functionObjectList
-
- May 03, 2016
-
-
Henry Weller authored
-
- May 02, 2016
-
-
Henry Weller authored
functionObjects: Moved into the functionObjects namespace and rationalized and simplified failable construction Rather than requiring each functionObject to handle failed construction internally (using the active_ flag) the static member function "viable" is provided which returns true if construction of the functionObject is likely to be successful. Failed construction is then handled by the wrapper-class which constructs the functionObject, e.g. "OutputFilterFunctionObject".
-
- May 01, 2016
-
-
Henry Weller authored
-
- Nov 25, 2015
-
-
Andrew Heather authored
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
-
- Nov 11, 2015
-
-
Henry Weller authored
Avoids the clutter and maintenance effort associated with providing the function signature string.
-
- Oct 11, 2013
-
-
andy authored
-
- Oct 04, 2013
-
-
andy authored
-
- Sep 12, 2013
-
-
mattijs authored
-
- Sep 09, 2013
-
-
Sergio Ferraris authored
Time::adjustDeltaT(). It allows function objects to manipulate the time step to dump at adjustable times. The following options are available for output in function objects: timeStep, outputTime, adjustableTime, runTime, clockTime and cpuTime.
-
- Aug 14, 2013
-
-
andy authored
-
- Jun 07, 2013
-
-
Sergio Ferraris authored
end of Time::operator++. This allows to know if the next timeIndex will be a dumping time. The function object "partialWrite" modifyes the write option of the those fields which will be written down at given intervals of the overall outout times.
-
- Dec 17, 2012
-
-
mattijs authored
-
- Mar 05, 2012
- Aug 14, 2011
-
-
Henry authored
-
- May 20, 2011
-
-
mattijs authored
-
- May 11, 2011
-
-
andy authored
-
- Jan 19, 2011
-
- Jan 14, 2011
-
-
Andrew Heather authored
-
- Jan 07, 2011
-
-
graham authored
-
- Jan 05, 2011
-
-
Andrew Heather authored
This reverts commit b18f6cc1.
-