- Apr 27, 2021
-
-
Mark OLESEN authored
- make regionName an optional constructor parameter, which eliminates a separate set of constructors and construction tables. Adjust internals to treat a missing/empty regionName as a no-op. - pass in fallback dictionary content via new IOdictionary constructor with a pointer ENH: further relax check for matching number of processor dirs - if the "numberOfSubdomains" entry is missing (or even zero) ignore checks of processor dirs as meaningless.
-
- Apr 26, 2021
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- additional debug information - improve support for dictionary specification of constant, polynomial and table entries. These previously only worked properly for primitiveEntry, which causes confusion. - extend table Function1 to include TableFile functionality. Simplifies switching and modifying content.
-
Mark OLESEN authored
- can construct named empty dictionary directly. - removed some duplicate code
-
Mark OLESEN authored
- failsafe examine elements: peek(), peekFirst(), peekLast() - failsafe traversing: skip() For example, ITstream& is = dict.lookup(key); if (is.peek().isWord()) { is.skip(); }
-
Mark OLESEN authored
- additional default construct - add explicit zero-size constructor for ITstream. For tagged dispatching, without ambiguity - elminate mandatory name for parsing versions. This makes it easier to use ITstream, IStringStream, UListStream interchangeable.
-
Mark OLESEN authored
- return undefinedToken on error STYLE: fix slicing of ITstream from dictionary lookup
-
Mark OLESEN authored
-
Mark OLESEN authored
- some code used copy construct from dictionary::null instead. The result is the same but suggests that something else may be intended. Only need dictionary::null for const-ref usage.
-
Andrew Heather authored
ENH: DMD: refactor dynamic mode decomposition FO See merge request !440
-
-
ENH: DMD: enable operations on patch fields ENH: DMD: enable postProcess utility
-
-
-
- Apr 23, 2021
-
-
Mark OLESEN authored
- allows use of surface names starting with a digit (by quoting the name). User is responsible for not generating bad names for output files. Eg "bad.**.name", since these will be difficult to handle from the shell
-
Mark OLESEN authored
- improves overall consistency and simplifies mpi-specific reuse (ie, ptscotchDecomp)
-
-
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 22, 2021
-
-
sergio authored
Checking for the sum of species mass fraction in multiComponentMixture. It can't be zero at the internal field or patches. A fatal error is thrown. A warning was added if the mixture sum is different from one. In a re-start the mass fraction can be slightly unbounded and new normalization is required.
-
- Apr 19, 2021
-
-
Andrew Heather authored
consistency improvements for regex and hashes, etc See merge request !442
-
- refactor and provision for additional code context
-
- The keyType is primarily used within dictionary reading, whereas wordRe and wordRes are used for selectors in code. Unifying on wordRe and wordRes reduces the number matching options.
-
- additional dummy template parameter to assist with supporting derived classes. Currently just used for string types, but can be extended. - provide hash specialization for various integer types. Removes the need for any forwarding. - change default hasher for HashSet/HashTable from 'string::hash' to `Hash<Key>`. This avoids questionable hashing calls and/or avoids compiler resolution problems. For example, HashSet<label>::hasher and labelHashSet::hasher now both properly map to Hash<label> whereas previously HashSet<label> would have persistently mapped to string::hash, which was incorrect. - standardize internal hashing functors. Functor name is 'hasher', as per STL set/map and the OpenFOAM HashSet/HashTable definitions. Older code had a local templated name, which added unnecessary clutter and the template parameter was always defaulted. For example, Old: `FixedList<label, 3>::Hash<>()` New: `FixedList<label, 3>::hasher()` Unchanged: `labelHashSet::hasher()` Existing `Hash<>` functor namings are still supported, but deprecated. - define hasher and Hash specialization for bitSet and PackedList - add symmetric hasher for 'face'. Starts with lowest vertex value and walks in the direction of the next lowest value. This ensures that the hash code is independent of face orientation and face rotation. NB: - some of keys for multiphase handling (eg, phasePairKey) still use yet another function naming: `hash` and `symmHash`. This will be targeted for alignment in the future.
-
- wrap command-line retrieval of fileName with an implicit validate. Instead of this: fileName input(args[1]); fileName other(args["someopt"]); Now use this: auto input = args.get<fileName>(1); auto other = args.get<fileName>("someopt"); which adds a fileName::validate on the inputs Because of how it is implemented, it will automatically also apply to argList getOrDefault<fileName>, readIfPresent<fileName> etc. - adjust fileName::validate and clean to handle backslash conversion. This makes it easier to ensure that path names arising from MS-Windows are consistently handled internally. - dictionarySearch: now check for initial '/' directly instead of relying on fileName isAbsolute(), which now does more things BREAKING: remove fileName::clean() const method - relying on const/non-const to control the behaviour (inplace change or return a copy) is too fragile and the const version was almost never used. Replace: fileName sanitized = constPath.clean(); With: fileName sanitized(constPath); sanitized.clean()); STYLE: test empty() instead of comparing with fileName::null
-
- simplify compile/uncompile, reading, assignment - implicit construct wordRe from keyType (was explicit) to simplify future API changes. - make Foam::isspace consistent with std::isspace (C-locale) by including vertical tab and form feed ENH: improve #ifeq float/label comparisons
-
- originally had tests for regex meta characters strewn across regExp classes as well as wordRe, keyType, string. And had special-purpose quotemeta static function within string that relied on special naming convention for testing the meta characters. The regex meta character testing/handling now relegated entirely to the regExp class(es). Relocate quotemeta to stringOps, with a predicate. - avoid code duplication. Reuse some regExpCxx methods in regExpPosix
-
- affords some code reduction. STYLE: use HashSet insert() without found() check in more places
-
- adjust compilation order to make available after finiteArea and finiteVolume are compiled
-
CONFIG: bad csh syntax
-
Andrew Heather authored
ENH: snappyHexMesh: block walk through other surfaces. See merge request !439
-
-
- Apr 16, 2021
-
-
Andrew Heather authored
-
- Apr 15, 2021
-
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- can be useful when extracting portions of larger field files
-
DOC: improve header-file content STYLE: fix stray use of wordReList instead of wordRes Co-authored-by: Kutalmis Bercin
-
Mark OLESEN authored
-
- Apr 14, 2021
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- the generic constructor could be called twice in pointPatchField::New, which results in an attempt to transfer tokens twice.
-
- Apr 01, 2021
-
-
Andrew Heather authored
-