VERB_code_2.3
|
Go to the source code of this file.
Classes | |
class | DiffusionCoefficient |
Holds diffusion coefficient matrix and routines to load and calculate it. More... | |
class | DiffusionCoefficientsGroup |
Holds list of instances of DiffusionCoefficient class of same type (like Daa, Dpp, etc), but produced by different waves (Daa_chorus, Daa_EMIC, etc). More... | |
Functions | |
double | Dxx_ba (double L, double epc, double alpha, double int_Dxx_loc(double lambda, DxxParameters_structure DxxParameters), DxxParameters_structure DxxParameters) |
double | Dxx_local (double lambda, double Dxx_root(double Omega_e, double x, double mu, double su, double y, double beta, double a, double b, double alpha_star, double s, double epsilon, double d_x, double x_m, double R, DxxParameters_structure DxxParameters), DxxParameters_structure DxxParameters) |
double | Daa_root (double Omega_e, double x, double mu, double su, double y, double beta, double a, double b, double alpha_star, double s, double epsilon, double d_x, double x_m, double R, DxxParameters_structure DxxParameters) |
double | Dpa_root (double Omega_e, double x, double mu, double su, double y, double beta, double a, double b, double alpha_star, double s, double epsilon, double d_x, double x_m, double R, DxxParameters_structure DxxParameters) |
double | Dpp_root (double Omega_e, double x, double mu, double su, double y, double beta, double a, double b, double alpha_star, double s, double epsilon, double d_x, double x_m, double R, DxxParameters_structure DxxParameters) |
double | int_Daa_loc (double lambda, DxxParameters_structure DxxParameters) |
double | int_Dpp_loc (double lambda, DxxParameters_structure DxxParameters) |
double | int_Dpa_loc (double lambda, DxxParameters_structure DxxParameters) |
double | f1 (double lambda) |
double | Alpha_ne (double pangle, double lambda, double L) |
double | func_tmp (double x, double Alpha) |
double | F_cap (double x, double y, double b, double s, double epsilon, DxxParameters_structure DxxParameters) |
double | F_cap2 (double x, double y, double a, double beta, double mu, double s, double epsilon, double Alpha_star, DxxParameters_structure DxxParameters) |
std::vector< double > | rrouts (double x_1, double x_2, double yida1, double yida2, double yida3, double epsilon, double beta, double mu, double alpha_star, double a, DxxParameters_structure DxxParameters) |
routs finding routine More... | |
double | Df (double L, double Kp) |
double | Df_Ozeke (double L, double Kp) |
double | Df_Ozeke_E (double L, double Kp) |
void | CreateAllDiffusionCoefficients (DiffusionCoefficient &DLL, DiffusionCoefficientsGroup &Daa, DiffusionCoefficientsGroup &Dpcpc, DiffusionCoefficientsGroup &Dpca, DiffusionCoefficientsGroup &DaaLpp, DiffusionCoefficientsGroup &DpcpcLpp, DiffusionCoefficientsGroup &DpcaLpp, Parameters_structure ¶meters, Grid &radialDiffusionGrid, Grid &localDiffusionsGrid) |
void | Output1DHeaders (ofstream &output1D, DiffusionCoefficientsGroup &Daa, DiffusionCoefficientsGroup &Dpcpc, DiffusionCoefficientsGroup &Dpca, DiffusionCoefficientsGroup &DaaLpp, DiffusionCoefficientsGroup &DpcpcLpp, DiffusionCoefficientsGroup &DpcaLpp) |
Function used in main() to print header in output file. Header needs to understand the output file. More... | |
void | Output1DValues (ofstream &output1D, DiffusionCoefficientsGroup &Daa, DiffusionCoefficientsGroup &Dpcpc, DiffusionCoefficientsGroup &Dpca, DiffusionCoefficientsGroup &DaaLpp, DiffusionCoefficientsGroup &DpcpcLpp, DiffusionCoefficientsGroup &DpcaLpp, double &time, Parameters_structure ¶meters, int iteration) |
Function used in main() to print values of diffusion coefficients in output file. More... | |
Diffusion coefficients calculation, loading, activating, scaling etc. Header file.
Definition in file DiffusionCoefficient.h.
double Alpha_ne | ( | double | pangle, |
double | lambda, | ||
double | L | ||
) |
Return inverse of calculated parameters(?)
pangle | - pitch angle |
lambda | - lambda |
L | - L value |
\( \sin^{-1}( \sqrt{ f1(\lambda)} * \sin(pangle) ) \) where f1 is f1()
Definition at line 538 of file DiffusionCoefficient.cpp.
void CreateAllDiffusionCoefficients | ( | DiffusionCoefficient & | DLL, |
DiffusionCoefficientsGroup & | Daa, | ||
DiffusionCoefficientsGroup & | Dpcpc, | ||
DiffusionCoefficientsGroup & | Dpca, | ||
DiffusionCoefficientsGroup & | DaaLpp, | ||
DiffusionCoefficientsGroup & | DpcpcLpp, | ||
DiffusionCoefficientsGroup & | DpcaLpp, | ||
Parameters_structure & | parameters, | ||
Grid & | radialDiffusionGrid, | ||
Grid & | localDiffusionsGrid | ||
) |
Create all diffusion coefficients based on parameters
&DLL | - Diffusion coefficients DLL |
&Daa | - see Main.cpp for diffusion coefficient definitions |
&Dpcpc | |
&Dpca | |
&DaaLpp | |
&DpcpcLpp | |
&DpcaLpp | |
¶meters | - parameters structure |
&radialDiffusionGrid | - grid to copy from |
&localDiffusionsGrid | - grid to copy coefficients into |
Definition at line 1005 of file DiffusionCoefficient.cpp.
double Daa_root | ( | double | Omega_e, |
double | x, | ||
double | mu, | ||
double | su, | ||
double | y, | ||
double | beta, | ||
double | a, | ||
double | b, | ||
double | Alpha_star, | ||
double | s, | ||
double | epsilon, | ||
double | d_x, | ||
double | x_m, | ||
double | R, | ||
DxxParameters_structure | DxxParameters | ||
) |
Obtain roots for Daa coefficient
where fcap = F_cap2()
Definition at line 830 of file DiffusionCoefficient.cpp.
double Df | ( | double | L, |
double | Kp | ||
) |
Radial Diffusion coefficient computed following [Brautigam and Albet , 2000]
Definition at line 952 of file DiffusionCoefficient.cpp.
double Df_Ozeke | ( | double | L, |
double | Kp | ||
) |
Radial Diffusion coefficient computed Ozeke, Ozeke et al, 2013 Analytic Expressions for ULL Wave Radiation Belt Radial Diffusion Coefficient // (before publishing) DLL_B \( days^{-1} \)
Definition at line 963 of file DiffusionCoefficient.cpp.
double Df_Ozeke_E | ( | double | L, |
double | Kp | ||
) |
DLL_E
Definition at line 970 of file DiffusionCoefficient.cpp.
double Dpa_root | ( | double | Omega_e, |
double | x, | ||
double | mu, | ||
double | su, | ||
double | y, | ||
double | beta, | ||
double | a, | ||
double | b, | ||
double | Alpha_star, | ||
double | s, | ||
double | epsilon, | ||
double | d_x, | ||
double | x_m, | ||
double | R, | ||
DxxParameters_structure | DxxParameters | ||
) |
Obtain roots for Dpa coefficient
where fcap = F_cap2()
Definition at line 848 of file DiffusionCoefficient.cpp.
double Dpp_root | ( | double | Omega_e, |
double | x, | ||
double | mu, | ||
double | su, | ||
double | y, | ||
double | beta, | ||
double | a, | ||
double | b, | ||
double | Alpha_star, | ||
double | s, | ||
double | epsilon, | ||
double | d_x, | ||
double | x_m, | ||
double | R, | ||
DxxParameters_structure | DxxParameters | ||
) |
Obtain roots for Dpp coefficient
where fcap = F_cap2()
Definition at line 866 of file DiffusionCoefficient.cpp.
double Dxx_ba | ( | double | L1, |
double | EMeV, | ||
double | Alpha, | ||
double | int_Dxx_locdouble lambda, DxxParameters_structure DxxParameters, | ||
DxxParameters_structure | DxxParameters | ||
) |
Return derivative of func_tmp
func_tmp = \( x^6+(3*\sin^4(\alpha)) * x-4*\sin^4(\alpha) \)
Definition at line 623 of file DiffusionCoefficient.cpp.
double f1 | ( | double | lambda | ) |
\( \sqrt{4.0 - 3.0 * \frac {\cos^2(\lambda)}{\cos^6(\lambda)}} \)
Definition at line 546 of file DiffusionCoefficient.cpp.
double F_cap | ( | double | x, |
double | y, | ||
double | b, | ||
double | s, | ||
double | epsilon, | ||
DxxParameters_structure | DxxParameters | ||
) |
\( y*((x-s)^2)* \frac{(x+s*\epsilon)^2}{x*g} \) where g is polynomial sequence derived from b, s, and epsilon
Definition at line 571 of file DiffusionCoefficient.cpp.
double F_cap2 | ( | double | x, |
double | y, | ||
double | a, | ||
double | beta, | ||
double | mu, | ||
double | s, | ||
double | epsilon, | ||
double | Alpha_star, | ||
DxxParameters_structure | DxxParameters | ||
) |
returns upper to lower ratio, using eta1, eta2, and eta3 from DxxParameters
where up = \( \frac{2(x+a)}{\beta * \mu} \) and
where down = \( 2x - (\frac{1}{\alpha^*} * \frac{1}{x-s}) + \frac{\eta1*\epsilon}{x + s*\epsilon} + \frac{\eta2*\epsilon}{4x + s*\epsilon} + \frac{\eta3*\epsilon}{16x + s*\epsilon} + (\frac{x}{\alpha^*} * \frac{1}{(x-s)^2}) + \frac{\eta1*\epsilon}{(x+s*\epsilon)^2} + \frac{4*\epsilon*\eta2}{(4x+s*\epsilon)^2} + \frac{16*\epsilon*\eta3}{(16x+s*\epsilon)^2} \)
Definition at line 590 of file DiffusionCoefficient.cpp.
double func_tmp | ( | double | x, |
double | Alpha | ||
) |
\( x^6 + ((3x)\sin^4(\alpha) - 4\sin^4(\alpha)) \)
Definition at line 561 of file DiffusionCoefficient.cpp.
double int_Daa_loc | ( | double | lambda, |
DxxParameters_structure | DxxParameters | ||
) |
calls function Dxx_local() to get Daa
returns \( Daa * \cos(Alpha\_ne(\alpha, \lambda, L)) * \frac{\cos^7(\lambda)}{\cos^2(\alpha)} \)
where Alpha_ne is Alpha_ne()
Definition at line 646 of file DiffusionCoefficient.cpp.
double int_Dpa_loc | ( | double | lambda, |
DxxParameters_structure | DxxParameters | ||
) |
calls function Dxx_local() to get Dpa
returns \( Dpa * \frac{ \sin(Alpha\_ne(\alpha, \lambda, L)) * \cos^7(\lambda) }{\cos(\alpha) * \sin(\alpha)} \)
where Alpha_ne is Alpha_ne()
Definition at line 674 of file DiffusionCoefficient.cpp.
double int_Dpp_loc | ( | double | lambda, |
DxxParameters_structure | DxxParameters | ||
) |
calls function Dxx_local() to get Dpp
returns \( Dpp * \frac{ \cos(\lambda) * \sqrt{1 + 3*\sin^2(\lambda)} }{\cos(Alpha\_ne(\alpha, \lambda, L))} \)
where Alpha_ne is Alpha_ne()
Definition at line 660 of file DiffusionCoefficient.cpp.
void Output1DHeaders | ( | ofstream & | output1D, |
DiffusionCoefficientsGroup & | Daa, | ||
DiffusionCoefficientsGroup & | Dpcpc, | ||
DiffusionCoefficientsGroup & | Dpca, | ||
DiffusionCoefficientsGroup & | DaaLpp, | ||
DiffusionCoefficientsGroup & | DpcpcLpp, | ||
DiffusionCoefficientsGroup & | DpcaLpp | ||
) |
Function used in main() to print header in output file. Header needs to understand the output file.
Writing headers for all diffusion coefficients scaling coefficients
output1D | - output stream to file |
Daa | - Pitch-angle D. all other parameters - is a type of diffusion coefficients (DiffusionCoefficientsGroup). To file - Dxx.DxxList[Dxx_it].arr.name |
Dpcpc | - Energy D |
Dpca | - Mix pitch-angle and energy. |
DaaLpp | - Pitch-angle with plasma pause |
DpcpcLpp | - Energy with plasma pause |
DpcaLpp | - Pitch-angle and energy with plasma pause |
Definition at line 1126 of file DiffusionCoefficient.cpp.
void Output1DValues | ( | ofstream & | output1D, |
DiffusionCoefficientsGroup & | Daa, | ||
DiffusionCoefficientsGroup & | Dpcpc, | ||
DiffusionCoefficientsGroup & | Dpca, | ||
DiffusionCoefficientsGroup & | DaaLpp, | ||
DiffusionCoefficientsGroup & | DpcpcLpp, | ||
DiffusionCoefficientsGroup & | DpcaLpp, | ||
double & | time, | ||
Parameters_structure & | parameters, | ||
int | iteration | ||
) |
Function used in main() to print values of diffusion coefficients in output file.
Write information about 1d variables into the file with 1d variables
output1D | - output stream to file |
Daa | - Pitch-angle D. all other parameters - is a type of diffusion coefficients (DiffusionCoefficientsGroup). To file - Dxx.DxxList[Dxx_it].arr.name |
Dpcpc | - Energy D |
Dpca | - Mix pitch-angle and energy. |
DaaLpp | - Pitch-angle with plasma pause |
DpcpcLpp | - Energy with plasma pause |
DpcaLpp | - Pitch-angle and energy with plasma pause |
time | - current simulation time |
parameters | - (Parameters_structure) structure with all parameters from ini files and loaded/calcaulated parameters such as Kp and UpperBoundary? |
iteration | - Number of current iteration of the simulation |
Definition at line 1159 of file DiffusionCoefficient.cpp.
std::vector<double> rrouts | ( | double | x_1, |
double | x_2, | ||
double | eta1, | ||
double | eta2, | ||
double | eta3, | ||
double | epsilon, | ||
double | beta, | ||
double | mu, | ||
double | Alpha_star, | ||
double | a, | ||
DxxParameters_structure | DxxParameters | ||
) |
routs finding routine
rrouts implements roots() and get_quads() from rroots.cpp file to obtain real roots of polynomial
Definition at line 879 of file DiffusionCoefficient.cpp.