milupHPC documentation
  • src
  • sph
Namespaces | Macros | Functions
sph.cu File Reference
#include "../../include/sph/sph.cuh"
#include "../../include/cuda_utils/cuda_launcher.cuh"
+ Include dependency graph for sph.cu:

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 MAX_VARIABLE_SML_ITERATIONS   5
 
#define TOLERANCE_WANTED_NUMBER_OF_INTERACTIONS   5
 
#define COMPUTE_DIRECTLY   0
 

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_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_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_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...
 

Macro Definition Documentation

◆ COMPUTE_DIRECTLY

#define COMPUTE_DIRECTLY   0

Definition at line 1873 of file sph.cu.

◆ MAX_VARIABLE_SML_ITERATIONS

#define MAX_VARIABLE_SML_ITERATIONS   5

Definition at line 5 of file sph.cu.

◆ TOLERANCE_WANTED_NUMBER_OF_INTERACTIONS

#define TOLERANCE_WANTED_NUMBER_OF_INTERACTIONS   5

Definition at line 7 of file sph.cu.


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