GraviDy  1.0
Gravitational Dynamics N-body integrator
Public Member Functions | Public Attributes | List of all members
NbodySystem Class Reference

Class in charge of the general aspects of the N-body integrator. More...

#include <NbodySystem.hpp>

Collaboration diagram for NbodySystem:
Collaboration graph
[legend]

Public Member Functions

 NbodySystem (OptionsParser op)
 Constructor. More...
 
 ~NbodySystem ()
 Destructor. More...
 
void read_input_file ()
 Method in charge of reading the input file. More...
 
void copy_input_data ()
 Initialization of the data readed from the Input/Snapshot file to the data structures that the code will use. More...
 
void alloc_base_attributes (int rank)
 Memory allocation for the identification, positions, and velocities of the particles. More...
 
void free_base_attributes ()
 Memory deallocation for the identification, positions, and velocities of the particles. More...
 

Public Attributes

Gtime gtime
 
std::vector< file_datareader
 
options ops
 
int gpus
 
long long int iterations
 
unsigned int n
 
unsigned int snapshot_number
 
float eta
 
float total_mass
 
float integration_time
 
double e2
 
double snapshot_time
 
bool resume
 
Energy en
 
float t_rlx
 
float t_cr
 
float r_virial
 
float max_mass
 
float r_hm
 
double r_cl
 
double dt_cl
 
double r_core
 
double m_g
 
std::string input_filename
 
std::string output_filename
 
std::string resume_filename
 
std::string snapshot_filename
 
unsigned int * h_id
 
unsigned int * h_move
 
double * h_t
 
double * h_dt
 
double * h_ekin
 
double * h_epot
 
double4h_r
 
double4h_v
 
double3h_a2
 
double3h_a3
 
Predictorh_p
 
Predictorh_i
 
Forcesh_f
 
Forcesh_old
 
Forcesh_fout_tmp
 
Forcesh_fout_gpu [MAXGPUS]
 
unsigned int * d_id [MAXGPUS]
 
unsigned int * d_move [MAXGPUS]
 
double * d_t [MAXGPUS]
 
double * d_dt [MAXGPUS]
 
double * d_ekin [MAXGPUS]
 
double * d_epot [MAXGPUS]
 
double4d_r [MAXGPUS]
 
double4d_v [MAXGPUS]
 
Predictord_p [MAXGPUS]
 
Predictord_i [MAXGPUS]
 
Forcesd_f [MAXGPUS]
 
Forcesd_fout [MAXGPUS]
 
Forcesd_fout_tmp [MAXGPUS]
 
Forcesd_old [MAXGPUS]
 

Detailed Description

Class in charge of the general aspects of the N-body integrator.

Here is all the informattion related to the integration process, particle information, filenames, etc.

Constructor & Destructor Documentation

§ NbodySystem()

NbodySystem::NbodySystem ( OptionsParser  op)

Constructor.

§ ~NbodySystem()

NbodySystem::~NbodySystem ( )

Destructor.

Member Function Documentation

§ alloc_base_attributes()

void NbodySystem::alloc_base_attributes ( int  rank)

Memory allocation for the identification, positions, and velocities of the particles.

§ copy_input_data()

void NbodySystem::copy_input_data ( )

Initialization of the data readed from the Input/Snapshot file to the data structures that the code will use.

§ free_base_attributes()

void NbodySystem::free_base_attributes ( )

Memory deallocation for the identification, positions, and velocities of the particles.

§ read_input_file()

void NbodySystem::read_input_file ( )

Method in charge of reading the input file.

This can be done from a Snapshot file or a normal Input file.

Member Data Documentation

§ d_dt

double* NbodySystem::d_dt[MAXGPUS]

§ d_ekin

double* NbodySystem::d_ekin[MAXGPUS]

§ d_epot

double* NbodySystem::d_epot[MAXGPUS]

§ d_f

Forces* NbodySystem::d_f[MAXGPUS]

§ d_fout

Forces* NbodySystem::d_fout[MAXGPUS]

§ d_fout_tmp

Forces* NbodySystem::d_fout_tmp[MAXGPUS]

§ d_i

Predictor* NbodySystem::d_i[MAXGPUS]

§ d_id

unsigned int* NbodySystem::d_id[MAXGPUS]

§ d_move

unsigned int* NbodySystem::d_move[MAXGPUS]

§ d_old

Forces* NbodySystem::d_old[MAXGPUS]

§ d_p

Predictor* NbodySystem::d_p[MAXGPUS]

§ d_r

double4* NbodySystem::d_r[MAXGPUS]

§ d_t

double* NbodySystem::d_t[MAXGPUS]

§ d_v

double4* NbodySystem::d_v[MAXGPUS]

§ dt_cl

double NbodySystem::dt_cl

§ e2

double NbodySystem::e2

§ en

Energy NbodySystem::en

§ eta

float NbodySystem::eta

§ gpus

int NbodySystem::gpus

§ gtime

Gtime NbodySystem::gtime

§ h_a2

double3* NbodySystem::h_a2

§ h_a3

double3* NbodySystem::h_a3

§ h_dt

double* NbodySystem::h_dt

§ h_ekin

double* NbodySystem::h_ekin

§ h_epot

double* NbodySystem::h_epot

§ h_f

Forces* NbodySystem::h_f

§ h_fout_gpu

Forces* NbodySystem::h_fout_gpu[MAXGPUS]

§ h_fout_tmp

Forces* NbodySystem::h_fout_tmp

§ h_i

Predictor* NbodySystem::h_i

§ h_id

unsigned int* NbodySystem::h_id

§ h_move

unsigned int* NbodySystem::h_move

§ h_old

Forces* NbodySystem::h_old

§ h_p

Predictor* NbodySystem::h_p

§ h_r

double4* NbodySystem::h_r

§ h_t

double* NbodySystem::h_t

§ h_v

double4* NbodySystem::h_v

§ input_filename

std::string NbodySystem::input_filename

§ integration_time

float NbodySystem::integration_time

§ iterations

long long int NbodySystem::iterations

§ m_g

double NbodySystem::m_g

§ max_mass

float NbodySystem::max_mass

§ n

unsigned int NbodySystem::n

§ ops

options NbodySystem::ops

§ output_filename

std::string NbodySystem::output_filename

§ r_cl

double NbodySystem::r_cl

§ r_core

double NbodySystem::r_core

§ r_hm

float NbodySystem::r_hm

§ r_virial

float NbodySystem::r_virial

§ reader

std::vector<file_data> NbodySystem::reader

§ resume

bool NbodySystem::resume

§ resume_filename

std::string NbodySystem::resume_filename

§ snapshot_filename

std::string NbodySystem::snapshot_filename

§ snapshot_number

unsigned int NbodySystem::snapshot_number

§ snapshot_time

double NbodySystem::snapshot_time

§ t_cr

float NbodySystem::t_cr

§ t_rlx

float NbodySystem::t_rlx

§ total_mass

float NbodySystem::total_mass

The documentation for this class was generated from the following files: