1. 26 Jun, 2020 1 commit
  2. 23 Jun, 2020 1 commit
    • 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
  3. 19 Jun, 2020 1 commit
  4. 11 Jun, 2020 3 commits
    • 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
  5. 10 Jun, 2020 1 commit
  6. 09 Jun, 2020 1 commit
    • 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
  7. 08 Jun, 2020 3 commits
    • 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
  8. 05 Jun, 2020 2 commits
  9. 03 Jun, 2020 1 commit
  10. 02 Jun, 2020 1 commit
    • 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
  11. 23 May, 2020 2 commits
  12. 22 May, 2020 1 commit
  13. 20 May, 2020 1 commit
  14. 18 May, 2020 1 commit
  15. 14 May, 2020 1 commit
  16. 12 May, 2020 2 commits
    • Mark OLESEN's avatar
      ENH: improved encapsulation of MPI (re)builds · d4e31093
      Mark OLESEN authored
      - dependency handling relocated from cmakeFunctions to wmakeFunctions
        and reused for mpi-versioned builds. This allows more checks for
        configuration parameters and removes hard-code build path
        information.
      
      CONFIG: remove spurious mplibHPMPI entries
      
      CONFIG: remove ADIOS1 rules (antiquated)
      d4e31093
    • Mark OLESEN's avatar
      ENH: add 'subcommand' handling to wmake (#1693) · 9e3d0685
      Mark OLESEN authored
      - initial split of wmake-related commands into "plumbing" and
        "porcelain" akin to how git handles things.
      
      - wmakeBuildInfo (very low-level), now relocated to the wmake/scripts
        and accessible for the user as "wmake -build-info".
      
        This satisfies a long-standing desire to access build information
        in a fashion similar to the api/patch information.
      
      CONFIG: avoid git information when building with a debian/ directory
      
      - when a 'debian/' directory exists, there is a high probability that
        the '.git/' directory is from debian and not from OpenFOAM (ie,
        useless here). This corresponds to an implicit '-no-git', which has
        no effect when building from pristine sources.
      
      ENH: wmakeCheckPwd becomes scripts/wmake-check-dir
      
      - accessible for the user as "wmake -check-dir" and with 1 or 2
        directory names. A wmakeCheckPwd symlink left for compatibility.
      9e3d0685
  17. 06 May, 2020 2 commits
  18. 05 May, 2020 1 commit
    • Mark OLESEN's avatar
      ENH: improve cmake/ParaView config handling · aafe674f
      Mark OLESEN authored
      - improve handling of changes in ParaView/VTK or cmake parameters (#1693)
      
        * adjust internals to support recording of an unlimited number of
          configuration parameters and use file `cmp` instead of trying
          to check strings ourselves.
      
      ENH: new wmake/scripts/wmake.cmake-args handler
      
      - additional handling of -prefix=... as CMAKE_INSTALL_PREFIX export.
      
      - in some contexts, can use instead of AllwmakeParseArguments
      aafe674f
  19. 27 Apr, 2020 1 commit
  20. 21 Apr, 2020 1 commit
    • Mark OLESEN's avatar
      CONFIG: additional packaging helpers, tutorial test helper · aa2f932b
      Mark OLESEN authored
      - bin/tools/create-mpi-config to query/write values for system openmpi.
        In some cases this can be used to avoid an mpicc requirement at runtime.
      
      - adjust openfoam session to include -test-tutorial forwarding to the
        tutorials/AutoTest. This helps with writing installation tests.
      
      - adjust foamConfigurePaths to latest version
      
      - removal of gperftools default config, as per develop
      aa2f932b
  21. 15 Apr, 2020 1 commit
  22. 08 Apr, 2020 1 commit
    • Mark OLESEN's avatar
      CONFIG: improve config files for Darwin (#1667), BSD-csh syntax (#1668) · f01ad2f1
      Mark OLESEN authored
      - use Clang instead of Gcc for Darwin since this is its system
        compiler. The user can force use of Gcc by using Gcc92 etc.
      
      - make etc/cshrc sed check more robust.
      
      - replace tcsh (${%var}) syntax with ("${var}" != "")
      
      [Fixes and ideas from Alexey Matveichev]
      
      CONFIG: do not source the gperftools environment by default
      
      - this is now an used feature, but can be re-enabled by advanced users
        if required.
      f01ad2f1
  23. 25 Mar, 2020 1 commit
  24. 18 Mar, 2020 1 commit
  25. 16 Mar, 2020 3 commits
    • Mark OLESEN's avatar
      CONFIG: improve prefix matching for system libraries (#1607) · fe17c8ad
      Mark OLESEN authored
      - missed detection of system libraries when installed with multiarch
        paths like /usr/lib/x86_64-linux-gnu
      
      CONFIG: improve handling of group/user config files (#928)
      
      - changed bashrc handling of FOAM_CONFIG_NOUSER to use
        FOAM_CONFIG_MODE instead. Propagate into foamEtcFile to make this
        a stickier control.
      
        This change allows better control, but also enables cluster
        installations to define their own value within the OpenFOAM prefs.sh
        file to prevent users accidentally mis-configuring things if
        necessary.
      
      - remove undocumented handling of an (a)ll mode in foamEtcFile to
        avoid potential pitfalls.
      
      - add support for FOAM_CONFIG_ETC handling.
        This allows injection of an extra search layer when finding
        project etc files
      
      ENH: improvements to foamConfigurePaths (#928)
      
      - handle FOAM_CONFIG_ETC implicitly, or explicitly with the new
        -etc option.
      
      STYLE: more explicit wording in foamConfigurePaths usage (#1602)
      
      - document that an absolute path (eg, -scotch-path) overrides/ignores
        the equivalent ThirdParty setting (eg, -scotch)
      
      - longer options -system-compiler and -third-compiler for -system
        and -third, respectively. Clearer as to their purpose.
      
      - adjust the location sanity check to look for META-INFO directory.
      fe17c8ad
    • Mark OLESEN's avatar
      CONFIG: support FOAM_EXTRA_CXXFLAGS (#1256) · ac8b64df
      Mark OLESEN authored
      - allows custom tuning of compilation parameters
      ac8b64df
    • Mark OLESEN's avatar
      ENH: openfoam shell session - improved and relocated · ba3a31af
      Mark OLESEN authored
      - '-c' option (as per shell), '-Dkey[=value]' option to provide
        preferences via the command-line. For example,
      
            etc/openfoam -DWM_COMPILER=Clang -int64  ./Allwmake -j -s -l
      
        These can also be combined with other options. Eg,
      
            etc/openfoam -DWM_COMPILER=Clang \
                -c 'wmake -show-path-cxx -show-cxxflags'
      
      - relocated from bin/tools/ => etc/ for easier access
      
      - bin/tools/openfoam.in : for autoconfig-style installation
      
      - Auto-detect if the shell script was executed with openfoam and
        interpret accordingly.
      
        Simple example,
      
            --------------
            #!/usr/bin/openfoam
            cd "${0%/*}" || exit   # Run -*-sh-*- from this dir
      
            blockMesh
            simpleFoam
            --------------
      
         Note it is NOT currently possible to provide any other parameters
         this way. Eg,
      
            `#!/usr/bin/openfoam -sp` (NOT)
      
         This will either fail to run, or result in infinite recursion.
      ba3a31af
  26. 12 Mar, 2020 1 commit
    • Mark OLESEN's avatar
      ENH: adjust sampling onto meshed surfaces (#1600) · 06c4dc34
      Mark OLESEN authored
      - base level surface container is now a meshedSurface instead of
        a triSurface. This avoid automatic triangulation of surfaces
        when they are read, and simplifies the internals.
      
      - sampling types:
        * "meshedSurface" (compat: "sampledTriSurfaceMesh")
        * "meshedSurfaceNormal" (compat: "sampledTriSurfaceMeshNormal")
      06c4dc34
  27. 24 Feb, 2020 1 commit
    • Mark OLESEN's avatar
      CONFIG: improve prefix matching for system libraries (#1607) · 5ba2cbc5
      Mark OLESEN authored
      - missed detection of system libraries when installed with multiarch
        paths like /usr/lib/x86_64-linux-gnu
      
      CONFIG: improve handling of group/user config files (#928)
      
      - changed bashrc handling of FOAM_CONFIG_NOUSER to use
        FOAM_CONFIG_MODE instead. Propagate into foamEtcFile to make this
        a stickier control.
      
        This change allows better control, but also enables cluster
        installations to define their own value within the OpenFOAM prefs.sh
        file to prevent users accidentally mis-configuring things if
        necessary.
      
      - remove undocumented handling of an (a)ll mode in foamEtcFile to
        avoid potential pitfalls.
      
      - add support for FOAM_CONFIG_ETC handling.
        This allows injection of an extra search layer when finding
        project etc files
      
      ENH: improvements to foamConfigurePaths (#928)
      
      - handle FOAM_CONFIG_ETC implicitly, or explicitly with the new
        -etc option.
      
      STYLE: more explicit wording in foamConfigurePaths usage (#1602)
      
      - document that an...
      5ba2cbc5
  28. 20 Feb, 2020 1 commit
  29. 12 Feb, 2020 1 commit
    • Mark OLESEN's avatar
      ENH: openfoam shell session - improved and relocated · f90de021
      Mark OLESEN authored
      - '-c' option (as per shell), '-Dkey[=value]' option to provide
        preferences via the command-line. For example,
      
            etc/openfoam -DWM_COMPILER=Clang -int64  ./Allwmake -j -s -l
      
        These can also be combined with other options. Eg,
      
            etc/openfoam -DWM_COMPILER=Clang \
                -c 'wmake -show-path-cxx -show-cxxflags'
      
      - relocated from bin/tools/ => etc/ for easier access
      
      - bin/tools/openfoam.in : for autoconfig-style installation
      
      - Auto-detect if the shell script was executed with openfoam and
        interpret accordingly.
      
        Simple example,
      
            --------------
            #!/usr/bin/openfoam
            cd "${0%/*}" || exit   # Run -*-sh-*- from this dir
      
            blockMesh
            simpleFoam
            --------------
      
         Note it is NOT currently possible to provide any other parameters
         this way. Eg,
      
            `#!/usr/bin/openfoam -sp` (NOT)
      
         This will either fail to run, or result in infinite recursion.
      f90de021
  30. 06 Feb, 2020 1 commit
    • Mark OLESEN's avatar
      CONFIG: provide separate default settings for clang/gcc (fixes #1566) · 92a148e9
      Mark OLESEN authored
      - the foamConfigurePaths script is quite simplistic and aggressive in
        what it changes. This was particularly evident when using it to
        change gcc/clang versions.
      
        Restructured the corresponding compiler settings to define default
        versions (eg, "default_gcc_version") that limits the scope of
        changes performed by foamConfigurePaths and makes it easier to
        understand if changing manually.
      92a148e9