10 #ifndef LOAD_CONSTANCE_H // continue if have not load this file yet
11 #define LOAD_CONSTANCE_H
16 #include "../Matrix/Matrix.h"
17 #include "../VariousFunctions/variousConstants.h"
18 #include "../Logging/Output.h"
65 double eta1, eta2, eta3;
77 double L, EMeV, Alpha;
81 bool Load_dxx_parameters(
string filename);
119 string usetau, usetauLpp;
139 } general_Output_parameters;
143 localDiffusionsGrid_type;
163 radialDiffusionGrid_L, radialDiffusionGrid_pc, radialDiffusionGrid_alpha, radialDiffusionGrid_epc,
164 localDiffusionsGrid_L, localDiffusionsGrid_pc, localDiffusionsGrid_alpha, localDiffusionsGrid_epc;
180 L_LowerBoundaryCondition,
181 L_UpperBoundaryCondition,
182 pc_LowerBoundaryCondition,
183 pc_UpperBoundaryCondition,
184 alpha_LowerBoundaryCondition,
185 alpha_UpperBoundaryCondition;
232 } psdRadialDiffusion,
272 bool Load_parameters(
string filename);
276 void StrToVal(
string input,
double &place);
277 void StrToVal(
string input,
int &place);
278 void StrToVal(
string input,
string &place);
279 void StrToVal(
string input,
bool &place);
bool useLmp
magnetopause position flag
string preconditioner_type
Type of preconditioner to use.
Matrix1D< double > Kp
Kp array.
string folderName
output folder name.
Interpolation parameters structure
double constLpp
constant Lpp value (if it's constant).
double initial_PSD_inner_psd
Inner PSD boundary value for steady state, default 0.
string filetype
Type of the file (w/wo grid etc)
bool useScale
Flag, use scaling if equal to true.
string usetauLpp_SteadyState
Tau within plasmasphere for steady state.
string output_PSD_fileName4D
File name for psd output.
string Omega_mType
Omega_m type. Check StrToVal(string input, Omega_mTypes &place) for known values. ...
bool useLossCone
specify whether using loss cone or not
string SL_L_top_filename
filename for losses upper bound
bool useAlphaDiffusion
Using diffusions flags.
double initial_PSD_Kp0
Kp for steady state?
string particle
Type of particles, produced wave? Ions or electrons. Check StrToVal(string input, ParticleTypes &plac...
string fileLpp
Lpp file name.
double lam_min
Minimum latitude.
void StrToVal(string input, double &place)
string filename
File name to load boundary conditions from.
double initial_PSD_tauSteadyState
Tau for steady state, if we are calculation initial values as steady state solution.
Matrix1D< double > Bf
Boundary flux array.
string logFileName
log-file name.
string initial_PSD_Type
Tells us where to get initial PSD values. Check StrToVal(string input, InitialPSDTypes &place) for kn...
int SOL_maxiter
Maximum number of steps, for iteration methods.
Struct that holds various parameters to be used for Dxx.
vector< T_double_vector > T_2d_double_vector
typedef vector of vector of doubles
string useKp
Flag, using Kp index. constant - use constant value, file - read from file.
double d_omega
d_omega value.
double time_start
Time, when diffusion coefficient starts.
bool SL_E_min
sources lower bound
bool useLogScale
Flag, use logarithmic scale.
string loadOrCalculate
Load diffusion coefficient or calculate flag.
Boundary conditions parameters structure.
string type
Interpolation type: spline, linear etc.
string radialDiffusionGrid_filename
filename, if grid load from file
double MLT_averaging
MLT averaging part of the orbit.
Matrix2D< double > Lmp
magnetopause position Lmp (time, alpha)
int nint
Number of points in integral.
double maxSecondDerivative
string filename
File name for loading or saving diffusion coefficients array.
int iterStep
Number of iterations between outputs.
string SL_E_min_filename
filename for sources lower bound
string approximationMethod
Approximation method. Check StrToVal(string input, ApproximationMethods &place) for known values...
string numberDensity
Number density model. Check StrToVal(string input, NumberDensities &place) for known values...
double mirror_point_coeff
Coefficient for mirror point (like 0.999, cause we can not integrate all the way to mirror point) ...
Matrix1D< double > Lpp
Lpp array.
Grid element parameters structure.
string DxxType
Dxx type. Check StrToVal(string input, DiffusionCoefficientTypes &place) for known values...
string type
Type. Check StrToVal(string input, BoundaryConditionTypes &place) for known values.
Main parameters structure that holds smaller structures for individual parameters.
double output_PSD_timeStep
Time step for psd output.
bool useEnergyDiffusion
Using diffusions flags.
bool useEnergyAlphaMixedTerms
int totalIterationsNumber
Total number of iterations.
double nDays
Simulation total time, days.
double initial_PSD_some_constant_value
Some psd value. Used as initial PSD value everywhere if initial_PSD_Type = IPSDT_CONSTANT or as minim...
bool NoNegative
Artificially no negative PSD.
string name
Grid element name. Optional.
double value
Value (if it is constant value on the boundary).
double initial_PSD_tauLppSteadyState
Tau for steady state, if we are calculation initial values as steady state solution.
double DxxKp
Kp value associated with parameters (for Kp-scaling)
string waveName
Wave name.
string radialDiffusionGrid_type
Local diffusions grid type.
string fileKp
Kp file name.
double SOL_max_iter_err
maximum error, for iteration methods
vector< double > T_double_vector
typedef vector of doubles
double constKp
constant Kp value (if it's constant).
double timeStep
Time step for output.
bool outputModelMatrix
Output model matrix.
double multiplicator
Dxx is multiplied to this number after all other operations. Useful for fast Dxx modifications.
General program output parameters structure.
bool use_normalization
To normalize (or not) matrix A from Ax=B system.
double timeStep
Time step, hours.
string initial_PSD_fileName
File name, if we need to load initial values from file.
GMRES parameters structure.
string output_PSD_folderName
Folder name for psd output.
bool BwFromLambda
Bw lambda dependance flag.
void load_2d(Matrix2D< double > &var, string filename, double dt, int var_size_x=0, int var_size_y=0)
string useLog
Flag, if we should interpolate logarithm of the values.
string fileBf
Bf file name.
string localDiffusionsGrid_filename
filename, if grid load from file
string waveType
Wave type (chorus, hiss etc). Check StrToVal(string input, WaveTypes &place) for known values...
Matrix1D< double > tauLpp
Lifetime inside of the plasmasphere.
void load_1d(Matrix1D< double > &var, string filename, double dt, int var_size=0)
string fileName1D
1d-output file name.
string solutionMethod
Solution method. Check StrToVal(string input, SolutionMethods &place) for known values.
double Omega_m
Omega_m value.
string initial_PSD_J_L7_function
Name of the function for flux at L=7. Can be 'J_L7' or 'J_L7_corrected'.
double & T_2d_double_vector_add(T_2d_double_vector &v, size_t x, size_t y)
double constBf
constant Bf value (if it's constant).
Matrix1D< double > tau
Lifetime out of the plasmasphere.
double initial_PSD_outer_psd
Outer PSD boundary value for steady state, default 1.
double lam_max
Maximum latitude.
double omega_lc
omega lower cutoff
double time_end
Time, when diffusion coefficient ends.
bool SL_L_top
SL parameters.
PSD parameters structure.
double omega_uc
omega upper cutoff
string useLpp
Flag, using plasma pause location dependences if equal true.
string useBf
Flag, using boundary flux dependences if equal true.
int SOL_i_max
For GMRES - number of iterations before restart.
bool useRadialDiffusion
Using diffusions flags.
bool str2bool(string str)
int outputLvl
Detalization level of screen output.
Sources and losses parameters structure.
string fileLmp
magnetopause position file name
vector< DxxParameters_structure > DxxParametersList
List of diffusion coefficients parameters.