Skip to content
Snippets Groups Projects
  1. Nov 19, 2020
    • Mark OLESEN's avatar
      ENH: Function1 and PatchFunction1 improvements (#1917) · 2f2dcdcf
      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
      2f2dcdcf
    • Mark OLESEN's avatar
      STYLE: fix doxygen comments · 4b964f67
      Mark OLESEN authored
      4b964f67
    • Mark OLESEN's avatar
      STYLE: can add compile-time deprecated message for autoPtr::set() · 6e3bc1f7
      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
      6e3bc1f7
    • Mark OLESEN's avatar
      STYLE: use brace constructors for Foam::zero and Foam::one · 07bbae0c
      Mark OLESEN authored
      - makes it clearer that these are constructors and not function calls
      07bbae0c
    • Mark OLESEN's avatar
      STYLE: prefix zero/one with Foam:: qualifier · 98d05fa8
      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
      98d05fa8
    • Mark OLESEN's avatar
      ENH: fanPressureFvPatchScalarField - adjust compatibility handling · f126e291
      Mark OLESEN authored
      COMP: add missing clone() for fanCurve member
      
      STYLE: reduce padding in data members
      f126e291
  2. Nov 18, 2020
  3. Nov 17, 2020
  4. Nov 16, 2020
  5. Nov 13, 2020
  6. Nov 12, 2020
  7. Nov 11, 2020
    • Mark OLESEN's avatar
      CONFIG: rationalize mpi config tuning (#1910) · c91fc6f4
      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
      c91fc6f4
    • Mark OLESEN's avatar
      CONFIG: rationalize compiler tuning · 26ec9b5a
      Mark OLESEN authored
      - support prefs.compiler with better possibilities to provide
        overload values
      
      STYLE: reduce code for WM_ARCH_OPTION (seldom-used)
      26ec9b5a
    • Mark OLESEN's avatar
      ENH: generalize argList help output · 67b3c01e
      Mark OLESEN authored
      67b3c01e
    • Mark OLESEN's avatar
      STYLE: line breaks and spelling · ef2ea962
      Mark OLESEN authored
      ef2ea962
  8. Nov 10, 2020
  9. Nov 09, 2020
  10. Nov 07, 2020
  11. Nov 04, 2020
    • Mark OLESEN's avatar
      ENH: handle wmake -debug option via FOAM_EXTRA_CXX_FLAGS · 1d544540
      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.
      1d544540
    • Mark OLESEN's avatar
      COMP: adjust build order · 83fb4867
      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'
      83fb4867
  12. Oct 29, 2020
  13. Oct 28, 2020
    • Mark OLESEN's avatar
      BUG: PDRsetFields fails with non-orthogonal outer region (fixes #1907) · 3b7100a9
      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.
      3b7100a9
    • Mark OLESEN's avatar
      TUT: add examples of general spheroid (#1901) · 043419f3
      Mark OLESEN authored
      - for blockMesh meshing and as snappyHexMesh geometry
        (adjust the igloo aspect ratio)
      043419f3
    • Victor Olesen's avatar
      ENH: support general searchable spheroid (issue #1901) · e9d130f0
      Victor Olesen authored and Mark OLESEN's avatar Mark OLESEN committed
      - 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.
      e9d130f0
    • Mark OLESEN's avatar
      ENH: adjustments to searchable surfaces · 4258f805
      Mark OLESEN authored
      - code reduction, documentation, code stubs for spheroid (#1901)
      
      - make searchableSurfaceCollection available as 'collection'
        for consistency with other objects
      4258f805
    • Mark OLESEN's avatar
      ENH: use static to define default blockMesh verbosity · f999013f
      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);
      f999013f