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"
33 #include "MatrixSolver.h"
36 #include "../Grid/AdditionalSourcesAndLosses.h"
93 void Load_initial_f(
GridElement &L,
GridElement &pc,
GridElement &alpha,
double tau,
double Kp,
double min_psd = 1.e-99,
string J_L7_function =
"J_L7",
double fb_out = 1,
double fb_in = 0);
106 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);
135 void DiffusionMixTermExplicit(
double dt,
double Lpp,
142 string pc_lowerBoundaryCondition_calculationType,
143 string pc_upperBoundaryCondition_calculationType,
144 string alpha_lowerBoundaryCondition_calculationType,
145 string alpha_upperBoundaryCondition_calculationType);
148 void Diffusion_alpha(
double dt,
double Lpp,
153 string alpha_lowerBoundaryCondition_calculationType,
154 string alpha_upperBoundaryCondition_calculationType);
156 void Diffusion_pc(
double dt,
double Lpp,
161 string pc_lowerBoundaryCondition_calculationType,
162 string pc_upperBoundaryCondition_calculationType);
164 void Diffusion_L(
double dt,
double Lpp,
169 string lowerBoundaryCondition_calculationType,
170 string upperBoundaryCondition_calculationType,
171 double tau,
double tauLpp);
174 void Diffusion_pc_alpha(
double dt,
double Lpp,
183 string pc_lowerBoundaryCondition_calculationType,
184 string pc_upperBoundaryCondition_calculationType,
185 string alpha_lowerBoundaryCondition_calculationType,
186 string alpha_upperBoundaryCondition_calculationType);
188 void Diffusion_pc_alpha_KC(
double dt,
double Lpp,
197 string pc_lowerBoundaryCondition_calculationType,
198 string pc_upperBoundaryCondition_calculationType,
199 string alpha_lowerBoundaryCondition_calculationType,
200 string alpha_upperBoundaryCondition_calculationType);
209 void SourcesAndLosses(
214 double Lpp,
double tau,
double tauLpp,
double Kp);
217 void Output_without_grid(
double time);
218 ofstream output_without_grid_file;
Interpolation parameters structure
Definition: Parameters.h:238
Array of values of coordinate axes.
Definition: Grid.h:28
Calculates any additional sources and losses due to magnetopause.
Definition: AdditionalSourcesAndLosses.h:23
Holds diffusion coefficient matrix and routines to load and calculate it.
Definition: DiffusionCoefficient.h:23
This matrix calculates the diagonal values and index given parameters for x, y, and z...
Definition: Matrix.h:310
Main parameters structure that holds smaller structures for individual parameters.
Definition: Parameters.h:87
Parameters_structure::PSD PSD_parameters
Parameters from ini file.
Definition: PSD.h:56
Phase Space Density class.
Definition: PSD.h:48
Holds upper and lower boundary conditions.
Definition: BoundaryConditions.h:26
Matrix3D< double > arr
array of PSD values
Definition: PSD.h:53
Computational grid composed of 3 different GridElement.
Definition: Grid.h:53
PSD parameters structure.
Definition: Parameters.h:178