- Nov 25, 2020
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- findZone(), cfindZone() to return pointer to existing or nullptr if not found. This fits with methods such as findObject() etc for other classes and can simplify code without checks for '-1' as not found. - use simpler constructors for empty cell/face/point zones
-
Mark OLESEN authored
-
Mark OLESEN authored
- change to a templated implementation instead of relying on the container's writeList() method. This inlines the generation while also adding the flexibility to define different delimiters (at compile time) without the performance penalty of passing run-time parameters.
-
Mark OLESEN authored
- deprecate get(key, deflt) in favour of lookup(key, deflt). Method name compatibility with HashTable. - deprecate operator(). The meaning is too opaque and equally served by other means: - use get(key) instead of operator()(key). Const access whereas HashTable::operator()(key) creates missing entry. - lookup(key, deflt) - instead of operator()(key, deflt). Const access whereas HashTable::operator()(key, deflt) creates a missing entry. - make Enum iterable to allow participation in range-for etc.
-
Mark OLESEN authored
- were deprecated Aug-2018, but not marked as such
-
Mark OLESEN authored
-
- non-uniform offsets are generated due to truncation errors, which can lead to problems later on (e.g. redistributePar). Detect if the offsets are close to being uniform.
-
mattijs authored
Adds distance-to-surface as a pre-selection to detect cells-in-gaps. Before it could only use inside or outside but not distance.
-
- Nov 23, 2020
-
-
mattijs authored
This also is to do with redistributePar: this uses subsetMesh to generate parts to send to different processors. 2) related to 1558: make sure not to choose 'mapped' patches to move the processor patches into so we can use the mapper cloning and correctly size additional data (e.g. offsets). This should be generalised to hold for any patch type holding local data ...
-
mattijs authored
Potential problem with multiple faces. Rewritten to use DynamicList.
-
mattijs authored
For convenience - build finiteVolume first
-
- Nov 20, 2020
-
-
Andrew Heather authored
corrections and improvements for Function1 See merge request !391
-
- Nov 19, 2020
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- For slow oscillations it can be more intuitive to specify the period. ENH: separate mark/space for Square - makes it easier to tailor the desired intervals. BUG: incorrect square wave fraction with negative phase shifts ENH: additional cosine Function1 STYLE: avoid code duplication by inheriting Cosine/Square from Sine.
-
Mark OLESEN authored
- deprecated Feb-2018, but not marked as such. The set() method originally enforce an additional run-time check (Fatal if pointer was already set), but this was rarely used. In fact, the set() method was invariably used in constructors where the pointer by definition was unset. Can now mark as deprecated to catch the last of these. We prefer reset() for similarity with std::unique_ptr Eg, FOAM_EXTRA_CXXFLAGS="-DFoam_autoPtr_deprecate_setMethod" wmake
-
Mark OLESEN authored
- easier support for non-mandatory functions. In some boundary conditions it can be desirable to support additional functions, but not necessarily require them. Make this easier to support with a Function1, PatchFunction1 NewIfPresent() selector. - support for compatibility lookups - harmonize branching logic and error handling between Function1 and PatchFunction1. ENH: refactor a base class for Function1, PatchFunction1 - includes base characteristics, patch or scalar information ENH: additional creation macros - makeConcreteFunction1, makeConcretePatchFunction1Type for adding a non-templated function into the correct templated selection table. makeScalarPatchFunction1 for similarity with makeScalarFunction1
-
Mark OLESEN authored
- makes it clearer that these are constructors and not function calls
-
Mark OLESEN authored
ENH: support construction of zero-sized IndirectList - useful when addressing is to be generated in-place after construction. Eg, indirectPrimitivePatch myPatches ( IndirectList<face>(mesh.faces(), Zero), mesh.points() ); labelList& patchFaces = myPatches.addressing(); patchFaces.resize(...); // populate patchFaces STYLE: add noexcept for zero/one fields and remove old dependency files COMP: correct typedefs for geometricOneField, geometricZeroField
-
Mark OLESEN authored
COMP: add missing clone() for fanCurve member STYLE: reduce padding in data members
-
- Nov 18, 2020
-
-
Mark OLESEN authored
-
- Nov 17, 2020
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- uses ocountstream for the output, which swallows all output. Improves portability ENH: improved efficiency in countstreambuf - xsputn() instead of overflow - more consistent seek* methods
-
Mark OLESEN authored
- use bitSet instead of boolList/HashSet. Simplify looping
-
Mark OLESEN authored
ENH: add construct from components STYLE: adjust action variable name for consistency
-
Mark OLESEN authored
- add intermediate class topoSetFaceZoneSource and corresponding New() factories
-
Mark OLESEN authored
-
- Nov 16, 2020
-
-
mattijs authored
-
- Nov 13, 2020
-
-
Andrew Heather authored
ENH: PatchParticleHistogram: add a new cloud FO See merge request !386
-
Kutalmış Berçin authored
Computes a histogram for the distribution of particle diameters and corresponding number of particles hitting on a given list of patches. A minimal example by using `constant/reactingCloud1Properties.cloudFunctions`: ``` patchParticleHistogram1 { // Mandatory entries (unmodifiable) type patchParticleHistogram; patches (<patch1> <patch2> ... <patchN>); nBins 10; min 0.1; max 10.0; maxStoredParcels 20; } ```
-
Andrew Heather authored
Miscellaneous code changes - Nov 20 See merge request !387
-
Kutalmış Berçin authored
DOC: heatTransferCoeff models: complete remaining header docs STYLE: heatTransferCoeff models: use auto specifier when appropriate Optionally, the Nusselt number (i.e. the ratio of convective to conductive heat transfer at a boundary in a fluid) can be output: ```math Nu = \frac{h L}{\kappa} ``` where ``` Nu | Nusselt number h | Convective heat transfer coefficient of the flow L | Characteristic length that defines the scale of the physical system \kappa | Thermal conductivity of the fluid ```
-
Kutalmış Berçin authored
It was observed in a MPPICDyMFoam simulation involving a single particle in a moving mesh that the barocentric trajectory of the particle follows an unexpected path at some arbitrary instant in time. The issue was tracked to "hitEqn()" where cubicEqn/quadraticEqn computes one of the roots wrongly due to the discriminant limit we set, e.g. for: 0x^3 + 1.4334549e-33 x^2 - 9.0869006e-10 x + 0.0027666538 Although the discriminant limit was carefully selected to avoid various problems at the time, the new change is required more due to its exposition to a wider spectrum of applications.
-
From OpenFOAM Foundation https://github.com/OpenFOAM/OpenFOAM-dev/commit/e4d89daf5de85f31c98012102c7dea2e29351ff2 The main issue here was that reconstructPar is serial but coupled() in cyclicAMIFvPatch.C could return true if both sides of the patch was present (this->size() && neighbFvPatch().size()). However, this would result in an evaluate call in cyclicAMIFvPatchField. This would only work if both sides were completely contained on the same processor. The change in logic prevents coupled() from returning true when called in serial for a decomposed case. Signed-off-by:
Kutalmis Bercin <kutalmis.bercin@esi-group.com>
-
Kutalmış Berçin authored
ENH: actuationDiskSource: change two FatalError to FatalIOError
-
Kutalmış Berçin authored
The change helps to carry out and monitor parallelisation tests for FOs and topoSets.
-
Kutalmış Berçin authored
-
- Nov 12, 2020
-
-
Andrew Heather authored
Feature rationalize mpi configs See merge request !389
-
- Nov 11, 2020
-
-
Mark OLESEN authored
- prefix FOAM_MPI and library directories with 'sys-' for system versions for uniform identication. WM_MPLIB | libdir (FOAM_MPI) | old naming | SYSTEMMPI | sys-mpi | mpi | SYSTEMOPENMPI | sys-openmpi | openmpi-system | - prefix preferences with 'prefs.' to make them more easily identifiable, and update bin/tools/create-mpi-config accordingly Old name: config.{csh,sh}/openmpi New name: config.{csh,sh}/prefs.openmpi - additional mpi preferences now available: * prefs.intelmpi * prefs.mpich ... CONFIG: added hook for EASYBUILDMPI (eb-mpi), somewhat like USERMPI - EasyBuild uses mpicc when compiling, so no explicit wmake rules are used ENH: support different major versions for system openmpi - for example, with WM_MPLIB=SYSTEMOPENMPI2 defines FOAM_MPI=sys-openmpi2 and thus creates lib/sys-openmpi2 ENH: centralize handling of mpi as 'mpi-rules' Before: sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB) sinclude $(DEFAULT_RULES)/mplib$(WM_MPLIB) ifeq (,$(FOAM_MPI_LIBBIN)) FOAM_MPI_LIBBIN := $(FOAM_LIBBIN)/$(FOAM_MPI) endif After: include $(GENERAL_RULES)/mpi-rules - also allows variants such as SYSTEMOPENMPI2 to be handled separately
-
Mark OLESEN authored
- support prefs.compiler with better possibilities to provide overload values STYLE: reduce code for WM_ARCH_OPTION (seldom-used)
-