/**
    Exosphere simulation code as described in Kegerreis et al. (2016) and
    the README.pdf documentation.

    Publically available at icc.dur.ac.uk/index.php?content=Research/Topics/O13

    Simulation function header.
**/


/*
    0. Includes etc.
    1. Simulation Function
*/


#ifndef SIMULATION_H_INCLUDED
#define SIMULATION_H_INCLUDED
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
//                              0. Includes etc.                              //
////////////////////////////////////////////////////////////////////////////////


#include <vector>
#include <string>

using namespace std;


////////////////////////////////////////////////////////////////////////////////
//                              1. Simulation Function                        //
////////////////////////////////////////////////////////////////////////////////


void run_simulation(const int num_run, const int num_particle,
                    const int percent, const double dt, const double start_time,
                    const double end_time, const int start_N_bounce,
                    const int end_N_bounce, const double mass, const double tau,
                    const double m, double Q, double P_adsorb,
                    double P_squirrel, double f_N, double f_S,
                    string source, string emerge_dist, string losses,
                    string T_dist, string cold_traps, string record_dist,
                    string surf_intn, string misc, string rates,
                    string backup_results,
                    int job_ID, int job_index);


////////////////////////////////////////////////////////////////////////////////
#endif // SIMULATION_H_INCLUDED














