- Nov 26, 2021
-
-
Mark OLESEN authored
- similar idea to swak timelines/lookuptables but combined together and based on Function1 for more flexibility. Specified as 'functions<scalar>' or 'functions<vector>'. For example, functions<scalar> { intakeType table ((0 0) (10 1.2)); p_inlet { type sine; frequency 3000; scale 50; level 101325; } } These can be referenced in the expressions as a nullary function or a unary function. Within the parser, the names are prefixed with "fn:" (function). It is thus possible to define "fn:sin()" that is different than the builtin "sin()" function. * A nullary call uses time value - Eg, fn:p_inlet() * A unary call acts as a remapper function. - Eg, fn:intakeType(6.25)
-
Mark OLESEN authored
- previously simply reused the scan token, which works fine for non-nested tokenizations but becomes too fragile with nesting. Now changed to use tagged unions that can be copied about and still retain some rudimentary knowledge of their types, which can be manually triggered with a destroy() call. - provide an 'identifier' non-terminal as an additional catch to avoid potential leakage on parsing failure. - adjust lemon rules and infrastructure: - use %token to predefine standard tokens. Will reduce some noise on the generated headers by retaining the order on the initial token names. - Define BIT_NOT, internal token rename NOT -> LNOT - handle non-terminal vector values. Support vector::x, vector::y and vector::z constants - permit fieldExpr access to time(). Probably not usable or useful for an '#eval' expression, but useful for a Function1. - provisioning for hooks into function calls. Establishes token names for next commit(s).
-
Mark OLESEN authored
Function1 objectRegistry access See merge request !499
-
Returns a 0/1 value corresponding to function object trigger levels. Usage: \verbatim <entryName> functionObjectTrigger; <entryName>Coeffs { triggers (1 3 5); defaultValue false; // Default when no triggers activated } \endverbatim ENH: add reset() method for Constant Function1 ENH: allow forced change of trigger index - the triggers are normally increase only, but can now override this optionally
-
-
Description Function1 wrapper that maps the input value prior to it being used by another Function1. Example usage for limiting a polynomial: \verbatim <entryName> { type inputValueMapper; mode minMax; min 0.4; max 1.4; value polynomial ( (5 1) (-2 2) (-2 3) (1 4) ); } \endverbatim Here the return value will be: - poly(0.4) for x <= 0.4; - poly(1.4) for x >= 1.4; and - poly(x) for 0.4 < x < 1.4. Example usage for supplying a patch mass flux for a table lookup: \verbatim <entryName> { type inputValueMapper; mode function; function { type functionObjectValue; functionObject surfaceFieldValue1; functionObjectResult sum(outlet,phi); } value { type table; file "<system>/fanCurve.txt"; } } \endverbatim Where: \table Property | Description | Required mode | Mapping mode (see below) | yes function | Mapping Function1 | no* min | Minimum input value | no* max | Maximum input value | no* value | Function of type Function1<Type> | yes \endtable Mapping modes include - none : the input value is simply passed to the 'value' Function1 - function : the input value is passed through the 'function' Function1 before being passed to the 'value' Function1 - minMax : limits the input value to 'min' and 'max' values before being passed to the 'value' Function1 Note Replaces the LimitRange Function1 (v2106 and earlier)
-
-
-
-
-
-
-
- extend handling of uniform PatchFunction1 to include new Function1 types and pass through the objectRegistry information
-
-
-
Returns a value retrieved from a function object result. Usage: <entryName> functionObjectValue; <entryName>Coeffs { functionObject <name>; functionObjectResult <function object result field name> }
-
Note: previous behaviour to set the reference to a cell value can be recovered by using the new 'sample' Function1
-
-
Function1 can now be created with an object registry, e.g. time or mesh database. This enables access to other stored objects, e.g. fields, dictionaries etc. making Function1 much more flexible. Note: will allow TimeFunction1 to be deprecated
-
- created new functionObjects::properties class derived from IOdictionary - replaces raw state IOdictionary owned by functionObjectList - state dictionary access/manipulators moved from stateFunctionObject - stateFunctionObject now acts as a light wrapper around functionObjecties::properties - updated dependent code
-
-
- Nov 25, 2021
-
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- more closely reflect what the binaries report - report the installation path - change PS1 case/separator to roughly correspond to package names STYLE: adjust README to mention upcoming v2112
-
Mark OLESEN authored
- use `#word` to concatenate, expand content with the resulting string being treated as a word token. Can be used in dictionary or primitive context. In dictionary context, it fills the gap for constructing dictionary names on-the-fly. For example, ``` #word "some_prefix_solverInfo_${application}" { type solverInfo; libs (utilityFunctionObjects); ... } ``` The '#word' directive will automatically squeeze out non-word characters. In the block content form, it will also strip out comments. This means that this type of content should also work: ``` #word { some_prefix_solverInfo /* Appended with application name (if defined) */ ${application:+_} // Use '_' separator ${application} // The application } { type solverInfo; libs (utilityFunctionObjects); ... } ``` This is admittedly quite ugly, but illustrates its capabilities. - use `#message` to report expanded string content to stderr. For example, ``` T { solver PBiCG; preconditioner DILU; tolerance 1e-10; relTol 0; #message "using solver: $solver" } ``` Only reports on the master node.
-
Mark OLESEN authored
- when using a vector field for weighting, it either used mag() or mag * area, but did not have a unit-normal projection version
-
- Nov 24, 2021
-
-
sergio authored
humidityTemperature BC
-
Andrew Heather authored
ENH: New suite for electrostatic deposition applications See merge request !496
-
-
-
-
- Nov 23, 2021
-
-
Mark OLESEN authored
- needed for future embedding
-
Mark OLESEN authored
- use FACE_DATA (was SURFACE_DATA) for similarity with polySurface ENH: add expression value enumerations and traits - simple enumeration of standard types (bool, label, scalar, vector) that can be used as a value type-code for internal bookkeeping. GIT: relocate pTraits into general traits/ directory
-
Mark OLESEN authored
-
- Nov 22, 2021
- Nov 17, 2021
-
-
Mark OLESEN authored
- add missing time() into pointMesh STYLE: use static_cast instead of dynamic_cast for Time -> objectRegistry
-
Andrew Heather authored
ENH: report dictionary defaults with Executable prefix See merge request !498
-
Mark OLESEN authored
- provides better context when default values are accessed from a dictionary than reporting a source file location.
-
Mark OLESEN authored
STYLE: adjust param/return for internal readStream method
-