- 24 Jun, 2021 1 commit
-
-
Andrew Heather authored
-
- 23 Jun, 2021 1 commit
-
-
- 19 Jun, 2021 3 commits
-
-
Mark Olesen authored
- add setter/getter methods for the zone selection - construct for multiple zone selection - support explicit zone ids instead of name matcher
-
Mark Olesen authored
-
Mark Olesen authored
- add setter/getter methods for number of grow/shrink steps, which allows reuse of the same object. - remove the lower input hard-limit of 1 step, to allow definition of a no-op filter. - drop early exit from grow/shrink cycle (potential parallel issues).
-
- 18 Jun, 2021 1 commit
-
-
- Added new faceAreaWeightAMI2D AMIMethod: - performs intersection using a new 2D triangle class; - candidate face matches set using an AABBTree method (vs advancing front for faceAreaWeightAMI). - Use by setting the AMIMethod entry when specifying the AMI in the constant/polyMesh/boundary file, e.g. AMI { type cyclicACMI; AMIMethod faceAreaWeightAMI2D; // new method Cbb 0.1; // optional coefficient nFaces 1000; startFace 100000; matchTolerance 0.0001; transform noOrdering; neighbourPatch AMI1; nonOverlapPatch AMI1_non_overlap; } - The optional Cbb coeffcient controls the size of the bounding box used when looking for candidate pairs; the value of 0.1 is the default and worked well for a large range of test cases. For badly matched AMI patches this may need to be increased. - Deprecated the partialFaceAreaWeightAMI class - primarily used by ACMI: - functionality now offered by the AMI variants.
-
- 09 Jun, 2021 1 commit
-
-
BUG: MappedFile: ensure rmap() and automap() consistent
-
- 07 Jun, 2021 2 commits
-
-
Mark Olesen authored
- in some cases, additional dictionary inputs are useful for extending the input parameters or functionality of dynamic coded conditions. Typically this can be used to provide a simple set of dictionary inputs that are used to drive specific code, but allows changing the inputs without causing a recompilation. Accessed with this type of code: ``` const dictionary& dict = this->codeContext(); ``` boundary conditions and function objects: * specify an additional codeContext dictionary entry: ``` codeContext { ... } ``` PatchFunction1: * The code context dictionary is simply the dictionary used to specify the PatchFunction1 coefficients. To replicated persistant data, use local member static data. Eg, ``` code #{ // Persistent (Member) Data static autoPtr<Function1<scalar>> baseVel; static autoPtr<Function1<vector>> baseDir; ... #} ``` fvOptions: * currently not applicable
-
Mark Olesen authored
- meshTools include/library for many (most) coded items - add PatchFunction1 include for coded BCs to provide ready access to Function1 and PatchFunction1
-
- 31 May, 2021 1 commit
-
-
Mark Olesen authored
-
- 27 May, 2021 1 commit
-
-
Mark Olesen authored
- reduces common boilerplate, ensures that label fields are more easily handled.
-
- 26 May, 2021 1 commit
-
-
Multi-world operation now supports AMI: // What to sample: sampleMode nearestPatchFaceAMI;
-
- 13 May, 2021 1 commit
-
-
Mark Olesen authored
- add const qualifiers on C() methods
-
- 12 May, 2021 1 commit
-
-
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)
-
- 10 May, 2021 2 commits
-
-
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); } }
-
- 26 Apr, 2021 1 commit
-
-
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.
-
- 19 Apr, 2021 5 commits
-
-
- 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.
-
- 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...
-
- 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
-
- affords some code reduction. STYLE: use HashSet insert() without found() check in more places
-
- 17 Mar, 2021 1 commit
-
-
Mark Olesen authored
- simplifies local toggling. - centralize fileModification static variables into IOobject. They were previously scattered between IOobject and regIOobject
-
- 16 Mar, 2021 1 commit
-
-
Andrew Heather authored
-
- 09 Mar, 2021 1 commit
-
-
Mark Olesen authored
- direct check of punctuation. For example, while (!tok.isPunctuation(token::BEGIN_LIST)) .. instead of while (!(tok.isPunctuation() && tok.pToken() == token::BEGIN_LIST)) .. Using direct comparison (tok != token::BEGIN_LIST) can be fragile when comparing int values: int c = readChar(is); while (tok != c) .. // Danger, uses LABEL comparison! - direct check of word. For example, if (tok.isWord("uniform")) .. instead of if (tok.isWord() && tok.wordToken() == "uniform") .. - make token lineNumber() a setter method ENH: adjust internal compound method empty() -> moved() - support named compound tokens STYLE: setter method for stream indentation
-
- 08 Mar, 2021 1 commit
-
-
mattijs authored
- single-step for reconstructParMesh - no point merging for redistributePar -reconstruct
-
- 05 Mar, 2021 1 commit
-
-
Mark Olesen authored
- int64 ambiguity - std::array include - bsd-sed syntax (replaces gnu-sed syntax): * wmake-build-info * wmake-with-bear
-
- 16 Feb, 2021 1 commit
-
-
Mark Olesen authored
- eliminates a potentially invalid code branch. Since it essentially had the same internals as std::swap anyhow, make that more evident. ENH: use std::swap for basic types - makes it clearer that they do not rely on any special semantics
-
- 09 Feb, 2021 2 commits
-
-
Mark Olesen authored
-
Mark Olesen authored
-
- 18 Jan, 2021 1 commit
-
-
mattijs authored
Should not call map() since it triggers building the (one-to-one) mapping which conflicts with the self-contained mapping of cyclicAMI
-
- 22 Dec, 2020 1 commit
-
-
Andrew Heather authored
-
- 21 Dec, 2020 1 commit
-
-
This makes the initialisation order of dynamicMesh consistent with plain ones using the virtual mechanism. It does not solve the cyclicACMI construction order yet.
-
- 18 Dec, 2020 2 commits
-
-
Mattijs Janssens authored
Changed IO flag so that new mesh is created - was using old 'faces', 'owner' etc but then used the new patch starts Corrected logic for contMap in polyTopoChange
-
Mark Olesen authored
-
- 17 Dec, 2020 2 commits
-
-
STY: Style and header-content changes
-
-
- 11 Dec, 2020 3 commits
-
-
Mark Olesen authored
COMP: fix SP/DP inconsistency in fvGeometryScheme STYLE: rename polyMesh::updateGeom to polyMesh::updateGeomPoints - avoids compiler complaints and potential masking of primitiveMesh::updateGeom / fvMesh::updateGeom - mark argument as movable, since that is what is happening inside. GIT: remove merge cruft TUT: better clean on MPPICInterFoam
-
Added 'scale' parameter to cyclicACMI. Scales the amount of 'coupledness' (= mask). Allows opening/closing without mesh motion.
-
This adds a 'geometry' scheme section to the system/fvSchemes: geometry { type highAspectRatio; } These 'fvGeometryMethod's are used to calculate - deltaCoeffs - nonOrthoCoeffs etc and can even modify the basic face/cellCentres calculation.
-