13 #ifndef PhaseSpaceDensity_H
16 #define PhaseSpaceDensity_H
25 #include "../Grid/Grid.h"
27 #include "../Matrix/Matrix.h"
29 #include "../DiffusionCoefficient/DiffusionCoefficient.h"
31 #include "../Parameters/Parameters.h"
90 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);
103 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);
132 void DiffusionMixTermExplicit(
double dt,
double Lpp,
139 string pc_lowerBoundaryCondition_calculationType,
140 string pc_upperBoundaryCondition_calculationType,
141 string alpha_lowerBoundaryCondition_calculationType,
142 string alpha_upperBoundaryCondition_calculationType);
145 void Diffusion_alpha(
double dt,
double Lpp,
150 string alpha_lowerBoundaryCondition_calculationType,
151 string alpha_upperBoundaryCondition_calculationType);
153 void Diffusion_pc(
double dt,
double Lpp,
158 string pc_lowerBoundaryCondition_calculationType,
159 string pc_upperBoundaryCondition_calculationType);
161 void Diffusion_L(
double dt,
double Lpp,
166 string lowerBoundaryCondition_calculationType,
167 string upperBoundaryCondition_calculationType,
168 double tau,
double tauLpp);
171 void Diffusion_pc_alpha(
double dt,
double Lpp,
180 string pc_lowerBoundaryCondition_calculationType,
181 string pc_upperBoundaryCondition_calculationType,
182 string alpha_lowerBoundaryCondition_calculationType,
183 string alpha_upperBoundaryCondition_calculationType);
185 void Diffusion_pc_alpha_KC(
double dt,
double Lpp,
194 string pc_lowerBoundaryCondition_calculationType,
195 string pc_upperBoundaryCondition_calculationType,
196 string alpha_lowerBoundaryCondition_calculationType,
197 string alpha_upperBoundaryCondition_calculationType);
206 void SourcesAndLosses(
211 double Lpp,
double tau,
double tauLpp,
double Kp);
214 void Output_without_grid(
double time);