Skip to content
Snippets Groups Projects
  1. Dec 16, 2020
    • Mark OLESEN's avatar
      ENH: lazier handling of dynamic libraries · 2811c054
      Mark OLESEN authored
      - previously always called dlclose on opened libraries when destroying
        the dlLibraryTable. However, by force closing the libraries the
        situation can arise that the library is missing its own code that it
        needs on unload (#1524). This is also sometimes evident when closing
        VTK libraries for runTimePostProcessing (#354, #1585).
      
      - The new default is to not forcibly dlclose any libraries, unless
        the dlcloseOnTerminate OptimisationSwitch specifies otherwise.
      
        - The dlLibraryTable::close() method can be used to explicitly close
          all libraries and clear the list.
      
        - The dlLibraryTable::clear() method now only clears the entries,
          without a dlclose.
      2811c054
  2. Dec 14, 2020
  3. Dec 11, 2020
  4. Dec 08, 2020
  5. Nov 26, 2020
  6. 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
  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 $(G...
      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
  8. 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
  9. Oct 28, 2020
    • Mark OLESEN's avatar
      ENH: support true/false, yes/no values for FOAM_ABORT (#1896) · 410d38b9
      Mark OLESEN authored
      - consistent with FOAM_SIGFPE etc.
      
      - centralize code as error::useAbort() static function to avoid
        scattering the logic throughout the code.
      
      ENH: also accept "0" and "1" string values for Switch
      
      - not the normal path for Switch input (eg, from a dictionary), but
        consistent with bool definitions and simplifies string parsing.
      
        This means that `FOAM_SIGFPE=1 application` will now also work.
      410d38b9
    • Mark OLESEN's avatar
      TUT: fix use of "constant/triSurface" etc (#1887) · 9eb73a92
      Mark OLESEN authored
      - use bracketed syntax (eg, "<constant>/triSurface") instead for
        implicit case resolution.
      9eb73a92
  10. Oct 20, 2020
  11. Sep 28, 2020
  12. Sep 07, 2020
    • Mark OLESEN's avatar
      CONFIG: improve support for compiler/link options (#1830) · 9423d2bd
      Mark OLESEN authored
      - introduce WM_COMPILE_CONTROL variable to convey control information
        into the build rules.
      
        The convention (as per spack):
            - '+' to select a feature
            - '~' to deselect a feature
      
        Eg, to select the gold linker, and disable openmp
        (spaces are not required):
      
            WM_COMPILE_CONTROL="+gold ~openmp"
      
      CONFIG: accept FOAM_EXTRA_LDFLAGS for AMD, gold, Mingw linkers
      
      CONFIG: generalize PROJECT_LIBS (-ldl used almost universally)
      9423d2bd
  13. Aug 11, 2020
  14. Aug 10, 2020
  15. Aug 06, 2020
  16. Jul 23, 2020
  17. Jun 30, 2020
  18. Jun 29, 2020
  19. Jun 26, 2020
  20. Jun 23, 2020
    • Mark OLESEN's avatar
      CONFIG: support openfoam -init=FILE · cbcc8754
      Mark OLESEN authored
      - useful for supporting a variety of different predefined
        configuration files. Bypasses the regular etc/bashrc entirely.
      
      - minor refactoring in foamCreateModuleInclude
      cbcc8754
  21. Jun 19, 2020
  22. Jun 11, 2020
    • Kutalmış Berçin's avatar
      ENH: add missing/improve annotated dictionaries · d0d3670d
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        New:
        - blockMeshDict
        - sampleDict
        - boxTurbDict
        - createBoxTurbDict
        - dsmcInitialiseDict
        - mdEquilibrationDict
        - mdInitialiseDict
        - obstaclesDict
        - optimisationDict
        - potentialDict
        - probesDict
        - sampleDict
        - setExprBoundaryFieldsDict
        - setExprFieldsDict
      
        Improved:
        - extrudeMeshDict
        - topoSetSourcesDict
      d0d3670d
    • Kutalmış Berçin's avatar
      INT: various integrations from openfoam.org · 5cbdb7a3
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        ENH: add log FO
        ENH: improve log with scale, and offset entries
        BUG: ensure extrueMesh does not fail in parallel with wedge extrusion
        BUG: add missing clone and mapping funcs to copiedFixedValue, fixedMultiPhaseHeatFlux
        ENH: meshToMesh0::cellAddressing slight speed up for some geometries
        BUG:0003495: Divide-by-zero in SHF particle break-up model
        BUG:0003492: The formula in the OF is inconsistent with the Rosin-Rammler distribution theory formula
      5cbdb7a3
    • mattijs's avatar
      ENH: timeVaryingMapped: abstract IFstream/regIOobject handling. See #1640. · 5bf44095
      mattijs authored
      This change abstracts out the reading of "boundaryData". It should
      now support OpenFOAM headers and with that also binary input.
      5bf44095
  23. Jun 10, 2020
  24. Jun 09, 2020
    • Kutalmış Berçin's avatar
      ENH: New atmospheric boundary layer (ABL) model suite (Part 1) · 41e264f2
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        Please refer to the header file documentation for complete set of details.
      
        ENH: add new fvOptions for ABL modelling
      
          - atmAmbientTurbSource
          - atmBuoyancyTurbSource
          - atmCoriolisUSource
          - atmLengthScaleTurbSource
          - atmPlantCanopyTurbSource
          - atmPlantCanopyUSource
          - atmPlantCanopyTSource
          - atmNutSource
      
        ENH: add new boundary conditions for ABL modelling
             with PatchFunction1 and TimeFunction1 support
      
          - atmAlphatkWallFunction
          - atmEpsilonWallFunction
          - atmNutkWallFunction
          - atmNutUWallFunction
          - atmNutWallFunction
          - atmOmegaWallFunction
          - atmTurbulentHeatFluxTemperature
      
        STYLE: change names of nutkAtmRoughWallFunction -> atmNutkWallFunction by
               ensuring the bitwise backward compatibility
      
        ENH: add new variable-scaling force computation method to actuationDiskSource
      
        ENH: review actuationDiskSource and radialActuationDiskSource
      
        ENH: add new function object, ObukhovLength
      
        ENH: add new ABL tutorials/verifications
      
          - verificationAndValidation/atmosphericModels/atmFlatTerrain
            - verification with the Leipzig field experiment
            - illustration of precursor/successor field mapping
          - verificationAndValidation/atmosphericModels/atmForestStability
            - verification with the Sweden field experiment
          - update incompressible/simpleFoam/turbineSiting
      41e264f2
  25. Jun 08, 2020
    • Kutalmış Berçin's avatar
      DOC: elaborate the usage of function objects · a5c6516e
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        ENH: update libs of etc/caseDicts/postProcess items
        ENH: ensure destructor=default
        ENH: ensure constness
        ENH: ensure no 'copy construct' and 'no copy assignment' exist
        TUT: add examples of function objects with full set
             of settings into a TUT if unavailable
        TUT: update pisoFoam/RAS/cavity tutorial in terms of usage
      a5c6516e
    • Mark OLESEN's avatar
      ENH: support FOAM_MODULE_PREFIX to guide location of module builds (#1721) · 934d0bd7
      Mark OLESEN authored
      - When compiling additional modules or user code, we need more control
        for the installation locations beyond the usual FOAM_USER_LIBBIN,
        FOAM_SITE_LIBBIN, FOAM_LIBBIN, and wish to have these values be
        modifiable without editing files.
      
      - provide wmake rules for handling standard defaults:
          * GENERAL_RULES/module-path-user
          * GENERAL_RULES/module-path-group
          * GENERAL_RULES/module-path-project
        which are incorporated as follows:
      
        Make/options:
            include $(GENERAL_RULES)/module-path-user
      
        Make/files:
            LIB = $(FOAM_MODULE_LIBBIN)/libMyLibrary
      
        By default these would compile into FOAM_USER_{APPBIN,LIBBIN} but
        could be adjusted at compilation time. For example,
      
      ```
      wmake -module-prefix=/path/my-install-location
      ```
      Or
      ```
      ./Allwmake -module-prefix=/path/my-install-location
      ./Allwmake -prefix=/path/my-install-location
      ```
      Or
      ```
      FOAM_MODULE_PREFIX=/path/my-install-location ./Allwmake
      ```
      
      ENH: add -no-recursion option for AllwmakeParseArguments
      
      - more descriptive naming than the -fromWmake option (still supported)
      
      - remove wmake/scripts/wmake.{cmake,wmake}-args since the -prefix
        handling and -no-recursion is now directly handled by AllwmakeParseArguments
      934d0bd7
    • Mark OLESEN's avatar
      CONFIG: add gcc 10 series, reorder the compiler version list · 8e0b0536
      Mark OLESEN authored
      - now list compiler versions in reverse order (newest first) similar
        to how they are listed on the gcc/llvm sites. Add comments to
        mention which compiler series are now considered unsupported.
      8e0b0536
  26. Jun 05, 2020
  27. Jun 03, 2020
  28. Jun 02, 2020
    • Mark OLESEN's avatar
      ENH: unify use of dictionary method names · 3e43edf0
      Mark OLESEN authored
      - previously introduced `getOrDefault` as a dictionary _get_ method,
        now complete the transition and use it everywhere instead of
        `lookupOrDefault`. This avoids mixed usage of the two methods that
        are identical in behaviour, makes for shorter names, and promotes
        the distinction between "lookup" access (ie, return a token stream,
        locate and return an entry) and "get" access (ie, the above with
        conversion to concrete types such as scalar, label etc).
      3e43edf0
  29. May 23, 2020
  30. May 22, 2020