- Dec 07, 2021
-
-
Mark OLESEN authored
- fix overly aggressive match in the API value - allow `INTELMPI*` generic value, this can be used to specify something like INTELMPI_custom and populate the corresponding wmake rule manually STYLE: mention FOAM_BUILDROOT in wmake -help-full output STYLE: adjust openfoam shell session welcome information - adjust internal variable names to reduce collision potential - improve handling of openfoam -etc=...
-
- 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
CONFIG: cleanup additional build-related env variables
-
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
-
- Nov 26, 2021
-
-
- Nov 09, 2021
-
-
Mark OLESEN authored
- previously had codeAddSup used for both incompressible and compressible source terms. However, it was not actually possible to use it for compressible sources since any references to the 'rho' parameter would cause a compilation error for the incompressible case. Added 'codeAddSupRho' to distinguish the compressible case. User must supply one or both of them on input.
-
- Nov 02, 2021
-
-
Mark OLESEN authored
- for compilers such as gcc and clang, may have several different variants installed on the computer. Use WM_COMPILER_CONTROL to specify the preferred variant. Eg, WM_COMPILER=Gcc WM_COMPILER_CONTROL="version=8" will compile with "gcc-8" and "g++-8" Good practice would be to tag output directory names with the version too. Eg WM_COMPILER=Clang110 WM_COMPILER_CONTROL="version=11.0" STYLE: modify message for change of gcc -> clang (darwin)
-
-
- Oct 29, 2021
-
-
Mark OLESEN authored
- it is now possible to include the selected mpi version in the top-level bashrc or prefs.sh file. For example, WM_MPLIB=OPENMPI-4.1.1 or WM_MPLIB=openmpi-4.1.1 after evaluation of the config.sh/mpi, this will define WM_MPLIB=OPENMPI-4.1.1 and FOAM_MPI=openmpi-4.1.1 During the wmake, the mpi-rules will first load the MPI 'family' rules (OPENMPI in this example) before trying to load version-specific rules if they exist. NOTE: the regular user-defined prefs system is unaffected by this change. This means it is still possible to use a file such as 'prefs.openmpi' to define the preferred version instead or as well. However, it does mean inconsistent naming can be specified. For example, specify WM_MPLIB=OPENMPI-4.1.1 at the top-level but actually have FOAM_MPI=openmpi-4.0.6 in the prefs.openmpi file. This will make the value of WM_MPLIB misleading. CONFIG: foamConfigurePaths support for sys-openmpi major version CONFIG: cleanup any shadow env variables
-
- Oct 21, 2021
-
-
Mark OLESEN authored
- migrate to c++14 for most compilers *except* gcc. There are still many systems in use with gcc-4.8.5, which does not support c++14. - initial rules for nvidia compilers (pgi is will soon be defunct). Not fully tested... CONFIG: provide fallback value for the user directory name - in containers may have an unset USER env variable. Default to 'user' to prevent ugly looking directory names.
-
- Oct 18, 2021
-
-
Mark OLESEN authored
- simplfies differences for OSX
-
Mark OLESEN authored
- use orte-info to determine prefix/libdir for openmpi. This removes a run-time dependency on mpicc, which is actually only needed for building with MPI (not running with MPI). The corresponding openmpi devel package (deb/rpm) will not necessarily be installed on a particular system. - retain mpicc logic if the new logic using orte-info does not deliver an answer. Final fallback to using 'orterun' to infer prefix/libdir. - Additional logic for intel and msmpi to make it easier to locate these vendor packages within ThirdParty (ie, under ThirdParty/opt/...) CONFIG: improve robustness - add check for absolute path when adding PATH/LD_LIBRARY_PATH etc. - prefix more variables with '_foam*' to prevent accidental overwrite of userspace shell variables when sourcing
-
- Sep 07, 2021
-
-
Mark OLESEN authored
- previously OpenFOAM library paths were set before adding in MPI-specific elements. However, this may mask some libraries. | New library order | Old library order | |---------------------|---------------------| | user-lib (serial) | various 3rd-party | | site-lib (serial) | foam-lib (mpi) | | foam-lib (mpi) | ext-lib (mpi) | | foam-lib (serial) | system mpi-libs | | ext-lib (mpi) | user-lib (serial) | | ext-lib (serial) | site-lib (serial) | | various 3rd-party | foam-lib (serial) | | system mpi-libs | ext-lib (serial) | | dummy | dummy |
-
- Aug 02, 2021
-
-
mattijs authored
-
- Jun 28, 2021
-
-
Andrew Heather authored
-
Andrew Heather authored
-
Andrew Heather authored
Minor clean-up
-
Andrew Heather authored
-
- Jun 18, 2021
-
-
Mark OLESEN authored
- previously a function (unlike the csh version) but since bashrc and setup have been split -> replace with inline definition STYLE: formatting/wording for openfoam starters TUT: simplify controlDict modification, add default substitution ENH: accept '/' for end-of-options terminator (etc/openfoam) - makes the application or service more apparent. * eg. /usr/bin/openfoam / blockMesh * vs. /usr/bin/openfoam -- blockMesh Accept lone '-' as the end-of-options terminator, as per bash - Adjust handling of openfoam '-c' option to flag that a command-string will appear, but continue with option parsing. Consistent with bash definition.
-
Mark OLESEN authored
- adjust commented-out evaluation to avoid warnings. With code like this ``` #if 0 nxin #eval{ round($nxin / 5) }; #endif ``` The handling of the "#if 0 / #endif" clause uses the plain ISstream parser to tokenize. This means that the "round(" is parsed as a word with a mismatched closing ')', whereas the "#eval" parser will slurp everything in until the closing brace and send it off as a string to the expression parser.
-
- Jun 16, 2021
-
-
Computes a selected operation between multiple \c fieldValue function objects. The operation is applied to all results of each \c fieldValue object. Note Each object must generate the same number and type of results. Usage Minimal example by using \c system/controlDict.functions: multiFieldValue1 { // Mandatory entries (unmodifiable) type multiFieldValue; libs (fieldFunctionObjects); // Mandatory entries (runtime modifiable) operation subtract; // List of fieldValue function objects as dictionaries functions { region1 { ... } region2 { ... } ... regionN { ... } } // Optional (inherited) entries ... } where the entries mean: Property | Description | Type | Req'd | Dflt type | Type name: multiFieldValue | word | yes | - libs | Library name: fieldFunctionObjects | word | yes | - operation | Operation type to apply to values | word | yes | - functions | List of fieldValue function objects | dict | yes | - \endtable Options for the \c operation entry: add | add subtract | subtract min | minimum max | maximum average | average Deprecated fieldValueDelta - The fieldValueDelta function object was originally written to compute the difference between two fieldValue-type function objects. The multiFieldValue object name better describes its purpose whilst being able to operate on an arbitrary number of fieldValue-type objects.
-
- Jun 14, 2021
-
-
Mark OLESEN authored
TUT: add missing restore0Dir (finiteArea) STYLE: doc spelling
-
- Jun 11, 2021
-
-
CONFIG: update completion_cache
-
- Jun 10, 2021
-
-
Mark OLESEN authored
- additional -serial/-parallel option: prefer Allrun-serial or Allrun-parallel if available - optional -output=DIR to preserve output ENH: report missing tutorials/ directory in RunFunctions
-
- Jun 07, 2021
-
-
Mark OLESEN authored
- in some cases, additional dictionary inputs are useful for extending the input parameters or functionality of dynamic coded conditions. Typically this can be used to provide a simple set of dictionary inputs that are used to drive specific code, but allows changing the inputs without causing a recompilation. Accessed with this type of code: ``` const dictionary& dict = this->codeContext(); ``` boundary conditions and function objects: * specify an additional codeContext dictionary entry: ``` codeContext { ... } ``` PatchFunction1: * The code context dictionary is simply the dictionary used to specify the PatchFunction1 coefficients. To replicated persistant data, use local member static data. Eg, ``` code #{ // Persistent (Member) Data static autoPtr<Function1<scalar>> baseVel; static autoPtr<Function1<vector>> baseDir; ... #} ``` fvOptions: * currently not applicable
-
Mark OLESEN authored
- meshTools include/library for many (most) coded items - add PatchFunction1 include for coded BCs to provide ready access to Function1 and PatchFunction1
-
- May 19, 2021
-
-
Mark OLESEN authored
-
- May 13, 2021
-
-
Mark OLESEN authored
- use common base for handling scheme lookups. Extended to support local injection of schemes into the dictionaries during runtime.
-
- Apr 23, 2021
-
-
Mark OLESEN authored
- largely as per patch from Jong-Gwan (Jason) Do NB: the intel-one setup adds in paths for intelmpi. Its mpicc version does not harmonize with the OpenFOAM system openmpi setup (using mpicc --showme:link). Needs adjustment, or use intelmpi instead. - update name mappings for newer gcc, clang versions
-
- Apr 19, 2021
-
-
CONFIG: bad csh syntax
-
- Mar 31, 2021
-
-
mattijs authored
It was only looking for faces that were used in both endpoints but not actually checking whether they were indeed an edge (== consecutive vertex) in all faces. So if one face had an additional crossing edge and another didn't it would find more edgeFaces than the proper 'primitiveMesh::edgeFaces()' routine. This occasionally happened inside snappyHexMesh (e.g. motorBike tutorial)
-
- Mar 29, 2021
-
-
Mark OLESEN authored
-
- previously had a very old (likely irrelevant) setting for solaris systems only. - support site-specific customization. Eg, using etc/config.{csh,sh}/prefs.fjmpi - remove erroneous shell redirects present in cshell files
-
- Mar 22, 2021
-
-
mattijs authored
-
Mark OLESEN authored
- if the system/decomposeParDict is missing, skip check for matching number of processor dirs. This can make job dispatch easier. Does not apply if -decomposeParDict was explicitly specified. STYLE: adjust naming of host/slaves in argList
-
- Mar 17, 2021
-
-
Mark OLESEN authored
- can use either command-line option "-load-fields" or dictionary entry "readFields" to specify field names to be preloaded. Essentially the same functionality as with a readFields function object but with a lot less typing. - tutorial examples provided by Ryan Danks <ryan.danks@rwdi.com> illustrate using setExpr* utilities to calculate a quantity as a post-processing step.
-
- Feb 16, 2021
-
-
Mark OLESEN authored
- location and naming more consistent with other controls old: DebugSwitch 'level' new: InfoSwitch 'outputLevel'
-
- Feb 10, 2021
-
-
Mark OLESEN authored
-
- Feb 03, 2021
-
-
Mark OLESEN authored
-