- Apr 26, 2021
-
-
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
-
- Mar 31, 2021
-
-
mattijs authored
-
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)
-
mattijs authored
On high numbers of cores the extrudeModel/polyLine can start compiling before blockMesh/lnInclude has been constructed correctly.
-
Andrew Heather authored
Handle layer addition on acmi See merge request Development/openfoam!434
-
When extruding an edge to a patch face make sure to extrude all the patch faces connected to that edge and cell. This will handle cyclicACMI (has duplicate patches - AMI and non-overlap)
-