]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Update documentation of PropertyPool. 11057/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Tue, 20 Oct 2020 00:02:12 +0000 (18:02 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Tue, 20 Oct 2020 00:02:12 +0000 (18:02 -0600)
include/deal.II/particles/property_pool.h

index 4689e191f2061b439348a3bc3f574f9c5fa3bc8c..8f34ee5e91af62b03ae3d2b685648b566a06974b 100644 (file)
@@ -25,20 +25,23 @@ DEAL_II_NAMESPACE_OPEN
 namespace Particles
 {
   /**
-   * This class manages a memory space in which particles store their
-   * properties. Because this is dynamic memory and often every particle
-   * needs the same amount, it is more efficient to let this be handled by a
-   * central manager that does not need to allocate/deallocate memory every
-   * time a particle is constructed/destroyed.
-   * The current implementation uses simple new/delete allocation for every
-   * block. Additionally, the current implementation
-   * assumes the same number of properties per particle, but of course the
-   * PropertyType could contain a pointer to dynamically allocated memory
-   * with varying sizes per particle (this memory would not be managed by this
-   * class).
-   * Because PropertyPool only returns handles it could be enhanced internally
-   * (e.g. to allow for varying number of properties per handle) without
-   * affecting its interface.
+   * This class manages a memory space in which all particles associated with
+   * a ParticleHandler store their properties. The rationale for this class is
+   * that because typically every particle stores the same number of
+   * properties, and because algorithms generally traverse over all particles
+   * doing the same operation on all particles' properties, it is more efficient
+   * to let the memory used for properties be handled by a central manager.
+   * Particles then do not store a pointer to a memory area in which they store
+   * their properties, but instead a "handle" that the PropertyPool class then
+   * translates into a pointer to concrete memory.
+   *
+   * All this said, the current implementation only provides this kind of
+   * interface, but still uses simple new/delete allocation for every
+   * set of properties requested by a particle. Additionally, the current
+   * implementation assumes the same number of properties per particle, but of
+   * course the PropertyType could contain a pointer to dynamically allocated
+   * memory with varying sizes per particle (this memory would not be managed by
+   * this class).
    */
   class PropertyPool
   {

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.