- May 19, 2021
-
-
Mark OLESEN authored
- aligns with the resulting VTK subdirectory name
-
Sergio Ferraris authored
ENH: adjust tokenizing See merge request !452
-
Mark OLESEN authored
- profit from some of the recent modifications to parser expansion TUT: adjust some #eval statements for less clutter
-
Mark OLESEN authored
- reworked from the openfoam.org wordAndDictionary version. Allows, for example, named entries in topoSet.
-
Mark OLESEN authored
-
- May 18, 2021
-
-
Mark OLESEN authored
* removed internal upper limit on word/string length for parsed input. - Although it has not caused many problems, no reason to retain these limits. - simplify some of the internal logic for reading string-like items. - localize parsers for better separation from the header - expose new function seekCommentEnd_Cstyle(), as useful handler of C-style comments * exclude imbalanced closing ')' from word/variable - previously included this into the word/variable, but makes more sense to leave on the parser for the following token. Prevents content like 'vector (10 20 $zmax);' from being parsed as '$zmax)' instead of as '$zmax' followed by a ')'. No conceivable reason that the former would actually be desirable, but can still be obtained with brace notation: Eg, '${zmax)}' * consistent handling of ${{ ... }} expressions - within a dictionary content, the following construct was incorrectly processed: value ${{2*sqrt(0.5)}}; Complains about no dictionary/env variable "{2*sqrt(0.5)}" Now trap expressions directly and assign their own token type while reading. Later expansion can then be properly passed to the exprDriver (evalEntry) instead of incorrectly trying variable expansion. Does not alter the use of expressions embedded within other expansions. Eg, "file${{10*2}}" * improve #eval { ... } brace slurping - the initial implementation of this was rudimentary and simply grabbed everything until the next '}'. Now continue to grab content until braces are properly balanced Eg, the content: value #eval{${radius}*2}; would have previously terminated prematurely with "${radius" for the expression! NOTE: both the ${{ expr }} parsed input and the #eval { ... } input discard C/C++ comments during reading to reduce intermediate overhead for content that will be discarded before evaluation anyhow. * tighten recognition of verbatim strings and expressions. - parser was previously sloppy and would have accepted content such as "# { ..." (for example) as an verbatim string introducer. Now only accept parse if there are no intermediate characters discarded.
-
Mark OLESEN authored
- minor simplification of #if/#endif handling ENH: improve input robustness with negative-prefixed expansions (#2095) - especially in blockMeshDict it is useful to negate an value directly. Eg, ``` xmax 100; xmin -$xmax; ``` However, this fails since the dictionary expansion is a two-step process of tokenization followed by expansion. After the expansion the given input would now be the following: ``` xmax 100; xmin - 100; ``` and retrieving a scalar value for 'xmin' fails. Counteract this by being more generous on tokenized input when attempting to retrieve a label or scalar value. If a '-' is found where a number is expected, use it to negate the subsequent value. The previous solution was to invoke an 'eval': ``` xmax 100; xmin #eval{-$xmax}; ``` which adds additional clutter.
-
- May 17, 2021
-
-
Andrew Heather authored
ENH: splitMeshRegions: combine cellZones. See #2046 See merge request !448
-
-
- May 14, 2021
-
-
Sergio Ferraris authored
refactor and extend handling of faSchemes/fvSchemes See merge request !449
-
- May 13, 2021
-
-
Mark OLESEN authored
- use common base for handling scheme lookups. Extended to support local injection of schemes into the dictionaries during runtime.
-
Mark OLESEN authored
- add const qualifiers on C() methods
-
Andrew Heather authored
collected changes for Lists, faces and PrimitivePatch See merge request !446
-
Mark OLESEN authored
- intended for the following type of use: auto oldHandler = fileHandler(fileOperation::NewUncollated()); ... do something that only works with uncollated // Restore previous (if any) if (oldHandler) { fileHandler(std::move(oldHandler)); } ENH: make fileOperation distributed(bool) mutable - use is "static-like" and akin to Pstream::parRun(bool), thus allow toggling of the switch without a const_cast
-
- May 12, 2021
-
-
Mark OLESEN authored
- use polyMesh::defaultRegion instead of fvMesh::defaultRegion and others via static inheritance. (92 vs ~25 occurrences)
-
Mark OLESEN authored
- return internalEdges() and boundaryEdges() sub lists directly - calculate and return boundaryFaces() to identify faces attached to boundary edges. - minor code cleanup, and add PrimitivePatchBase class for non-templated code. STYLE: mark unused parameter in globalMeshData mergePoints
-
Mark OLESEN authored
-
Mark OLESEN authored
- copy assignment from indirect list to SubList and Field
-
Mark OLESEN authored
- this constructor was added for similarity with std::vector, but continues to cause various annoyances. The main problem is that the templated parameter tends to grab anything that is not a perfect match for other constructors. Typically seen with two integers (in 64-bit mode), but various other cases as well. If required, the ListOps::create() function provides a lengthier alternative but one that can also incorporate transformations. Eg, pointField pts = ....; List<scalar> mags ( List<scalar>::create ( pts.begin(), pts.end(), [](const vector& v){ return magSqr(v); } );
-
Mark OLESEN authored
- improves interchangeability of List vs IndirectList
-
Mark OLESEN authored
- additional rcEdge(), rcEdges() methods for reverse order walk - accept generic edge() method as alternative to faceEdge() for single edge retrieval. - edge() method with points -> returns the vector - reduce the number of operations in edgeDirection methods DEFEATURE: remove longestEdge global function - deprecated and replaced by face::longestEdge() method (2017-04)
-
Mark OLESEN authored
-
Mark OLESEN authored
- gcc-4.8.5 does not respect the default parameter, thus specify format explicitly
-
- May 10, 2021
-
-
Mark OLESEN authored
Historically the "geometry" for static meshes was placed under directly in the EnSight case directory. Eg, ensight/ensight.case ensight/geometry ensight/data/000001 ensight/data/000002 ... This generally works ok, but relocating it to a constant data directory Eg ensight/ensight.case ensight/data/constant/geometry ensight/data/000001 ensight/data/000002 ... Improves handling and avoids potential collisions when adding in additional mesh regions
-
Mark OLESEN authored
- reduces code, simplifies creation of new, specialized polyData writers. - new templated vtk::GenericPatchWriter, which adds support for writing both uindirectPrimitivePatch + indirectPrimitivePatch types. - handle geometric fields separately from regular fields with * vtk:GenericPatchGeoFieldsWriter * vtk:indirectPatchGeoFieldsWriter * vtk:uindirectPatchGeoFieldsWriter
-
Mark OLESEN authored
- can be used for block-like meshes that are not aligned with the global coordinate directions. Alternatively, for general testing purposes. Example, method simple; coeffs { n ( 2 2 2 ); transform { origin (-0.15 0.15 0); e1 (1 1 0); e3 (0 0 1); } }
-
Andrew Heather authored
-
- May 07, 2021
-
-
Andrew Heather authored
add multi-region handling for checkMesh etc, centralized the region handling #2072 See merge request !445
-
-
Mark OLESEN authored
Step 1. include "addAllRegionOptions.H" Adds the -allRegions, -regions and -region options to argList. Step 2. include "getAllRegionOptions.H" Processes the options with -allRegions selecting everything from the regionProperties. OR use -regions to specify multiple regions (from regionProperties), and can also contain regular expressions OR use the -region option Specifying a single -regions NAME (not a regular expresssion) is the same as -region NAME and doesn't use regionProperties Creates a `wordList regionNames` Step 3. Do something with the region names. Either directly, or quite commonly with the following include "createNamedMeshes.H" Creates a `PtrList<fvMesh> meshes` STYLE: add description to some central include files
-
Mark OLESEN authored
- useful for establishing and preallocating a max buffer size when reading from sub-procs
-
- May 06, 2021
-
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Andrew Heather authored
-
- Apr 29, 2021
-
-
Andrew Heather authored
improve flexiblity of IOdictionary construction, use of ITstream, Function1 See merge request !444
-
- Apr 27, 2021
-
-
Mark OLESEN authored
-
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
-