diff --git a/docs/source_docs/references/eb/EBWalls.rst b/docs/source_docs/references/eb/EBWalls.rst index 7fe3b81e939c57f6624fbe0d971a9552911c7469..bcbb399972abec96e54bd0aa880552971cdf2a15 100644 --- a/docs/source_docs/references/eb/EBWalls.rst +++ b/docs/source_docs/references/eb/EBWalls.rst @@ -104,7 +104,7 @@ the same for all geometries. 1. Construct an implicit function representing the geometry. -2. Call :cpp:`mfix::build_eb_levels(gshop)` this function builds the EB levels. +2. Call :cpp:`mfix::build_eb_levels(gshop)`. This function builds the EB levels. Note that this also makes the particle EB levels point to the fluid eb levels. 3. Call ``mfix.fill_eb_levelsets``. This function fills the level-set ``MultiFab``. @@ -260,7 +260,7 @@ input ``amr.max_level`` The level-set can be in one of two modes: way the level-set always has the appropriate resolution to resolve structures in the EB, even if the fluid is defined on a fairly coarse grid. -2. MFIX-Exa is running in multi-level mode (:cpp:`nlev > 1`). The the parameter +2. MFIX-Exa is running in multi-level mode (:cpp:`nlev > 1`). The parameter :cpp:`mfix::levelset__refinement` is ignored. :cpp:`mfix::level_sets` then follows the rest of MFIX-Exa, i.e. it is defined on the particle grids on all levels. diff --git a/docs/source_docs/references/particles/ParticlesOnGpus.rst b/docs/source_docs/references/particles/ParticlesOnGpus.rst index 29825ec201c8c38d173b6ede0680b496b1d4f9e9..66e4d8d0ca39d1501cf8b53ac8e9b6a474f5ad45 100644 --- a/docs/source_docs/references/particles/ParticlesOnGpus.rst +++ b/docs/source_docs/references/particles/ParticlesOnGpus.rst @@ -26,7 +26,7 @@ To port this algorithm to the GPU, we use the parallel algorithms library Thrust - Sort the particles on each grid by bin, using a parallel counting sort. We use Thrust's `exclusive\_scan` function to implement the prefix sum phase of the sort, and hand-coded kernels for the rest. This step does not actually involving rearranging the particle data - rather, we compute a permutation that would put the particles in order without actually reordering them. - Once the particles are sorted by bin, we can loop over the particles in neighboring bins. We make two passes over the particles. First, we launch a kernel to count the number of collision partners for each particle. - Then, we sum these numbers and allocate space for our neighbor list. -- Finally, we make a another pass over the particles, putting them into to list at the appropriate place. +- Finally, we make another pass over the particles, putting them into the list at the appropriate place. Note that we build a full neighbor list, meaning that if particle `i` appears in particle `j`'s list, then particle `j` also appears in particle `i`'s list. This simplifies the force-computation step when using these lists, since the forces and torques for a given particle can be updated without atomics.