- Nov 19, 2020
-
-
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
-
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
- 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)
-
Mark OLESEN authored
-
Mark OLESEN authored
-
- Nov 10, 2020
- Nov 09, 2020
-
-
Mark OLESEN authored
ENH: provide fallback prefix for cmake detection STYLE: simplify some shell syntax, avoid uname call in sysFunctions STYLE: report FOAM_MPI during mpiLib builds
-
- Nov 07, 2020
-
-
Mark OLESEN authored
- upstream fixes: minor compiler warnings, style changes
-
- Nov 04, 2020
-
-
Mark OLESEN authored
- ensures that subsequent Allwmake scripts know about it. ENH: add bin/tools/query-detect wrapper for wmake have_* scripts CONFIG: use project/ThirdParty without additional sanity checks - no need to test for Allwmake or platforms/ if ThirdParty is located within the project directory itself. COMP: add simple mpi test to 00-dummy - for testing library linkage, etc.
-
Mark OLESEN authored
- blockMesh <- extrudeModel <- dynamicMesh COMP: bad constructor in searchableSphere - used brace initializer instead of bracket initializer, which triggered component-wise construction instead of copy/move construction (gcc 4.8) STYLE: use uint8_t instead of relying on definition of 'direction'
-
- Oct 29, 2020
-
-
Mark OLESEN authored
- uses averaged value instead of emitting a fatal error
-
- Oct 28, 2020
-
-
Mark OLESEN authored
- first sort the cells into their ijk bins, and restrict testing for face orientation to those faces with an owner or neighbour that has an ijk bin. ENH: ensure polyMesh from PDRblockMesh is marked as AUTO_WRITE - the particular polyMesh constructor inherits the writeOpt, which makes is dependent on the caller and thus somewhat fragile for the top level caller.
-
Mark OLESEN authored
- for blockMesh meshing and as snappyHexMesh geometry (adjust the igloo aspect ratio)
-
- a sphere/spheroid can be specified as a single radius or three radii. If all three values happen to be identical, they are collapsed to a single value. Examples, radius 2; radius (2 2 2); radius (2 3 4); radius (2 2 4); The search for nearest point on an ellipse or ellipsoid follows the description given by Geometric Tools (David Eberly), which also include some pseudo code. The content is CC-BY 4.0 In the search algorithm, symmetry is exploited and the searching is confined to the first (+x,+y,+z) octant, and the radii are ordered from largest to smallest. Searching is optimized for sphere, prolate and oblate spheroids.
-
Mark OLESEN authored
- code reduction, documentation, code stubs for spheroid (#1901) - make searchableSurfaceCollection available as 'collection' for consistency with other objects
-
Mark OLESEN authored
- make handling of verbosity more consistent. Make all setter return the old value, remove (unused) default parameter as being counter-intuitive. This makes it easier to restore the original values. For example, const bool oldVerbose = sampler.verbose(false); ... sampler.verbose(oldVerbose);
-