- 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 !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)
-
fvMesh::readUpdate calls polyMesh::readUpdate which updates the ACMI (including mesh areas etc). So we should not call polyMesh::clearOut again inside fvMesh::readUpdate to avoid having to re-do all the ACMI.
-
Andrew Heather authored
INT: reacting*EulerFoam: correct handling of K for energy equation (#2033) See merge request !438
-
-
Andrew Heather authored
TUT: DNS, electromagnetics, financial, stressAnalysis: clean up tutorials See merge request !437
-
-
Andrew Heather authored
ENH: solarLoad: new load model, timeDependent See merge request !431
-
ENH: solarLoad, fvDOM: enable time-dependent spectralDistribution DOC: solarLoad, fvDOM, solarCalculator: improve header documentation TUT: solarLoadModel, solarDirectionModel: use new shorter entries
-
-
- Mar 29, 2021
-
-
Mark OLESEN authored
- robuster handling of different VTK versions - compilation changes for avalanche, cfmesh
-
Mark OLESEN authored
For example, ``` entry #eval 10 { vector(rand(), 0, 0) }; ``` ENH: be more generous and ignore trailing ';' in expressions STYLE: adjust parse token name for tensor::I
-
Mark OLESEN authored
-
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
-