13 #ifndef PhaseSpaceDensity_H
14 #define PhaseSpaceDensity_H
25 #include "../Grid/Grid.h"
27 #include "../Matrix/Matrix.h"
29 #include "../DiffusionCoefficient/DiffusionCoefficient.h"
31 #include "../Parameters/Parameters.h"
36 #include "../Grid/AdditionalSourcesAndLosses.h"
80 void Load_initial_f(
GridElement &L,
GridElement &pc,
GridElement &alpha,
double tau,
double Kp,
double min_f = 1.e-99,
string J_L7_function =
"J_L7",
double fb_out = 1,
double fb_in = 0,
bool using_ip_90 =
true);
83 void Load_initial_f_two_zone(
GridElement &L,
GridElement &pc,
GridElement &alpha,
double tau,
double tauLpp,
double Kp,
double min_psd = 1.e-99,
string J_L7_function =
"J_L7",
double fb_out = 1,
double fb_in = 0);
98 void DiffusionMixTermExplicit(
double dt,
double Lpp,
105 string pc_lowerBoundaryCondition_calculationType,
106 string pc_upperBoundaryCondition_calculationType,
107 string alpha_lowerBoundaryCondition_calculationType,
108 string alpha_upperBoundaryCondition_calculationType);
111 void Diffusion_alpha(
double dt,
double Lpp,
116 string alpha_lowerBoundaryCondition_calculationType,
117 string alpha_upperBoundaryCondition_calculationType);
119 void Diffusion_pc(
double dt,
double Lpp,
124 string pc_lowerBoundaryCondition_calculationType,
125 string pc_upperBoundaryCondition_calculationType);
127 void Diffusion_L(
double dt,
double Lpp,
132 string lowerBoundaryCondition_calculationType,
133 string upperBoundaryCondition_calculationType,
134 double tau,
double tauLpp);
137 void Diffusion_pc_alpha(
double dt,
double Lpp,
146 string pc_lowerBoundaryCondition_calculationType,
147 string pc_upperBoundaryCondition_calculationType,
148 string alpha_lowerBoundaryCondition_calculationType,
149 string alpha_upperBoundaryCondition_calculationType);
151 void Diffusion_pc_alpha_KC(
double dt,
double Lpp,
160 string pc_lowerBoundaryCondition_calculationType,
161 string pc_upperBoundaryCondition_calculationType,
162 string alpha_lowerBoundaryCondition_calculationType,
163 string alpha_upperBoundaryCondition_calculationType);
175 void SourcesAndLosses(
180 double Lpp,
double tau,
double tauLpp,
double Kp);
183 void Output_without_grid(
double time);
void steady_state(Matrix1D< double > &f, double tau, double Kp, int nx, Matrix1D< double > &CL, double f_bnd_out=1, double f_bnd_in=0)
Interpolation parameters structure
Array of values of coordinate axes.
Calculates any additional sources and losses due to magnetopause.
Holds diffusion coefficient matrix and routines to load and calculate it.
ofstream output_without_grid_file
output stream for PSD
void steady_state_two_zone(Matrix1D< double > &f, Matrix1D< double > &tau, double Kp, double alpha, Matrix1D< double > &Ke, int nx, Matrix1D< double > &CL, double f_bnd_out=1, double f_bnd_in=0)
This matrix calculates the diagonal values and index given parameters for x, y, and z...
Main parameters structure that holds smaller structures for individual parameters.
Parameters_structure::PSD PSD_parameters
Parameters from ini file.
Matrix3D< double > arr
array of PSD values
Phase Space Density class.
Holds upper and lower boundary conditions.
Parameters_structure parameters
Parameters structure, with all parameters from the parameters.ini file. The default parameters define...
Computational grid composed of 3 different GridElement.
PSD parameters structure.