1. 25 Apr, 2016 2 commits
  2. 17 Apr, 2016 1 commit
  3. 15 Apr, 2016 1 commit
  4. 03 Apr, 2016 1 commit
    • Henry Weller's avatar
      UList: Rationalize assignment (shallow-copy vs deep-copy) · 6e573ad7
      Henry Weller authored
          //- Disallow default shallow-copy assignment
          //
          //  Assignment of UList<T> may need to be either shallow (copy pointer)
          //  or deep (copy elements) depending on context or the particular type
          //  of list derived from UList and it is confusing and prone to error
          //  for the default assignment to be either.  The solution is to
          //  disallow default assignment and provide separate 'shallowCopy' and
          //  'deepCopy' member functions.
          void operator=(const UList<T>&) = delete;
      
          //- Copy the pointer held by the given UList.
          inline void shallowCopy(const UList<T>&);
      
          //- Copy elements of the given UList.
          void deepCopy(const UList<T>&);
      6e573ad7
  5. 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
  6. 22 Mar, 2016 1 commit
  7. 14 Mar, 2016 1 commit
  8. 29 Feb, 2016 3 commits
  9. 28 Feb, 2016 1 commit
  10. 26 Feb, 2016 1 commit
  11. 22 Feb, 2016 1 commit
    • Henry Weller's avatar
      tmp: Updated to store and preserve the const-ness of the reference to a constant object · 15b7e87d
      Henry Weller authored
      This change requires that the de-reference operator '()' returns a
      const-reference to the object stored irrespective of the const-ness of
      object stored and the new member function 'ref()' is provided to return
      an non-const reference to stored object which throws a fatal error if the
      stored object is const.
      
      In order to smooth the transition to this new safer 'tmp' the now
      deprecated and unsafe non-const de-reference operator '()' is still
      provided by default but may be switched-off with the compilation switch
      'CONST_TMP'.
      
      The main OpenFOAM library has already been upgraded and '-DCONST_TMP'
      option specified in the 'options' file to switch to the new 'tmp'
      behavior.  The rest of OpenFOAM-dev will be upgraded over the following
      few weeks.
      
      Henry G. Weller
      CFD Direct
      15b7e87d
  12. 20 Feb, 2016 1 commit
    • Henry Weller's avatar
      Boundary conditions: Added extrapolatedCalculatedFvPatchField · 99a10ece
      Henry Weller authored
      To be used instead of zeroGradientFvPatchField for temporary fields for
      which zero-gradient extrapolation is use to evaluate the boundary field
      but avoiding fields derived from temporary field using field algebra
      inheriting the zeroGradient boundary condition by the reuse of the
      temporary field storage.
      
      zeroGradientFvPatchField should not be used as the default patch field
      for any temporary fields and should be avoided for non-temporary fields
      except where it is clearly appropriate;
      extrapolatedCalculatedFvPatchField and calculatedFvPatchField are
      generally more suitable defaults depending on the manner in which the
      boundary values are specified or evaluated.
      
      The entire OpenFOAM-dev code-base has been updated following the above
      recommendations.
      
      Henry G. Weller
      CFD Direct
      99a10ece
  13. 02 Feb, 2016 1 commit
  14. 20 Jan, 2016 2 commits
  15. 10 Jan, 2016 2 commits
  16. 09 Jan, 2016 1 commit
  17. 10 Nov, 2015 2 commits
    • Henry Weller's avatar
      src/OpenFOAM: Update ...IOErrorIn -> ...IOErrorInFunction · dc43311e
      Henry Weller authored
      Avoids the clutter and maintenance effort associated with providing the
      function signature string.
      dc43311e
    • Henry Weller's avatar
      SolverPerformance: Complete the integration of the templated SolverPerformance<Type> · 78d7482e
      Henry Weller authored
      Now solvers return solver performance information for all components
      with backward compatibility provided by the "max" function which created
      the scalar solverPerformance from the maximum component residuals from
      the SolverPerformance<Type>.
      
      The residuals functionObject has been upgraded to support
      SolverPerformance<Type> so that now the initial residuals for all
      (valid) components are tabulated, e.g. for the cavity tutorial case the
      residuals for p, Ux and Uy are listed vs time.
      
      Currently the residualControl option of pimpleControl and simpleControl
      is supported in backward compatibility mode (only the maximum component
      residual is considered) but in the future this will be upgraded to
      support convergence control for the components individually.
      
      This development started from patches provided by Bruno Santos, See
      http://www.openfoam.org/mantisbt/view.php?id=1824
      78d7482e
  18. 08 Nov, 2015 1 commit
  19. 01 Nov, 2015 1 commit
  20. 29 Oct, 2015 1 commit
  21. 21 Oct, 2015 1 commit
  22. 19 Oct, 2015 1 commit
  23. 13 Sep, 2015 1 commit
  24. 10 Aug, 2015 1 commit
  25. 08 Aug, 2015 1 commit
  26. 06 Aug, 2015 2 commits
  27. 17 Jul, 2015 1 commit
  28. 30 Jun, 2015 1 commit
  29. 11 Jun, 2015 1 commit
  30. 25 Feb, 2015 2 commits
  31. 14 Feb, 2015 1 commit
  32. 05 Feb, 2015 1 commit