33 this->timeStep = timeStep;
63 for (
int il = 0; il < grid.
L.
size; il++)
64 for (
int im = 0; im < grid.
pc.
size; im++)
65 for (
int ia = 0; ia < grid.
alpha.
size; ia++)
69 if (grid.
L.
arr[il][im][ia] >= SL.
Lmp[iteration][ia])
74 arr[il][im][ia] =
exp(-1 * this->timeStep / tau_d);
99 double Cd = 1.557E4 / 86400;
102 double td = Cd* (1 / L ) * gamma / (gamma * gamma - 1) * (1 - 1/3 * pow(sin(alpha),0.62) );
void Update(int iteration, Parameters_structure::SL_structure &SL, Grid &grid)
GridElement alpha
grid elements to be used
bool useLmp
magnetopause position flag
Matrix3D< double > arr
array of grid points
static const double exp
exponential
Matrix3D< double > arr
array of sources and losses values
void AllocateMemory(int size_x, int size_y, int size_z)
static const double mc2
m*c^2 = 0.511 MeV
Matrix2D< double > Lmp
magnetopause position Lmp (time, alpha)
int size
size of grid element
void Create_SL(Parameters_structure::SL_structure &SL, Grid &grid, int numberOfIterations, double timeStep)
GridElement L
grid elements to be used
double drift_time(double pc, double alpha, double L)
Computational grid composed of 3 different GridElement.
Sources and losses parameters structure.
GridElement pc
grid elements to be used