- Apr 29, 2022
-
-
-
Andrew Heather authored
BUG: 2022-1: Various bug fixes See merge request !530
-
-
-
-
-
-
This patch provides the correct behavior of the boundary condition and its opening values.
-
-
The blendingFactor function object overwrites the DEShybrid:Factor field internally when blendedSchemeBase debug flag is active. However, users are allowed to write out the original DEShybrid:Factor field by executing the writeObjects function object before any blendingFactor function object execution.
-
-
Andrew Heather authored
Code changes and reorganisation preliminary to redistributePar updates (#2436) See merge request !533
-
Mark OLESEN authored
- dynamicMesh, finiteVolume, regionFaModels, thermophysicalProperties
-
Mark OLESEN authored
- direct construct and reset method for creating a zero-sized (dummy) subMesh. Has no exposed faces and no parallel synchronization required. - core mapping (interpolate) functionality with direct handling of subsetting in fvMeshSubset (src/finiteVolume). Does not use dynamicMesh topology changes - two-step subsetting as fvMeshSubsetter (src/dynamicMesh). Does use dynamicMesh topology changes. This is apparently only needed by the subsetMesh application itself. DEFEATURE: remove deprecated setLargeCellSubset() method - was deprecated JUL-2018, now removed (see issue #951)
-
Mark OLESEN authored
- added templating level to avoid code duplication and provide future extensibility
-
Mark OLESEN authored
- allows restricted evaluation to specific coupled patch types. Code relocated/refactored from redistributePar. STYLE: ensure use of waitRequests() also corresponds to nonBlocking ENH: additional copy/move construct GeometricField from DimensionedField STYLE: processorPointPatch owner()/neighbour() as per processorPolyPatch STYLE: orientedType with bool cast operator and noexcept
-
Mark OLESEN authored
- move construct from components. Construct with optional IO control - separate init() method (as per polyMesh) to delay evaluation of globalData and base geometry. - faMesh removeFiles method ENH: faBoundaryMeshEntries for reading faBoundary files without a mesh ENH: adjust debug output for {fa,fae,fv,fvs}patchField::New - add alternative constraint type selection for faePatchField. - unify handling of "patchType" reading. Make less noisy when reporting dictionary defaults.
-
Mark OLESEN authored
- allows reuse by finiteArea, for example. - simplify edge looping with face thisLabel/nextLabel method ENH: additional storage checks for mesh weights (faMesh + fvMesh) - allow finite-area field decomposition without edge weights. STYLE: use tmp New in various places. Simpler updateGeom check
-
Mark OLESEN authored
STYLE: remove spurious (no-op) processor boundary evaluations - boundary fields for faceAreaCentres and edgeCentres had no-op initEvaluate/evaluate pair on processor boundaries. Now consistent with each other and with how finiteVolume is defined. STYLE: add comments about which private methods trigger communication
-
Mark OLESEN authored
- reduce the amount of communication when checking zones and patches by performing the synchonization check on the gathered strings (master only) and reduce or broadcast the result. STYLE: simplify coupled() checks depending only on parRun
-
Mark OLESEN authored
* lessEqOp -> lessEqualOp * greaterEqOp -> greaterEqualOp to avoid ambiguitity with other forms such as 'plusEqOp' where the 'Eq' implies an assigment. The name change also aligns better with C++ <functional> names such as std::less_equal, std::greater_equal ENH: simple labelRange predicates gt0/ge0/lt0/le0 - mirrors scalarRange tests. Lower overhead than using labelMinMax::ge(0) etc since it does not create an intermediate (is stateless) and can be used as a constexpr
-
Mark OLESEN authored
-
Mark OLESEN authored
- was in fvMotionSolver, but only requires PatchFunction1 capabilities (from within meshTools). GIT: relocate IOmapDistributePolyMesh (from dynamicMesh to OpenFOAM)
-
Mark OLESEN authored
- adds handling of negative start times for masterUncollatedFileOperation as well (#1112). - handle failures *after* restoring non-parRun mode. This ensures exit(FatalError) will exit MPI properly as well. STYLE: replace "polyMesh" with polyMesh::meshSubDir STYLE: adjust IOobject read/write enumerated values - provision for possible bitwise handling
-
Mark OLESEN authored
- additional Pstream::broadcasts() method to serialize/deserialize multiple items. - revoke the broadcast specialisations for std::string and List(s) and use a generic broadcasting template. In most cases, the previous specialisations would have required two broadcasts: (1) for the size (2) for the contiguous content. Now favour reduced communication over potential local (intermediate) storage that would have only benefited a few select cases. ENH: refine PstreamBuffers access methods - replace 'bool hasRecvData(label)' with 'label recvDataCount(label)' to recover the number of unconsumed receive bytes from specified processor. Can use 'labelList recvDataCounts()' to recover the number of unconsumed receive bytes from all processor. - additional peekRecvData() method (for transcribing contiguous data) ENH: globalIndex whichProcID - check for isLocal first - reasonable to assume that local items are searched for more frequently, so do preliminary check for isLocal before performing a more costly binary search of globalIndex offsets ENH: masterUncollatedFileOperation - bundled scatter of status
-
Mark OLESEN authored
Eg, export WM_COMPILER=Clang130 export WM_COMPILE_CONTROL="version=13.0 +lld" - also support the mold linker (+mold) for clang STYLE: report as 'link' stage instead of 'ld' in short messages
-
Mark OLESEN authored
- use vector::removeCollinear a few places COMP: incorrect initialization order in edgeFaceCirculator COMP: Silence boost bind deprecation warnings (before CGAL-5.2.1)
-
- Apr 28, 2022
-
-
Mark OLESEN authored
- for most field types this is a no-op, but for a field of floatVector or doubleVector (eg, vector and solveVector) it will normalise each element with divide-by-zero protection. More reliable and efficient than dividing a field by the mag of itself (even with VSMALL protection). Applied to FieldField and GeometricField as well. Eg, fld.normalise(); vs. fld /= mag(fld) + VSMALL; ENH: support optional tolerance for vector::normalise - for cases where tolerances larger than ROOTVSMALL are preferable. Not currently available for the field method (a templating question). ENH: vector::removeCollinear method - when working with geometries it is frequently necessary to have a normal vector without any collinear components. The removeCollinear method provides for clearer, compacter code. Eg, vector edgeNorm = ...; const vector edgeDirn = e.unitVec(points()); edgeNorm.removeCollinear(edgeDirn); edgeNorm.normalise(); vs. vector edgeNorm = ...; const vector edgeDirn = e.unitVec(points()); edgeNorm -= edgeDirn*(edgeDirn & edgeNorm); edgeNorm /= mag(edgeNorm);
-
Mark OLESEN authored
- for obtaining set entries from a boolList - BitOps::select to mirror bitSet constructor but returning a boolList - BitOps::set/unset for boolList ENH: construct bitSet from a labelRange - useful, for example, when marking up patch slices ENH: ListOps methods - ListOps::count_if to mirror std::count_if but with list indexing. - ListOps::find_if to mirror std::find_if but with list indexing. ENH: UPtrList::test() method. - includes bounds checks, which means it can be used in more places (eg, even if the storage is empty).
-
- Apr 25, 2022
-
-
sergio authored
-
- Apr 22, 2022
- Apr 19, 2022
-
-
mattijs authored
-
- Apr 14, 2022