1. 08 Jun, 2020 1 commit
  2. 05 Jun, 2020 4 commits
    • Mark Olesen's avatar
      TUT: add parallel test for laplacianFoam · bcc1a499
      Mark Olesen authored
      - one of the simplest test applications to run quickly and test
      bcc1a499
    • Kutalmis Bercin's avatar
      ENH: improve/verify atmBoundaryLayerInlet conditions · 336fb3bd
      Kutalmis Bercin authored and Andrew Heather's avatar Andrew Heather committed
        ENH: add generalised log-law type ground-normal inflow boundary conditions for
        wind velocity and turbulence quantities for homogeneous, two-dimensional,
        dry-air, equilibrium and neutral atmospheric boundary layer (ABL) modelling
      
        ENH: remove `zGround` entry, which is now automatically computed
      
        ENH: add `displacement height` entry, `d`
      
        ENH: add generalised atmBoundaryLayerInletOmega boundary condition
      
        ENH: add a verification case for atmBoundaryLayerInlet BCs
      
        DOC: improve atmBoundaryLayerInlet header documentation
      
        BUG: fix value-entry behaviour in atmBoundaryLayerInlet (fixes #1578)
        Without this change:
        - for serial-parallel computations, if `value` entry is available in
          an `atmBoundaryLayerInlet` BC, the theoretical ABL profile expressions
          are not computed, and the `value` entry content is used as a profile data
        - for parallel computations, if `value` entry is not available, `decomposePar`
          could not be executed.
        With this change:
        - assuming `value` entry is always be present, the use of `value` entry for
          the ABL profile specification is determined by a flag `initABL`
        - the default value of the optional flag `initABL` is `true`, but whenever
          `initABL=true` is executed, `initABL` is overwritten as `false` for the
          subsequent runs, so that `value` entry can be safely used.
        Thanks Per Jørgensen for the bug report.
      
        BUG: ensure atmBoundaryInlet conditions are Galilean-invariant (fixes #1692)
      
        Related references:
      
            The ground-normal profile expressions (tag:RH):
              Richards, P. J., & Hoxey, R. P. (1993).
              Appropriate boundary conditions for computational wind
              engineering models using the k-ε turbulence model.
              In Computational Wind Engineering 1 (pp. 145-153).
              DOI:10.1016/B978-0-444-81688-7.50018-8
      
          Modifications to preserve the profiles downstream (tag:HW):
              Hargreaves, D. M., & Wright, N. G. (2007).
              On the use of the k–ε model in commercial CFD software
              to model the neutral atmospheric boundary layer.
              Journal of wind engineering and
              industrial aerodynamics, 95(5), 355-369.
              DOI:10.1016/j.jweia.2006.08.002
      
          Expression generalisations to allow height
          variation for turbulence quantities (tag:YGCJ):
              Yang, Y., Gu, M., Chen, S., & Jin, X. (2009).
              New inflow boundary conditions for modelling the neutral equilibrium
              atmospheric boundary layer in computational wind engineering.
              J. of Wind Engineering and Industrial Aerodynamics, 97(2), 88-95.
              DOI:10.1016/j.jweia.2008.12.001
      
          The generalised ground-normal profile expression for omega (tag:YGJ):
              Yang, Y., Gu, M., & Jin, X., (2009).
              New inflow boundary conditions for modelling the
              neutral equilibrium atmospheric boundary layer in SST k-ω model.
              In: The Seventh Asia-Pacific Conference on Wind Engineering,
              November 8-12, Taipei, Taiwan.
      
        Reproduced benchmark:
            Rectangular prism shown in FIG 1 of
              Hargreaves, D. M., & Wright, N. G. (2007).
              On the use of the k–ε model in commercial CFD software
              to model the neutral atmospheric boundary layer.
              Journal of wind engineering and
              industrial aerodynamics, 95(5), 355-369.
              DOI:10.1016/j.jweia.2006.08.002
        Benchmark data:
            HW, 2007 FIG 6
      
        TUT: update simpleFoam/turbineSiting tutorial accordingly
      336fb3bd
    • Kutalmis Bercin's avatar
      ENH: add new FO Streaming-Total Dynamic Mode Decomposition (STDMD) · 730233cd
      Kutalmis Bercin authored and Andrew Heather's avatar Andrew Heather committed
          STDMD (i.e. Streaming Total Dynamic Mode Decomposition) is a variant of
          a data-driven dimensionality reduction method.
      
          STDMD is being used as a mathematical post-processing tool to compute
          a set of dominant modes out of a given flow (or dataset) each of which is
          associated with a constant frequency and decay rate, so that dynamic
          features of a given flow may become interpretable, and tractable.
          Among other Dynamic Mode Decomposition (DMD) variants, STDMD is presumed
          to provide the general DMD method capabilities alongside economised and
          feasible memory and CPU usage.
      
          Please refer to the header file documentation for further details.
      
        ENH: add new STDMD tutorial, pimpleFoam/laminar/cylinder2D
      730233cd
    • mattijs's avatar
      ENH: motorBike: change coarseLevel solver · 67b7b378
      mattijs authored
      67b7b378
  3. 03 Jun, 2020 1 commit
    • sergio's avatar
      COM: Separate htc FO from general FO and reactingEuler solvers (#1714) · 95f7ed03
      sergio authored and Mark Olesen's avatar Mark Olesen committed
      The phase systems tables for multiphase solvers create conflict
      between each other as they are defined in the same namespace and using
      similar class names.
      
      Therefore a special htc function object for reactingEulerSolver was
      added (reactingEulerHtcModel), located under
      src/phaseSystemModels/reactingEulerFoam/functionObjects/
      
      This commit includes the following:
      
      - Relocate solvers/reactingEulerFoam functionObjects to
        src/phaseSystemModels
      - Remove links for fieldFunctionObject to multiphase libs to avoid
        conflicts
      - New FO for htc for reactingEulerFoam called reactingEulerHtcModel
      95f7ed03
  4. 23 May, 2020 2 commits
  5. 21 May, 2020 2 commits
  6. 18 May, 2020 1 commit
    • mattijs's avatar
      ENH: leak-detection. Fixes #1572. · 3d746e8a
      mattijs authored
      The final leak can only be decided once all cells have been
      deleted. So only exit on final invocation and give warning-only
      beforehand. This avoids a lot of false positives.
      The tutorial itself didn't actually produce a mesh with leakage
      with the old settings. Upped the refinement level to force it
      to go through the hole in the geometry.
      3d746e8a
  7. 13 May, 2020 2 commits
    • Mark Olesen's avatar
      ENH: add blockMeshDict "mergeType" keyword (#1589) · 44b22560
      Mark Olesen authored
      - enumerated values are (points | topology) which can be optionally
        specified in the blockMeshDict. Default is 'topology'.
      
        If the command-line option `blockMesh -merge-points` is specified,
        this has absolute priority over any blockMeshDict entry.
      
      STYLE: changed blockMesh "-blockTopology" option to "-write-obj"
      
      - this is more specific to what it does. Potentially wish to add a
        "-write-vtk" option in the future.
      
      TUT: adjust tutorials to use preferred or necessary merge strategies:
      
        * channel395DFSEM - topology
        * nozzleFlow2D - points
        * pipeCyclic - points
      44b22560
    • mattijs's avatar
      1584f28e
  8. 08 May, 2020 1 commit
  9. 04 May, 2020 1 commit
  10. 01 May, 2020 1 commit
  11. 29 Apr, 2020 1 commit
    • Kutalmis Bercin's avatar
      ENH: add directionalMeshWave functionality · ea16cb4b
      Kutalmis Bercin authored
        For a given point within a given mesh, the existing `meshWave` method gives
        the orthogonal distance to a patch. In meshes with very steep terrain (e.g.
        a hill of 90 [deg], this might be problematic for the fields that require
        the distance to the patch associated with the terrain surface.
      
        `directionalMeshWave` is a variant of `meshWave` distance-to-patch method,
        which ignores the component in the specified direction. Can be used e.g. to
        calculate the distance in the z-direction only.
      
        TUT: add example of directionalMeshWave to mesh/moveDynamicMesh/SnakeCanyon
      
        Requirement by CENER
        Implementation by Mattijs Janssens
      ea16cb4b
  12. 21 Apr, 2020 2 commits
  13. 20 Apr, 2020 1 commit
    • Sergio Ferraris's avatar
      ENH: Adding interfaceHeatResistance mass transfer model · b240f9f9
      Sergio Ferraris authored and Andrew Heather's avatar Andrew Heather committed
      1) Add interfaceHeatResistance model to icoReactingMultiphaseInterFoam
         This model uses a spread source for the continuity Eq.
         It is recommended for cases with good mesh resolution.
      
      2) Adding iso-surface type of calculation for the interface for
         the kineticGasEvaporation model
      
      3) Add switch for option to take into account volume change
      
      4) Add poolEvaporation tutorial
      b240f9f9
  14. 17 Apr, 2020 1 commit
  15. 14 Apr, 2020 1 commit
  16. 08 Apr, 2020 1 commit
  17. 06 Apr, 2020 1 commit
    • sergio's avatar
      ENH: Adding option to thermalBaffle to be used as external/internal baffle · 0eed8fa8
      sergio authored
        Now the thermal baffle can be extrapolated from a patch which is
        coupled to the bottom patch of the solid region.
      
        The user can set the T bc on the 'top' patch of the solid.
      
        The new keyword is 'internal' and its default is true. Check new
        tutorial for an example:
      
        tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/
      0eed8fa8
  18. 30 Mar, 2020 1 commit
  19. 16 Mar, 2020 1 commit
  20. 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
  21. 11 Mar, 2020 1 commit
  22. 21 Feb, 2020 1 commit
    • Mark Olesen's avatar
      ENH: handle entry alternatives outside of string expansion · 083181ca
      Mark Olesen authored
      - string expansions have supported "${var:-default}" syntax for
        several versions, but this did not apply plain dictionary expansions.
      
        Eg, the following did not parse
      
           massFlow  ${entry1:-100};
      
      ENH: remove content and length restriction on '${..}' quoted variables
      
      - allows this type of content:
      
           velocity2  ${velocity1:- ( 0 -100 10) };
      
      - accept empty parameter strings for entries. This allows the
        following expansion to work as expected:
      
            hex (n1 n2..)  ${inletBlock:-} (10 10 10) simpleGrading (1 1 1)
      
        ie, optionally define the cellZone name for a given block
      
      ENH: add single parameter dictionary writeEntry method.
      
      - the dictionary knows its own name (dictName), which can be used
        when writing content
      083181ca
  23. 20 Feb, 2020 2 commits
  24. 19 Feb, 2020 5 commits
  25. 18 Feb, 2020 1 commit
    • Mark Olesen's avatar
      ENH: overhaul ensight handling (#1579) · a9762812
      Mark Olesen authored and Andrew Heather's avatar Andrew Heather committed
      - includes restructuring and simplification of low-level ensight part
        handling and refactor of backends to improve code reuse.
      
      foamToEnsight
      -------------
      
        * new cellZone support.
          This was previously only possible via a separate foamToEnsightParts
          utility that was not parallelized.
      
        * support for point fields.
      
        * `-nearCellValue` option (as per foamToVTK)
      
        * data indexing now uses values from the time index.
          This is consistent with the ensightWrite function object and
          can help with restarts.
      
        * existing ensight directories are removed, unless the -no-overwrite
          option is supplied
      
      foamToEnsightParts
      ------------------
        * now redundant and removed.
      
      ensightOutputSurface (new class)
      --------------------------------
        * a lightweight wrapper for point/face references that is tailored
          for the ensightSurfaceWriter. It uses compact face/point information
          and is serial only, since this is the format requirements from the
          surfaceWriter class.
      
      ensightMesh (revised class)
      ---------------------------
        * now only holds a polyMesh reference, which removes its dependency
          on finiteVolume and allows it to be relocated under fileFormats
          instead of conversion.
      
      Removed classes: ensightParts, ensighPartFaces, ensightPartCells
      
      - these were used by foamToEnsightParts, but not needed anymore.
      a9762812
  26. 10 Feb, 2020 1 commit
  27. 07 Feb, 2020 1 commit
  28. 29 Jan, 2020 1 commit
    • Kutalmis Bercin's avatar
      TUT: cleanup compressible tutorials · cee3dab1
      Kutalmis Bercin authored
       - for all tutorial cases:
           - correct/uniformize dict-style
           - rm redundant dict entries
      
       - compressible.overRhoPimpleDyMFoam.twoSimpleRotors: rm redundant file: pointDisplacement
       - compressible.overRhoSimpleFoam.hotCylinder
       - compressible.rhoCentralDyMFoam.movingCone
       - compressible.rhoCentralFoam.forwardStep: activate purgeWrite=10
       - compressible.rhoCentralFoam.LadenburgJet60psi: rm redundant files: mapFieldsDict & sample
       - compressible.rhoCentralFoam.shockTube: rm redundant file: sample; command: cleanSample
       - compressible.rhoPimpleFoam.laminar.sineWaveDamping: rm redundant file: V; activate purgeWrite=10
       - compressible.rhoPimpleFoam.LES.pitzDaily: activate purgeWrite=10
       - compressible.rhoPimpleFoam.RAS.aerofoilNACA0012: activate purgeWrite=10
       - compressible.rhoPimpleFoam.RAS.angledDuct: add Allclean
       - compressible.rhoPimpleFoam.RAS.mixerVessel2D: add Allclean; rm makeMesh
       - compressible.rhoPimpleFoam.RAS.angledDuctLTS: add Allclean
       - compressible.rhoPimpleFoam.RAS.TJunctionAverage
       - compressible.rhoPorousSimpleFoam.angledDuct
       - compressible.rhoSimpleFoam.aerofoilNACA0012
       - compressible.rhoSimpleFoam.angledDuctExplicitFixedCoeff
       - compressible.rhoSimpleFoam.squareBend
       - compressible.rhoSimpleFoam.gasMixing.injectorPipe
       - compressible.sonicDyMFoam.movingCone: rm redundant file: cuttingPlane
       - compressible.sonicFoam.laminar.shockTube
       - compressible.sonicFoam.RAS.nacaAirfoil
       - compressible.sonicFoam.RAS.prism
      cee3dab1