# Interface definition for thorn Pad # $Header$ IMPLEMENTS: Pad INCLUDES HEADER: pad.h IN pad.h PUBLIC: # Particle data CCTK_INT particle_info TYPE=scalar { # processor-local values num_particles num_real_particles max_num_particles } "particle information" CCTK_REAL positions TYPE=array DIM=1 SIZE=global_max_num_particles GHOSTSIZE=0 TIMELEVELS=3 { posx posy posz vol } "particle positions" CCTK_INT ignore TYPE=array DIM=1 SIZE=global_max_num_particles GHOSTSIZE=0 "flags marking ghost particles" PRIVATE: # Linked lists to search for interactions CCTK_INT first TYPE=array DIM=3 SIZE=global_gridsize_x,global_gridsize_y,global_gridsize_z GHOSTSIZE=0,0,0 "headers of linked lists" CCTK_INT next TYPE=array DIM=1 SIZE=global_max_num_particles GHOSTSIZE=0 "linked lists" PUBLIC: # Interactions CCTK_INT interaction_info TYPE=scalar { # processor-local values num_interactions max_num_interactions } "interaction information" CCTK_INT interactions TYPE=array DIM=1 SIZE=global_max_num_interactions GHOSTSIZE=0 { iac1 iac2 } "interactions" CCTK_REAL interaction_data TYPE=array DIM=1 SIZE=global_max_num_interactions GHOSTSIZE=0 { iacw iacwx iacwy iacwz } "interaction data" PRIVATE: CCTK_INT particle_interactions TYPE=array DIM=1 SIZE=global_max_num_particles GHOSTSIZE=0 { num_piacs } "number of interactions per particle" CCTK_REAL interaction_stats TYPE=scalar { sum_iacs avg_iacs stddev_iacs zero_iacs min_iacs max_iacs } "interaction statistics"