Skip to content
Snippets Groups Projects
  1. Feb 23, 2019
    • Mark OLESEN's avatar
      ENH: new PDRblockMesh mesh generation utility (issue #1216) · 84270ed6
      Mark OLESEN authored
      - While a rectilinear mesh can be created with blockMesh, not every mesh
        created with blockMesh will satisfy the requirements for being a
        rectilinear mesh.
      
        This alternative to blockMesh uses a single block that is aligned
        with the xy-z directions and specifications of the control points,
        mesh divisions and expansion ratios. For example,
      
          x
          {
              points  ( -13.28 -0.10 6.0 19.19 );
              nCells  (  10  12 10 );
              ratios  ( 0.2   1  5 );
          }
      
          y { ... }
          z { ... }
      
        With only one block, the boundary patch definition is simple and the
        canonical face number is used directly. For example,
      
          inlet
          {
              type    patch;
              faces   ( 0 );
          }
          outlet
          {
              type    patch;
              faces   ( 1 );
          }
      
          sides
          {
              type    patch;
              faces   ( 2 3 );
          }
      
          ...
      
      - After a mesh is defined, it is trivial to retrieve mesh-related
        information such as cell-volume, cell-centres for any i-j-k location
        without an actual polyMesh.
      
      STYLE: remove -noFunctionObjects from blockMesh
      
      - no time loop, so function objects cannot be triggered anyhow.
      84270ed6
  2. Feb 24, 2019
  3. Feb 23, 2019
  4. Feb 22, 2019
  5. Feb 20, 2019
  6. Feb 21, 2019
    • Mark OLESEN's avatar
      ENH: trap negative blockMesh expansions and treat as their inverse · 7da0b5be
      Mark OLESEN authored
      - A negative expansion ratio is geometrically invalid and will
        normally cause issues (FatalError).
        However, we can trap this type of input and interpret it as the
        inverse expansion ratio - ie, the expansion ratio in the opposite
        direction. This can be especially convenient when generating a blockMesh
        with a symmetrical expansion. It permits using the same expansion
        ratio (with a sign change) instead of providing the reciprocal values
        manually.
      
      COMP: revert demand-driven point creation in blockMesh (db9b35b5)
      
      - appears to have caused a dangling reference on some systems
      
      ENH: add a lightweight ijkAddressing class
      
      - it can be used for an i-j-k to linear lookup of meshes or fields,
        where applicable.
      7da0b5be
    • sergio's avatar
      BUG: Fixing entry consistency in PhaseMixtureEThermo.C · 1dc9e7c4
      sergio authored
      and reading dpdt in one basicThermo constructor
      1dc9e7c4
  7. Feb 20, 2019
  8. Feb 17, 2019
    • Mark OLESEN's avatar
      ENH: minor blockMesh improvements · 48e3590b
      Mark OLESEN authored
      - avoid potential ambiguities in naming of mesh faces/edges
        vs. block faces/edges
      
      - additional methods characterizing the number of faces
        (internal, boundary, total) associated with a blockDescriptor
      
      - cellLabel() accessor and checkIndex() methods
      
      - restore demand-driven behaviour of block, cache the calculated cells
        and refactor generation of block boundary faces to improve potential
        reuse.
      48e3590b
    • Mark OLESEN's avatar
      ENH: support VTK output of point ids · fe445ac5
      Mark OLESEN authored
      - can be useful for diagnosing mesh internals and the locations of
        decomposed cells.
      fe445ac5
  9. Feb 16, 2019
    • Mark OLESEN's avatar
      STYLE: declare edge::operator[] · 9cb6338c
      Mark OLESEN authored
      - already available from the FixedList inheritance, but provide
        explicitly in edge to allow future adjustment of the inheritance
        (#1205)
      9cb6338c
    • Mark OLESEN's avatar
      ENH: improvements to label/scalar ranges · 041be829
      Mark OLESEN authored
      - construct from MinMax, optional start index for identity factory
        method to match Foam::identity()
      
      - use GREAT instead of VGREAT in inverted scalarRange.
        Consistent with boundBox - to reduce the potential of overflow
        if calculating the span.
      
      - add min()/max() methods to labelRange
      041be829
  10. Feb 18, 2019
  11. Feb 15, 2019
  12. Feb 13, 2019
    • Mark OLESEN's avatar
      ENH: extended runTimePostProcessing (#1206) · 42fbf6d3
      Mark OLESEN authored
      - Extended runTimePostProcessing to include access to "live"
        simulation objects such a geometry patches and sampled surfaces
        stored on the "functionObjectObjects" registry.
      
      - Add 'live' runTimePostProcessing of cloud data.
        Extracts position and fields from the cloud via its objectRegistry writer
      
      - For the "live" simulation objects, there are two new volume filters
        that work directly with the OpenFOAM volume fields:
            * iso-surface
            * cutting planes
        Both use the VTK algorithms directly and support multiple values.
        Eg, can make multiple iso-levels or multiple planes parallel to each
        other.
      
      - When VTK has been compiled with MPI-support, parallel rendering will
        be used.
      
      - Additional title text properties (shadow, italic etc)
      
      - Simplified handling of scalar-bar and visibility switches
      
      - Support multiple text positions. Eg, for adding watermark text.
      42fbf6d3
  13. Feb 12, 2019
  14. Feb 07, 2019
    • Mark OLESEN's avatar
      ENH: improved sample surfaces and surface writers (#1206) · 181c974b
      Mark OLESEN authored
      - The writers have changed from being a generic state-less set of
        routines to more properly conforming to the normal notion of a writer.
        These changes allow us to combine output fields (eg, in a single
        VTK/vtp file for each timestep).
      
        Parallel data reduction and any associated bookkeeping is now part
        of the surface writers.
        This improves their re-usability and avoids unnecessary
        and premature data reduction at the sampling stage.
      
        It is now possible to have different output formats on a per-surface
        basis.
      
      - A new feature of the surface sampling is the ability to "store" the
        sampled surfaces and fields onto a registry for reuse by other
        function objects.
      
        Additionally, the "store" can be triggered at the execution phase
        as well
      181c974b
  15. Jan 23, 2019
    • Mark OLESEN's avatar
      ENH: added polySurface storage with fields (#1206) · 16bc6386
      Mark OLESEN authored
      - This simple container provides a means of storing faces/points
        (ie, surfaces) with registered dimensioned fields.
      
        The main registry is used to hold face-based data, a secondary
        sub-registry is used to hold point-based data. This allows the same
        name for CellData and PointData fields without name collisions.
      16bc6386
  16. Jan 07, 2019