15#include "../data/simparticles.h"
16#include "../time_integration/driftfac.h"
17#include "../tree/tree.h"
43 memcpy(
static_cast<void *
>(
this),
static_cast<void *
>(&other),
sizeof(
ngbnode));
60 while(
access.test_and_set(std::memory_order_acquire))
73 double posdiff_min[3];
74 double posdiff_max[3];
75 for(
int j = 0; j < 3; j++)
77 posdiff_min[j] =
vmin[j] * dt_drift;
78 posdiff_max[j] =
vmax[j] * dt_drift;
88 for(
int j = 0; j < 3; j++)
99 access.clear(std::memory_order_release);
116class ngbtree :
public tree<ngbnode, simparticles, ngbpoint_data, foreign_sphpoint_data>
148 void update_vbounds(
int i,
int *nchanged,
int *nodelist,
char *flag_changed);
157 void finish_vounds_update(
int nchanged,
int *nodelist);
158 void finish_maxhsml_update(
int nchanged,
int *nodelist);
global_data_all_processes All
double get_drift_factor(integertime time0, integertime time1)
MySignedIntPosType pos_to_signedintpos(T posdiff)
void exchange_topleafdata(void) override
tree< ngbnode, simparticles, ngbpoint_data, foreign_sphpoint_data > basetree
void update_vbounds(int i, int *nchanged, int *nodelist, char *flag_changed)
void update_node_recursive(int no, int sib, int mode) override
void update_maxhsml(void)
void update_velocities(void)
void fill_in_export_points(ngbpoint_data *exp_point, int i, int no) override
void report_log_message(void) override
int TreeSharedMem_ThisTask
void tree_export_node_threads(int no, int i, thread_data *thread, offset_tuple off=0)
sph_particle_data * get_SphPp(int n, unsigned char shmrank)
domain< simparticles > * D
pdata get_Pp(int n, unsigned char shmrank)
int * get_nextnodep(unsigned char shmrank)
ngbnode * get_nodep(int no)
int32_t MySignedIntPosType
unsigned char Nextnode_shmrank
sph_particle_data_hydrocore SphCore
int ComovingIntegrationOn
std::atomic< integertime > Ti_Current
ngbnode & operator=(ngbnode &other)
MySignedIntPosType center_offset_max[3]
MySignedIntPosType center_offset_min[3]
void drift_node(integertime time1, simparticles *Sp)