Peano
Loading...
Searching...
No Matches
Density.h
Go to the documentation of this file.
1// This file is part of the ExaParty project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
9
10
11namespace exaparty {
12 namespace kernels {
13 namespace legacy {
14
18 template <typename Particle>
21 const Particle& localParticle
22 ) {
23 return ::exaparty::kernels::localParticleCanBeUpdatedInVertexKernel(
24 marker,
25 localParticle
26 );
27 }
28
29 template <typename Particle>
32 Particle& localParticle
33 ) {
35 hydro_init_particle(&localParticle);
36 }
37
49 template <typename Particle>
50 void hydro_end_density(Particle* localParticle);
51
52 template <typename Particle>
55 const Particle& localParticle
56 ) {
57 return ::exaparty::kernels::localParticleCanBeUpdatedInVertexKernel(
58 marker,
59 localParticle
60 );
61 }
62
63 template <typename Particle>
66 Particle& localParticle
67 ) {
70 );
71 hydro_end_density(&localParticle);
72 }
73
133 template <typename ParticleA, typename ParticleB = ParticleA>
135 ParticleA& localParticle,
136 const ParticleB& activeParticle
137 );
138
139
153 template <typename Particle>
156 const bool& localParticleIsContainedInCell,
157 const Particle& localParticle
158 );
159
177 template <typename ParticleA, typename ParticleB = ParticleA>
180 const ParticleA& localParticle,
181 const ParticleB& activeParticle
182 );
183
221 template <typename ParticleA, typename ParticleB = ParticleA>
224 ParticleA& localParticle,
225 const ParticleB& activeParticle
226 );
227 } // namespace legacy
228 } // namespace kernels
229} // namespace exaparty
230
231
232#include "Density.cpph"
#define assertion(expr)
bool densityKernelEvaluatePairInteractionPredicate(const peano4::datamanagement::CellMarker &marker, const ParticleA &localParticle, const ParticleB &activeParticle)
Predicate if two particles contribute towards the density checks.
void endDensityCalculation(const peano4::datamanagement::VertexMarker &marker, Particle &localParticle)
Definition Density.h:64
void prepareDensity(const peano4::datamanagement::VertexMarker &marker, Particle &localParticle)
Definition Density.h:30
void hydro_end_density(Particle *localParticle)
Finishes the density calculation.
void densityKernel(const peano4::datamanagement::CellMarker &marker, ParticleA &localParticle, const ParticleB &activeParticle)
Invoke density kernel without any outer additional admissibility checks.
bool endDensityCalculationUpdateParticlePredicate(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
Definition Density.h:53
bool prepareDensityUpdateParticlePredicate(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
Prepares a particle for the density calculation.
Definition Density.h:19
void hydro_init_particle(Particle *particle)
Prepares a particle for the density calculation.
void density_kernel(ParticleA &localParticle, const ParticleB &activeParticle)
The actual density kernel, which interacts a local particle and an active particle,...
void const ParticleB & activeParticle
Definition HydroForce.h:210
bool densityKernelUpdateParticlePredicate(const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)
Predicate to decide if to update a particle according to density kernel.
This file is part of the ExaParty project.
Definition __init__.py:1
Vertex marker to provide information about selected vertex.