- Aug 11, 2020
-
-
Mark OLESEN authored
Script to copy/create mingw run-time installation from the Linux cross-compilation. Packs everything into a tar or a zip file. To accommodate Windows, all .dll files are also placed in the platforms bin/ directory where they are easily found via the PATH. Futhermore, ThirdParty dll files (including those from mingw itself) are also placed in the same directory. --- Steps - bundles common files and directories (bin, etc, META-INFO, ...) - copies .exe files from FOAM_APPBIN and .dll files from FOAM_LIBBIN to the new target platforms/win64MingwDPInt32Opt/bin. - copies mingw sys-root .dll files to the new target platforms/win64MingwDPInt32Opt/bin - copies other ThirdParty dll files (scotch, fftw, etc) to platforms/win64MingwDPInt32Opt/bin - copies tutorials (can be deactivated) --- Note Can only be called when the linux64Mingw environment is active.
-
Mark OLESEN authored
- handle relative directory names for FOAM_CONFIG_ETC
-
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
-
- Aug 10, 2020
-
-
Mark OLESEN authored
-
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
-
- Aug 07, 2020
-
-
Mark OLESEN authored
- makes format of ExecutionTime = ... output configurable (#788) and reduces code clutter. STYLE: more consistent line-breaks after "End" tag
-
- Aug 06, 2020
-
-
Mark OLESEN authored
- WM_ARCH=win64 to indicate the runtime environment ENH: cross-compile wmake toolchain for the target-side as well
-
Mark OLESEN authored
- silence failed restoration of controlDict from controlDict.orig (idempotent?)
-
Mark OLESEN authored
- the various information queries MUST be executed with the '--no-print-directory' or risk polluting values in the information queries. This is mostly seen with the 'canCompile' test for tutorials running in parallel.
-
Andrew Heather authored
ENH: finer granularity for handling functionObject failure (#1779) See merge request !380
-
Mark OLESEN authored
- additional "errors" entry with enumerated values (default|warn|ignore|strict) for defining warning or error at construct or runtime stage - default : construct = warn, runtime = fatal - warn : construct = warn, runtime = warn - ignore : construct = silent, runtime = silent - strict : construct = fatal, runtime = fatal The errors control can be added at the top-level and/or for individual function objects.
-
- Aug 05, 2020
-
-
Sergio Ferraris authored
remove cyclic dependencies for phase systems See merge request !379
-
Mark OLESEN authored
-
Mark OLESEN authored
- reduces the number of files, eases code refactoring
-
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
-
- Aug 04, 2020
-
-
Mark OLESEN authored
-
Mark OLESEN authored
-
- Aug 03, 2020
-
-
Mark OLESEN authored
-
- Jul 31, 2020
-
-
Mark OLESEN authored
- include fvOptions header, Smagorinsky header
-
- Jul 30, 2020
-
-
Mark OLESEN authored
- old code just checked for pointer vs non-pointer. Should actually treat CREF and REF types differently Overseen in commit be058bec. Only affects develop branch ENH: improved naming consistency in tmp, refPtr - also use long-form to check for pointer type instead of the isTmp() method. Makes differences between PTR, CREF, REF easier to spot. STYLE: typeName() for tmp, refPtr is static
-
Mark OLESEN authored
-
Mark OLESEN authored
-
- Jul 29, 2020
-
-
sergio authored
In fvSolution is possible to cache the limiter. This surface field is stored in the database to be read later. The internal tmp management of the field was not working properly.
-
- Jul 28, 2020
-
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- using HashPtrTable::set() with the same key twice did not guarantee proper cleanup of memory since it simply used the underlying HashTable::set() without doing anything about the old memory. Now check for pre-existing storage and delete it when it does not correspond to the newly stored pointer. This problem is independent of potential memory slicing previously flagged (#1286) and only partially resolved.
-
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));
-
Mark OLESEN authored
- constructs such as the following will no longer worked, but that is also a good thing. ptrlist.set(i, scalarField(nFaces, Zero)); this called set(.., const tmp<scalarField>&), which meant under the hood: - create local temporary const scalarField& - wrap as const tmp& - use tmp::ptr(), to clone the const-ref This implies an additional allocation (for the const scalarField&) which is immediately discarded. Doubtful that compiler optimization would do anything.
- Jul 27, 2020
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- backported fix from develop COMP: incorrect variable names in PtrListOpsTemplates.C
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
STYLE: use global operator instead of HashSet -= operator
-
Mark OLESEN authored
-