- Jan 07, 2019
-
-
Mark OLESEN authored
- reduced clutter when iterating over containers
-
Mark OLESEN authored
- reduced clutter when iterating over containers
-
- Feb 11, 2019
-
-
Mark OLESEN authored
- previously it was only possible to reset a pointer, but not to change a const-reference directly (needed a swap() to do this).
-
Mark OLESEN authored
-
Mark OLESEN authored
-
- Feb 08, 2019
-
-
Mark OLESEN authored
- currently supports pTotal, rhoU.
-
Mark OLESEN authored
- makes it easier to implement functionObject or field object removal
-
- Feb 11, 2019
-
-
Mark OLESEN authored
- use registry checkOut for removeRegisteredObject function object
-
Mark OLESEN authored
-
Mark OLESEN authored
-
mattijs authored
-
mattijs authored
-
mattijs authored
-
- Feb 08, 2019
-
-
Henry Weller authored
The occurrence is from cells with vertices that are shared between two faces only (these vertices can originate from hex refinement). Decomposing both faces can occasionally produce triangles with identical vertices and this results in a non-manifold edge which triggers the erosion procedure. Avoided by detecting cells with these special vertices and making sure the tet-decomposition never uses the same points on the faces using them. Patch contributed by Mattijs Janssens
-
- Feb 11, 2019
-
-
Andrew Heather authored
-
Andrew Heather authored
-
- Feb 08, 2019
-
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- move declaration of emptyLabelList (now deprecated) out of List.H
-
Andrew Heather authored
-
Andrew Heather authored
-
- Feb 07, 2019
-
-
mattijs authored
-
mattijs authored
-
Mark OLESEN authored
- can now safely use labelList::null() instead of emptyLabelList for return values. No special treatment required for lists. Possible replacements: if (notNull(list) && list.size()) -> if (list.size()) if (isNull(list) || list.empty()) -> if (list.empty()) The receiver may still wish to handle differently to distinguish between a null list and an empty list, but no additional special protection is required when obtaining sizes, traversing, outputting etc.
-
- Jan 22, 2019
-
-
Mark OLESEN authored
- relocate zone IO from Detail::MeshedSurfaceIOAllocator into surfMesh directly to allow re-purposing of MeshedSurfaceIOAllocator - provide meshedSurf::emptySurface zero-sized placeholder implementation - add concrete implementation of meshedSurf::zoneIds() to simplify overloading
-
- Feb 07, 2019
-
-
Mark OLESEN authored
- previously had a single pointer/value zeros (8 bytes), this meant that the reinterpret cast to a List would yield a reference that could be unsafe under certain conditions. Eg, const labelList& myList = labelList::null(); Info<< myList.size() << nl; // OK since size is the first parameter SubList<label>(myList, 0); // Unsafe The SubList usage is unsafe since it passes in pointer and size into the underlying UList. However, the pointer from the labelList::null() will be whatever happens to be around in memory immediately after the NullObject singleton. This is mostly not a problem if the List size is always checked, but does mean that the data pointer is rather dubious. - Increase the size of the nullObject singleton to 32 bytes of zeros to ensure that most reinterpret casting will not result in objects that reference arbitrary memory. The 32-byte data size is rather arbitrary, but covers most basic containers.
-
Mark OLESEN authored
-
- Feb 05, 2019
-
-
Mark OLESEN authored
-
- Feb 07, 2019
-
-
mattijs authored
-
mattijs authored
-
Mark OLESEN authored
Feature object registry search See merge request OpenFOAM-plus!232
-
- Feb 06, 2019
-
-
OpenFOAM bot authored
-
mattijs authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- objectRegistry search, erase methods - clip, minMax - function object triggering ...
-
Mark OLESEN authored
- The findObject() methods are template-typed and used to locate a particular Type/name combination. Eg, volScalarField* ptr = obr.findObject<volScalarField>("xyz"); - The findIOobject() methods are un-typed and use the name only. Eg, regIOobject* ptr = obr.findIOobject("xyz"); The typed versions will be most commonly used, but the un-typed lookup can be useful in a templating. - Simplified findObject* methods to use findIOobject* as the backend.
-
Mark OLESEN authored
- similar to what erase() does, but as a mutable operation (#1180) - replace basicThermo lookupAndCheckout (commit 880c9875) with the new objectRegistry::checkOut() method.
-
Mark OLESEN authored
- implemented as lazy evaluation with an additional update() method. This avoids unnecessary changes until the values are actually required. - apply mesh motion changes for momentum, volFieldValue, specieReactionRates function objects
-
Mark OLESEN authored
- forwards to the underlying HashTable erase, but frees things owned by the registry as well (ie, performs a checkOut)
-