15#include "../mpi_utils/shared_mem_handler.h"
16#include "../ngbtree/ngbtree.h"
18#define MAX_NGBS 500000
24 void density(
int *targetlist,
int ntarget);
28#ifdef PRESSURE_ENTROPY_SPH
29 void setup_entropy_to_invgamma(
void);
41#ifdef PRESERVE_SHMEM_BINARY_INVARIANCE
42 bool skip_actual_force_computation;
57 inline void get_pinfo(
int i, pinfo &pdat)
63 pdat.hsml2 = pdat.hsml * pdat.hsml;
66 for(
int i = 0; i < 3; i++)
68 pdat.search_min[i] = pdat.searchcenter[i] - pdat.inthsml;
69 pdat.search_range[i] = pdat.inthsml + pdat.inthsml;
75 struct ngbdata_density
80#ifdef PRESSURE_ENTROPY_SPH
83#ifdef TIMEDEP_ART_VISC
88 ngbdata_density *Ngbdensdat;
96 signed char TimeBinHydro;
99 ngbdata_hydro *Ngbhydrodat;
105 void densities_determine(
int ntarget,
int *targetlist);
106 void density_evaluate_kernel(pinfo &pdat);
107 void sph_density_interact(pinfo &pdat,
int no,
char no_type,
unsigned char shmrank,
int mintopleafnode,
int committed);
108 inline void sph_density_open_node(pinfo &pdat,
ngbnode *nop,
int mintopleafnode,
int committed);
109 inline int sph_density_evaluate_particle_node_opening_criterion(pinfo &pdat,
ngbnode *nop);
110 inline void sph_density_check_particle_particle_interaction(pinfo &pdat,
int p,
int p_type,
unsigned char shmrank);
113 void hydro_evaluate_kernel(pinfo &pdat);
114 inline void sph_hydro_interact(pinfo &pdat,
int no,
char no_type,
unsigned char shmrank,
int mintopleafnode,
int committed);
115 inline void sph_hydro_open_node(pinfo &pdat,
ngbnode *nop,
int mintopleafnode,
int committed);
116 inline int sph_hydro_evaluate_particle_node_opening_criterion(pinfo &pdat,
ngbnode *nop);
117 inline void sph_hydro_check_particle_particle_interaction(pinfo &pdat,
int p,
int p_type,
unsigned char shmrank);
120 inline void sph_treetimestep_interact(pinfo &pdat,
int no,
char no_type,
unsigned char shmrank,
int mintopleafnode,
int committed);
121 inline void sph_treetimestep_open_node(pinfo &pdat,
ngbnode *nop,
int mintopleafnode,
int committed);
122 inline int sph_treetimestep_evaluate_particle_node_opening_criterion(pinfo &pdat,
ngbnode *nop);
123 inline void sph_treetimestep_check_particle_particle_interaction(pinfo &pdat,
int p,
int p_type,
unsigned char shmrank);
125#ifdef PRESSURE_ENTROPY_SPH
126 void init_entropy(
void);
void compute_densities(void)
void density(int *targetlist, int ntarget)
void hydro_forces_determine(int ntarget, int *targetlist)
void tree_based_timesteps(void)
void ** TreeSharedMemBaseAddr
ptrdiff_t * TreeForeign_Points_offsets