Skip to content
Snippets Groups Projects
  1. Apr 22, 2016
  2. Apr 21, 2016
  3. Apr 17, 2016
  4. Apr 16, 2016
  5. Apr 15, 2016
    • Henry Weller's avatar
      septernion: Changed definition of the forward transformation for consistency with spatialTransform · 23a87793
      Henry Weller authored
      inline Foam::vector Foam::septernion::transformPoint(const vector& v) const
      {
          return r().transform(v - t());
      }
      
      Now there is a 1:1 correspondence between septernion and
      spatialTransform and a septernion constructor from spatialTransform
      provided.
      
      Additionally "septernion::transform" has been renamed
      "septernion::transformPoint" to clarify that it transforms coordinate
      points rather than displacements or other relative vectors.
      23a87793
  6. Apr 12, 2016
  7. Apr 11, 2016
  8. Apr 10, 2016
  9. Apr 08, 2016
  10. Apr 07, 2016
  11. Apr 06, 2016
  12. Apr 04, 2016
  13. Apr 03, 2016
    • Henry Weller's avatar
      applications/test/rigidBodyDynamics/pendulum: Very simple test/demonstration... · 4344a732
      Henry Weller authored
      applications/test/rigidBodyDynamics/pendulum: Very simple test/demonstration of the rigidBodyDynamics library
      
          Simple swinging pendulum simulation with 1-DoF.  The motion is integrated
          using a symplectic method for just over 2-periods.
      4344a732
    • 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
  14. Apr 02, 2016
    • Henry Weller's avatar
    • 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
  15. Mar 24, 2016
  16. Mar 23, 2016