9 #ifndef DiffusionCoefficient_H
10 #define DiffusionCoefficient_H
14 #include "../Matrix/Matrix.h"
15 #include "../Grid/Grid.h"
45 double Scale(
double Kp);
69 void MakeDLL(
double Kp);
110 bool ActivateAndScale(
double time,
double Kp);
122 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);
124 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);
125 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);
126 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);
134 double f1(
double lambda);
136 double Alpha_ne(
double pangle,
double lambda,
double L);
137 double func_tmp (
double x,
double Alpha);
141 double F_cap2(
double x,
double y,
double a,
double beta,
double mu,
double s,
double epsilon,
double Alpha_star,
DxxParameters_structure DxxParameters);
145 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);
147 double Df (
double L,
double Kp) ;
149 double Df_Ozeke (
double L,
double Kp) ;
bool Dxx_initialized
flag, indicated that the initialization was passed
Holds list of instances of DiffusionCoefficient class of same type (like Daa, Dpp, etc), but produced by different waves (Daa_chorus, Daa_EMIC, etc).
Array of values of coordinate axes.
double Alpha_ne(double pangle, double lambda, double L)
DxxParameters_structure DxxParameters
Derivative parameters.
double int_Daa_loc(double lambda, DxxParameters_structure DxxParameters)
Holds diffusion coefficient matrix and routines to load and calculate it.
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)
DiffusionCoefficient CurrentDxx
flag, indicated that the initialization was passed
Struct that holds various parameters to be used for Dxx.
bool useScale
flag, if scale is applyable
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...
double int_Dpp_loc(double lambda, DxxParameters_structure DxxParameters)
double int_Dpa_loc(double lambda, 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 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 F_cap(double x, double y, double b, double s, double epsilon, DxxParameters_structure DxxParameters)
double Df_Ozeke(double L, double Kp)
Main parameters structure that holds smaller structures for individual parameters.
bool is_active
flag, if is enabled right now
double Df_Ozeke_E(double L, double Kp)
Matrix3D< double > arr
array of diffusion coefficients
double Df(double L, double Kp)
double func_tmp(double x, double Alpha)
double F_cap2(double x, double y, double a, double beta, double mu, double s, double epsilon, double Alpha_star, DxxParameters_structure DxxParameters)
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. ...
Parameters_structure parameters
Parameters structure, with all parameters from the parameters.ini file. The default parameters define...
string type
Type of the diffusion coefficient: Daa, Dpp, Dpa etc... Described in types.h file as an enumeration...
void CreateAllDiffusionCoefficients(DiffusionCoefficient &DLL, DiffusionCoefficientsGroup &Daa, DiffusionCoefficientsGroup &Dpcpc, DiffusionCoefficientsGroup &Dpca, DiffusionCoefficientsGroup &DaaLpp, DiffusionCoefficientsGroup &DpcpcLpp, DiffusionCoefficientsGroup &DpcaLpp, Parameters_structure ¶meters, Grid &radialDiffusionGrid, Grid &localDiffusionsGrid)
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)
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
Computational grid composed of 3 different GridElement.
vector< DiffusionCoefficient > DxxList
List of diffusion coefficients in that group. Actually, it's a list of waves used in the diffusion co...
double Dxx_ba(double L, double epc, double alpha, double int_Dxx_loc(double lambda, DxxParameters_structure DxxParameters), DxxParameters_structure DxxParameters)