- Dec 03, 2021
-
-
Mark OLESEN authored
- update coded templates with qualified names GIT: add in missing PatchFunction1 constant() method - was missed in a previous commit
-
Mark OLESEN authored
- specify any of these ./Allwmake -build-root=... wmake -build-root=... FOAM_BUILDROOT=... wmake these specify an alternative root where build artifacts are to land. Currently only used as an alternative for the 'build/' hierarchy since the 'platforms/' target normally includes inputs as well. Possible use: ``` ( export WM_MPLIB="%{foam_mplib}" export FOAM_MPI="%{foam_mpi}" export MPI_ARCH_PATH="%{mpi_prefix}" export FOAM_BUILDROOT=/tmp/mpibuild export FOAM_MPI_LIBBIN="$FOAM_BUILDROOT/platforms/$WM_OPTIONS/lib/$FOAM_MPI" src/Pstream/Allwmake-mpi ) ```
-
Mark OLESEN authored
- exposed by the new embedded function handling. Requires local copies of dictionary content instead (similar to coded BCs handling) BUG: incorrect formatting for expression function output ENH: simpler copyDict version taking wordList instead of wordRes - corresponds to the most common use case at the moment ENH: expression string writeEntry method - write as verbatim for better readability
-
Mark OLESEN authored
- extendes the prefix syntax to handle '!' values. For example, "(?!).*processor.*" or "(?!i)inlet.*"
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- this revises the changes made in 95cd8ee7 to replace the SFINAE-type of handling of string hashes with direct definitions. This places a bit more burden on the developer if creating hashable classes derived from std::string or variants of Foam::string, but improves reliability when linking. STYLE: drop template key defaulting from HashSet - this was never used and `HashSet<>` is much less transparent than writing `HashSet<word>` or `wordHashSet`
-
- Generic thermophysical properties class for a liquid in which the functions and coefficients for each property are run-time selected. Code adapted from openfoam.org
-
Mark OLESEN authored
STYLE: hostName() is short name, don't need parameter
-
Mark OLESEN authored
- had lookups into the merge-point map instead of determining/remapping the duplicate points directly. The result was a jumble of face/point addressing. STYLE: additional debug/verbosity comment for mergePoints
-
Mark OLESEN authored
CONFIG: cleanup additional build-related env variables
-
Mark OLESEN authored
- Function1, sampledSets, expressions, runTime selection tables
-
Mark OLESEN authored
-
Mark OLESEN authored
- marks if the value is considered to be independent of 'x'. Propagate into PatchFunction1 instead ad hoc checks there. - adjust method name in PatchFunction1 to 'whichDb()' to reflect final changes in Function1 method names. ENH: add a Function1 'none' placeholder function - This is principally useful for interfaces that expect a Function1 but where it is not necessarily used by a particular submodel. TUT: update Function1 creation to use objectRegistry
-
Andrew Heather authored
-
Andrew Heather authored
-
Andrew Heather authored
Note - this resolves the reported dimensions error, but it is not clear if this code (has ever?) run or if this change is appropriate...
-
Andrew Heather authored
-
Andrew Heather authored
-
- Dec 02, 2021
-
-
Sergio Ferraris authored
ENH: coupling BC: allow Function1. Fixes #2277. See merge request !507
-
-
- Nov 29, 2021
-
-
mattijs authored
Problem was extending the storage, copying the original contents.
-
- Nov 26, 2021
-
-
Andrew Heather authored
Updates for expressions to improve robustness and support functions, external context etc. See merge request !501
-
Mark OLESEN authored
- allows an additional HashTable of pointers to reference external content which not otherwise directly available via an objectRegistry. This could typically be used to provide a function-local "rho" to the expression evaluation.
-
Mark OLESEN authored
- for cell quantities, these evaluate on the faceCells associated with that patch to produce a field of true/false values - for face quantities, these simply correspond to the mesh faces associated with that patch to produce a field of true/false values
-
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; functionOb...
-
-
-
-
-
-
-
- extend handling of uniform PatchFunction1 to include new Function1 types and pass through the objectRegistry information
-
-