1. 04 Jul, 2017 1 commit
  2. 03 Jul, 2017 1 commit
  3. 05 Jul, 2017 1 commit
  4. 26 May, 2017 1 commit
  5. 19 May, 2017 1 commit
  6. 10 Mar, 2017 1 commit
  7. 19 Jan, 2017 1 commit
  8. 17 Jan, 2017 1 commit
  9. 12 Dec, 2016 1 commit
  10. 28 Nov, 2016 1 commit
  11. 17 Oct, 2016 1 commit
  12. 08 Aug, 2016 1 commit
  13. 05 Aug, 2016 1 commit
  14. 10 Jun, 2016 1 commit
  15. 06 Jun, 2016 1 commit
    • Mark Olesen's avatar
      ENH: cleanup Ostream to ease usage (issue #254) · 06f22a9b
      Mark Olesen authored
      - Include newline in beginBlock/endBlock, since this corresponds to
        the standard usage. The beginBlock now takes keyType instead of word.
      
      - Provide Ostream::writeEntry method to reduce clutter and simplify
        writing of entries.
      
        Before
        ======
            os << indent << "name" << nl
               << indent << token::BEGIN_BLOCK << incrIndent << nl;
            os.writeKeyword("key1") << val1 << token::END_STATEMENT << nl;
            os.writeKeyword("key2") << val2 << token::END_STATEMENT << nl;
            os << decrIndent << indent << token::END_BLOCK << nl;
      
        After
        =====
            os.beginBlock("name");
            os.writeEntry("key1", val1);
            os.writeEntry("key2", val2);
            os.endBlock();
      
      - For completeness, support inline use of various Ostream methods.
        For example,
      
            os << beginBlock;
            os.writeEntry("key1", val1);
            os.writeEntry("key2", val2);
            os << endBlock;
      
      - For those who wish to write in long form, can also use endEntry inline:
      
            os.beginBlock("name");
            os.writeKeyword("key1") << val2 << endEntry;
            os.writeKeyword("key2") << val2 << endEntry;
            os.endBlock();
      
      The endEntry encapsulates a semi-colon, newline combination.
      06f22a9b
  16. 02 Jun, 2016 1 commit
    • Mark Olesen's avatar
      BUG: UOPstream indexes out of bounds after whitespace stripping (fixes #134) · 5d29b498
      Mark Olesen authored
      - only affects transfer of C-style string with a single character
        remaining after whitespace stripping. Test added into Test-parallel.
      
      - Note some idiosyncrasies in the behaviour:
      
            send                   |    receives
          -------------------------+-------------------------
              string("a b c")      |    string "a b c"
              string("a")          |    string "a"
              "a b c"              |    word   "abc"
              'd'                  |    char   'd'
              "d"                  |    char   'd'
              "d   "               |    char   'd'
      5d29b498
  17. 29 May, 2016 1 commit
  18. 15 May, 2016 1 commit
    • Henry Weller's avatar
      Patches contributed by Mattijs Janssens: · ce0cd351
      Henry Weller authored
      splitMeshRegions: handle flipping of faces for surface fields
      
      subsetMesh: subset dimensionedFields
      
      decomposePar: use run-time selection of decomposition constraints. Used to
          keep cells on particular processors. See the decomposeParDict in
      
      $FOAM_UTILITIES/parallel/decomposePar:
        - preserveBaffles: keep baffle faces on same processor
        - preserveFaceZones: keep faceZones owner and neighbour on same processor
        - preservePatches: keep owner and neighbour on same processor. Note: not
          suitable for cyclicAMI since these are not coupled on the patch level
        - singleProcessorFaceSets: keep complete faceSet on a single processor
        - refinementHistory: keep cells originating from a single cell on the
          same processor.
      
      decomposePar: clean up decomposition of refinement data from snappyHexMesh
      
      reconstructPar: reconstruct refinement data (refineHexMesh, snappyHexMesh)
      
      reconstructParMesh: reconstruct refinement data (refineHexMesh, snappyHexMesh)
      
      redistributePar:
        - corrected mapping surfaceFields
        - adding processor patches in order consistent with decomposePar
      
      argList: check that slaves are running same version as master
      
      fvMeshSubset: move to dynamicMesh library
      
      fvMeshDistribute:
        - support for mapping dimensionedFields
        - corrected mapping of surfaceFields
      
      parallel routines: allow parallel running on single processor
      
      Field: support for
        - distributed mapping
        - mapping with flipping
      
      mapDistribute: support for flipping
      
      AMIInterpolation: avoid constructing localPoints
      ce0cd351
  19. 25 Apr, 2016 1 commit
  20. 15 Apr, 2016 1 commit
  21. 02 Apr, 2016 1 commit
    • Henry Weller's avatar
      Pstream: optimisation of data exchange · 88bd9123
      Henry Weller authored
      Contributed by Mattijs Janssens.
      
      1. Any non-blocking data exchange needs to know in advance the sizes to
         receive so it can size the buffer.  For "halo" exchanges this is not
         a problem since the sizes are known in advance but or all other data
         exchanges these sizes need to be exchanged in advance.
      
         This was previously done by having all processors send the sizes of data to
         send to the master and send it back such that all processors
         - had the same information
         - all could work out who was sending what to where and hence what needed to
           be received.
      
         This is now changed such that we only send the size to the
         destination processor (instead of to all as previously). This means
         that
         - the list of sizes to send is now of size nProcs v.s. nProcs*nProcs before
         - we cut out the route to the master and back by using a native MPI
           call
      
         It causes a small change to the API of exchange and PstreamBuffers -
         they now return the sizes of the local buffers only (a labelList) and
         not the sizes of the buffers on all processors (labelListList)
      
      2. Reversing the order of the way in which the sending is done when
         scattering information from the master processor to the other
         processors. This is done in a tree like fashion. Each processor has a
         set of processors to receive from/ send to. When receiving it will
         first receive from the processors with the least amount of
         sub-processors (i.e. the ones which return first). When sending it
         needs to do the opposite: start sending to the processor with the
         most amount of sub-tree since this is the critical path.
      88bd9123
  22. 22 Mar, 2016 1 commit
  23. 14 Mar, 2016 1 commit
  24. 29 Feb, 2016 2 commits
  25. 28 Feb, 2016 1 commit
  26. 24 Feb, 2016 1 commit
    • Henry Weller's avatar
      tmp: Improved reference count checks to provide better error diagnostics · c02bf70e
      Henry Weller authored
      in case of tmp misuse.
      
      Simplified tmp reuse pattern in field algebra to use tmp copy and
      assignment rather than the complex delayed call to 'ptr()'.
      
      Removed support for unused non-const 'REF' storage of non-tmp objects due to C++
      limitation in constructor overloading: if both tmp(T&) and tmp(const T&)
      constructors are provided resolution is ambiguous.
      
      The turbulence libraries have been upgraded and '-DCONST_TMP' option
      specified in the 'options' file to switch to the new 'tmp' behavior.
      c02bf70e
  27. 20 Jan, 2016 2 commits
  28. 14 Jan, 2016 2 commits
  29. 11 Jan, 2016 1 commit
  30. 10 Jan, 2016 1 commit
  31. 04 Jan, 2016 1 commit
  32. 19 Dec, 2015 1 commit
  33. 08 Dec, 2015 1 commit
  34. 17 Nov, 2015 2 commits
    • mattijs's avatar
      ENH: parallel: overhaul of parallel mapping · 916dcb86
      mattijs authored
      - redistributePar to have almost (complete) functionality of decomposePar+reconstructPar
      - low-level distributed Field mapping
      - support for mapping surfaceFields (including flipping faces)
      - support for decomposing/reconstructing refinement data
      916dcb86
    • mattijs's avatar
      ENH: parallel: overhaul of parallel mapping · 436902f5
      mattijs authored
      - redistributePar to have almost (complete) functionality of decomposePar+reconstructPar
      - low-level distributed Field mapping
      - support for mapping surfaceFields (including flipping faces)
      - support for decomposing/reconstructing refinement data
      436902f5
  35. 11 Nov, 2015 2 commits