milupHPC documentation
  • include
  • sph
Namespaces | Macros | Functions
sph.cuh File Reference

SPH related functionalities and kernels. More...

#include "../particles.cuh"
#include "../subdomain_key_tree/subdomain.cuh"
#include "../parameter.h"
#include "../helper.cuh"
#include "../materials/material.cuh"
#include <float.h>
#include <boost/mpi.hpp>
#include <assert.h>
+ Include dependency graph for sph.cuh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  SPH
 SPH related functions and kernels.
 
namespace  SPH::Kernel
 SPH related (CUDA) kernels.
 
namespace  SPH::Kernel::Launch
 SPH related (CUDA) kernel wrappers.
 

Macros

#define MILUPHPC_SPH_CUH
 

Functions

void SPH::exchangeParticleEntry (SubDomainKeyTree *subDomainKeyTree, real *entry, real *toSend, integer *sendLengths, integer *receiveLengths, integer numParticlesLocal)
 
__global__ void SPH::Kernel::fixedRadiusNN_bruteForce (Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Fixed-radius near neighbor search (brute-force method). More...
 
__global__ void SPH::Kernel::fixedRadiusNN (Tree *tree, Particles *particles, integer *interactions, real radius, integer numParticlesLocal, integer numParticles, integer numNodes)
 Fixed-radius near neighbor search (default method via explicit stack). More...
 
__global__ void SPH::Kernel::fixedRadiusNN_withinBox (Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Fixed-radius near neighbor search (nested stack method). More...
 
__global__ void SPH::Kernel::fixedRadiusNN_sharedMemory (Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Fixed-radius near neighbor search (brute-force method). More...
 
__global__ void SPH::Kernel::fixedRadiusNN_variableSML (Material *materials, Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Fixed-radius near neighbor search for iteratively finding appropriate smoothing length. More...
 
__device__ void SPH::Kernel::redoNeighborSearch (Tree *tree, Particles *particles, int particleId, int *interactions, real radius, integer numParticles, integer numNodes)
 Redo the neighbor search (FRNN). More...
 
__global__ void SPH::Kernel::compTheta (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *lowestDomainList, Curve::Type curveType)
 Find the relevant (lowest) domain list nodes as preparation for finding particles to be exchanged between processes. More...
 
__global__ void SPH::Kernel::symbolicForce (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *lowestDomainList, integer *sendIndices, real searchRadius, integer n, integer m, integer relevantIndex, Curve::Type curveType)
 Find the particles that need to be exchanged between processes to grant correctness of SPH forces. More...
 
__global__ void SPH::Kernel::symbolicForce_test (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *lowestDomainList, integer *sendIndices, real searchRadius, integer n, integer m, integer relevantProc, integer relevantIndicesCounter, integer relevantIndexOld, Curve::Type curveType)
 
__global__ void SPH::Kernel::symbolicForce_test2 (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real searchRadius, integer n, integer m, integer relevantProc, integer relevantIndicesCounter, Curve::Type curveType)
 
__global__ void SPH::Kernel::collectSendIndices (Tree *tree, Particles *particles, integer *sendIndices, integer *particles2Send, integer *particlesCount, integer n, integer length, Curve::Type curveType)
 Collect the found particles into contiguous memory in order to facilitate sending via MPI. More...
 
__global__ void SPH::Kernel::collectSendIndices_test2 (Tree *tree, Particles *particles, integer *sendIndices, integer *particles2Send, integer *particlesCount, integer numParticlesLocal, integer numParticles, integer treeIndex, int currentProc, Curve::Type curveType)
 
__global__ void SPH::Kernel::particles2Send (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, integer maxLevel, integer *toSend, integer *sendCount, integer *alreadyInserted, integer insertOffset, integer numParticlesLocal, integer numParticles, integer numNodes, real radius, Curve::Type curveType=Curve::lebesgue)
 
__global__ void SPH::Kernel::collectSendIndicesBackup (integer *toSend, integer *toSendCollected, integer count)
 
__global__ void SPH::Kernel::collectSendEntriesBackup (SubDomainKeyTree *subDomainKeyTree, real *entry, real *toSend, integer *sendIndices, integer *sendCount, integer totalSendCount, integer insertOffset)
 
__global__ void SPH::Kernel::insertReceivedParticles (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, int n, int m)
 Insert the received particles into the local tree. More...
 
__global__ void SPH::Kernel::calculateCentersOfMass (Tree *tree, Particles *particles, integer level)
 
__global__ void SPH::Kernel::determineSearchRadii (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, real *searchRadii, int n, int m, Curve::Type curveType)
 Determine the search radius needed for SPH::Kernel::symbolicForce(). More...
 
__global__ void SPH::Kernel::info (Tree *tree, Particles *particles, Helper *helper, integer numParticlesLocal, integer numParticles, integer numNodes)
 Info/Debug kernel. More...
 
real SPH::Kernel::Launch::fixedRadiusNN_bruteForce (Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Wrapper for SPH::Kernel::fixedRadiusNN_bruteForce(). More...
 
real SPH::Kernel::Launch::fixedRadiusNN (Tree *tree, Particles *particles, integer *interactions, real radius, integer numParticlesLocal, integer numParticles, integer numNodes)
 Wrapper for SPH::Kernel::fixedRadiusNN(). More...
 
real SPH::Kernel::Launch::fixedRadiusNN_sharedMemory (Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Wrapper for SPH::Kernel::fixedRadiusNN_sharedMemory(). More...
 
real SPH::Kernel::Launch::fixedRadiusNN_withinBox (Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Wrapper for SPH::Kernel::fixedRadiusNN_withinBox(). More...
 
real SPH::Kernel::Launch::fixedRadiusNN_variableSML (Material *materials, Tree *tree, Particles *particles, integer *interactions, integer numParticlesLocal, integer numParticles, integer numNodes)
 Wrapper for SPH::Kernel::fixedRadiusNN_variableSML(). More...
 
real SPH::Kernel::Launch::compTheta (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *lowestDomainList, Curve::Type curveType)
 Wrapper for SPH::Kernel::compTheta(). More...
 
real SPH::Kernel::Launch::symbolicForce (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *lowestDomainList, integer *sendIndices, real searchRadius, integer n, integer m, integer relevantIndex, Curve::Type curveType)
 Wrapper for SPH::Kernel::symbolicForce(). More...
 
real SPH::Kernel::Launch::symbolicForce_test (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *lowestDomainList, integer *sendIndices, real searchRadius, integer n, integer m, integer relevantProc, integer relevantIndicesCounter, integer relevantIndexOld, Curve::Type curveType)
 
real SPH::Kernel::Launch::symbolicForce_test2 (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real searchRadius, integer n, integer m, integer relevantProc, integer relevantIndicesCounter, Curve::Type curveType)
 
real SPH::Kernel::Launch::collectSendIndices (Tree *tree, Particles *particles, integer *sendIndices, integer *particles2Send, integer *particlesCount, integer n, integer length, Curve::Type curveType)
 Wrapper for SPH::Kernel::collectSendIndices(). More...
 
real SPH::Kernel::Launch::collectSendIndices_test2 (Tree *tree, Particles *particles, integer *sendIndices, integer *particles2Send, integer *particlesCount, integer numParticlesLocal, integer numParticles, integer treeIndex, int currentProc, Curve::Type curveType)
 
real SPH::Kernel::Launch::particles2Send (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, integer maxLevel, integer *toSend, integer *sendCount, integer *alreadyInserted, integer insertOffset, integer numParticlesLocal, integer numParticles, integer numNodes, real radius, Curve::Type curveType=Curve::lebesgue)
 Wrapper for SPH::Kernel::particles2Send(). More...
 
real SPH::Kernel::Launch::collectSendIndicesBackup (integer *toSend, integer *toSendCollected, integer count)
 Wrapper for SPH::Kernel::collectSendIndicesBackup(). More...
 
real SPH::Kernel::Launch::collectSendEntriesBackup (SubDomainKeyTree *subDomainKeyTree, real *entry, real *toSend, integer *sendIndices, integer *sendCount, integer totalSendCount, integer insertOffset)
 Wrapper for SPH::Kernel::collectSendEntriesBackup(). More...
 
real SPH::Kernel::Launch::insertReceivedParticles (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, int n, int m)
 Wrapper for SPH::Kernel::insertReceivedParticles(). More...
 
real SPH::Kernel::Launch::info (Tree *tree, Particles *particles, Helper *helper, integer numParticlesLocal, integer numParticles, integer numNodes)
 Wrapper for SPH::Kernel::info(). More...
 
real SPH::Kernel::Launch::calculateCentersOfMass (Tree *tree, Particles *particles, integer level)
 Wrapper for SPH::Kernel::calculateCentersOfMass(). More...
 
real SPH::Kernel::Launch::determineSearchRadii (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, real *searchRadii, int n, int m, Curve::Type curveType)
 Wrapper for SPH::Kernel::determineSearchRadii(). More...
 

Detailed Description

SPH related functionalities and kernels.

Including:

  • fixed-radius near neighbor search (FRNN)
  • finding particles to be sent
  • inserting received particles
  • ...
Author
Michael Staneker
Bug:
no known bugs

Definition in file sph.cuh.

Macro Definition Documentation

◆ MILUPHPC_SPH_CUH

#define MILUPHPC_SPH_CUH

Definition at line 16 of file sph.cuh.


milupHPC - include/sph/sph.cuh File Reference
Generated on Wed Aug 31 2022 12:16:53 by Doxygen 1.9.3