- 07 Sep, 2020 2 commits
-
-
Mark Olesen authored
- introduce WM_COMPILE_CONTROL variable to convey control information into the build rules. The convention (as per spack): - '+' to select a feature - '~' to deselect a feature Eg, to select the gold linker, and disable openmp (spaces are not required): WM_COMPILE_CONTROL="+gold ~openmp" CONFIG: accept FOAM_EXTRA_LDFLAGS for AMD, gold, Mingw linkers CONFIG: generalize PROJECT_LIBS (-ldl used almost universally)
-
Mark Olesen authored
- simplifies cases where Tuple2 is used as a Pair replacement (for output format reasons)
-
- 03 Sep, 2020 1 commit
-
-
Mark Olesen authored
-
- 01 Sep, 2020 1 commit
-
-
Mark Olesen authored
- the compiler reports Internal error loop: assertion failed: find_seq_in_lookup_table: seq_number not found (shared/cfe/edgcpfe/il.c, line 4118) Seems to be the same as the bug report https://community.intel.com/t5/Intel-C-Compiler/Internal-error-loop-assertion-failed-find-seq-in-lookup-table/td-p/1087603 This _should_ be fixed in icc 17.0 update 1, but appears to have struck here as well. - workaround: explicitly construct member elements.
-
- 11 Aug, 2020 1 commit
-
-
Mark Olesen authored
- makes it easier to use in combination with various 'New' selectors, which mostly return an autoPtr. ENH: add very simple FFT test - basic sanity test that the library links properly
-
- 10 Aug, 2020 1 commit
-
-
Mark Olesen authored
- previously hidden as Detail::[IO]FstreamAllocator, now exposed directly as [io]fstreamPointer, which allows reuse for std::ifstream, std::ofstream wrapping, without the additional ISstream, OSstream layers. These stream pointers have some characteristics similar to a unique_ptr. - restrict direct gzstream usage to two files (fstreamPointers.C, gzstream.C) which improves localization and makes it simpler to enable/disable with the `HAVE_LIBZ` define. The HAVE_LIBZ define is currently simply hard-coded in the Make/options. If compiled WITHOUT libz support: - reading gz files : FatalError - writing gz files : emit warning and downgrade to uncompressed - warn if compression is specified in the case controlDict and downgrade to uncompressed ENH: minor updates to gzstream interface for C++11 - support construct/open with std::string for the file names. CONFIG: provisioning for have_libz detection as wmake/script
-
- 07 Aug, 2020 1 commit
-
-
Mark Olesen authored
- makes format of ExecutionTime = ... output configurable (#788) and reduces code clutter. STYLE: more consistent line-breaks after "End" tag
-
- 05 Aug, 2020 4 commits
-
-
Mark Olesen authored
-
Mark Olesen authored
Reduce the number of phaseSystems libraries: - phaseSystems previously had a number of smaller libraries to provide interface and model properties, etc. This potential flexibility was never actually used anywhere, but causes cyclic dependencies between phaseSystem and the models (and turbulence) that causes extreme difficulty for mingw linking (issue #1238). - libincompressibleMultiphaseSystems - removed: libmassTransferModels - libmultiphaseSystem - removed: libcompressibleMultiphaseEulerianInterfacialModels - libreactingMultiphaseSystem - removed: libreactingPhaseSystem - removed: libreactingEulerianFvPatchFields - removed: libreactingEulerianInterfacialCompositionModels - removed: libreactingEulerianInterfacialModels - removed: libmultiphaseReactingTurbulenceModels - libreactingTwoPhaseSystem - removed: libreactingPhaseSystem - removed: libreactingEulerianFvPatchFields - removed: libreactingEulerianInterfacialCompositionModels - removed: libreactingEulerianInterfacialModels Avoid duplicate symbol for phaseCompressibleTurbulenceModels Common turbulence models are defined in libreactingMultiphaseSystem, and libmultiphaseReactingTurbulenceModels is now redundant. The libtwoPhaseReactingTurbulenceModels extends the common models for reactingTwoPhaseSystem.
-
Mark Olesen authored
- prelude to code refactoring NOTE no source code change in this commit, only relocation, renaming and adjustment of Make/{files,options}
-
Mark Olesen authored
- since the context (laminar/RAS/LES) is already given by the sub-dictionary, it is redundant to use as prefix as well. - silently support the longer names as compat methods
-
- 04 Aug, 2020 1 commit
-
-
Mark Olesen authored
-
- 03 Aug, 2020 1 commit
-
-
Mark Olesen authored
-
- 28 Jul, 2020 3 commits
-
-
Mark Olesen authored
- naming similarity with autoPtr, unique_ptr and other containers. For UPtrList derivatives, this is equivalent to the existing operator(). The read-only variant is also equivalent to the single-parameter 'set(label)' method. With PtrList<T> list(...) : const T* ptr = list.get(10); if (ptr) { ptr->method(); } vs. if (list.set(10)) { list[10].method(); } For HashPtrTable there is only a read-only variant which is equivalent to testing for existence and for value. With HashPtrTable<T> hash(...) : const T* ptr = list.get("key"); if (ptr) { ptr->method(); } vs. if (list.found("key")) { // Fails on null pointer!! list["key"].method(); } Use of get() is largely a matter of taste or local coding requirements
-
Mark Olesen authored
- emplace methods Eg, m.internalCoeffs().emplace(patchi, fc.size(), Zero); vs. m.internalCoeffs().set(patchi, new Field<Type>(fc.size(), Zero)); - handle insert/append of refPtr wherever tmp was already supported COMP: incorrect variable names in PtrListOpsTemplates.C
-
Mark Olesen authored
- forwarding like the emplace() method, but overwriting existing entries as required - propagate similar changes to HashPtrTable For example, with HashPtrTable<labelList> table(...) : With 'insert' semantics table.emplace("list1", 1000); vs if (!table.found("list1")) { table.set("list1", new labelList(1000)); } or table.insert("list1", autoPtr<labelList>::New(1000)); Note that the last example invokes an unnecessary allocation/deletion if the insertion is unsuccessful. With 'set' semantics: table.emplace_set("list1", 15); vs table.set("list1", new labelList(15));
-
- 27 Jul, 2020 1 commit
-
-
Mark Olesen authored
STYLE: use global operator instead of HashSet -= operator
-
- 24 Jul, 2020 1 commit
-
-
Mark Olesen authored
The fakeError function object emits FatalError at different stages (or does nothing), which is useful for testing purposes (issue #1779). Can request errors from constructor, execute and write methods.
-
- 23 Jul, 2020 2 commits
-
-
Mark Olesen authored
-
mattijs authored
-
- 16 Jul, 2020 3 commits
-
-
Mark Olesen authored
- cleaner code, more similarity with unique_ptr Now if (ptr) if (!ptr) instead if (ptr.valid()) if (!ptr.valid())
-
Mark Olesen authored
- with '&&' conditions, often better to check for non-null autoPtr first (it is cheap) - check as bool instead of valid() method for cleaner code, especially when the wrapped item itself has a valid/empty or good. Also when handling multiple checks. Now if (ptr && ptr->valid()) if (ptr1 || ptr2) instead if (ptr.valid() && ptr->valid()) if (ptr1.valid() || ptr2.valid())
-
Mark Olesen authored
- less clutter using plain tests with the bool operator: (!ptr) vs (ptr.empty()) (ptr) vs (!ptr.empty())
-
- 14 Jul, 2020 2 commits
-
-
Mark Olesen authored
-
Mark Olesen authored
- libs() singleton method for global library handling - explicit handling of empty filename for dlLibraryTable open/close. Largely worked before, but now be more explicit about its behaviour. - add (key, dict) constructor and open() methods. More similarity to dimensionedType, Enum etc, and there is no ambiguity with the templated open(). - construct or open from initializer_list of names - optional verbosity when opening with auxiliary table, avoid duplicate messages or spurious messages for these. - basename and fullname methods (migrated from dynamicCode). - centralise low-level load/unload hooks - adjust close to also dlclose() aliased library names.
-
- 13 Jul, 2020 2 commits
- 01 Jul, 2020 1 commit
-
-
Mark Olesen authored
- regression from f721b534
-
- 29 Jun, 2020 2 commits
-
-
Andrew Heather authored
-
Andrew Heather authored
-
- 26 Jun, 2020 1 commit
-
-
OpenFOAM bot authored
- fix older '> >' template parameters as '>>'
-
- 25 Jun, 2020 1 commit
-
-
Andrew Heather authored
-
- 24 Jun, 2020 2 commits
-
-
Andrew Heather authored
-
Andrew Heather authored
-
- 22 Jun, 2020 3 commits
-
-
mattijs authored
-
Mark Olesen authored
STYLE: reword text for -excludePatches
-
Mark Olesen authored
-
- 19 Jun, 2020 1 commit
-
-
Mark Olesen authored
- For some cases it can be helpful to test if additional libraries can be properly resolved. This can be useful in scripts to test for additional capability: if foamHasLibrary geometricVoF then ... fi But also directly from the command-line to help resolve configuration issues: foamHasLibrary -verbose petscFoam Could not load "petscFoam" libpetsc.so.3.13: cannot open shared object file: No such file or directory
-
- 17 Jun, 2020 2 commits
-
-
Mark Olesen authored
- the earlier implementation of externally controlled lumped point motion (see merge request !120 and OpenFOAM-v1706 release notes) was conceived for the motion of simple structures such as buildings or simple beams. The motion controller was simply defined in terms of an orientation axis and divisions along that axis. To include complex structures, multiple motion controllers are defined in terms of support points and connectivity. The points can have additional node Ids associated with them, which makes it easier to map to/from FEA models. OLD system/lumpedPointMovement specification -------------------------------------------- //- Reference axis for the locations axis (0 0 1); //- Locations of the lumped points locations (0 0.05 .. 0.5); NEW system/lumpedPointMovement specification -------------------------------------------- // Locations of the lumped points points ( (0 0 0.00) (0 0 0.05) ... (0 0 0.50) ); //- Connectivity for motion controllers controllers { vertical { pointLabels (0 1 2 3 4 5 6 7 8 9 10); } } And the controller(s) must be associated with the given pointDisplacement patch. Eg, somePatch { type lumpedPointDisplacement; value uniform (0 0 0); controllers ( vertical ); // <-- NEW } TUT: adjust building motion tutorial - use new controllor definitions - replace building response file with executable - add updateControl in dynamicMeshDict for slowly moving structure
-
OpenFOAM bot authored
-