VERB_code_2.3
Todo List
Class AdditionalSourcesAndLosses
Move loss cone losses to the rest of the sources and losses
globalScope> Member Alpha_ne (double pangle, double lambda, double L)
L is not used in this function. delete it or use it.
File DiffusionCoefficient.cpp
comment this file if you understand the functions and math
Member DiffusionCoefficient::Create_Dxx (DxxParameters_structure DxxParameters, Grid &grid)
Remove grid from the class DiffusionCoefficients and remove functions, these assume it there
Parameters
DxxParameters- diffusion coefficients param structure
&grid- optional grid parameter to use
Member DiffusionCoefficient::Scale (double Kp)
Upgrade scaling diffusion coefficients procedure with scaling according to external array
Class DiffusionCoefficientsGroup
change DiffusionCoefficientGroup name to the DiffusionCoefficient name and DiffusionCoefficient name to something else.
globalScope> Member Dxx_ba (double L, double epc, double alpha, double int_Dxx_loc(double lambda, DxxParameters_structure DxxParameters), DxxParameters_structure DxxParameters)
L and EMeV aren't used again in this function. Do we need it?
globalScope> Member Dxx_ba (double L, double epc, double alpha, double int_Dxx_loc(double lambda, DxxParameters_structure DxxParameters), DxxParameters_structure DxxParameters)
L and EMeV aren't used again in this function. Do we need it?
globalScope> Member 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)
Get someone with physics background to document the Greek letter variables.
File error.h
Remove from THE CODE error class, output class, move enclosed classes out, remove variabilities in function callings, change all enum's to strings. In that case, probably, the code can be understood.
globalScope> Member F_cap (double x, double y, double b, double s, double epsilon, DxxParameters_structure DxxParameters)
Function is never called anywhere. Most likely replaced by F_cap2. Should be removed.
globalScope> Member free_matrix (T ***m, int size_x, int size_y)
Move to Matrix.cpp
globalScope> Member free_matrix (T *m)
Move to Matrix.cpp
globalScope> Member free_matrix (T **m)
Move to Matrix.cpp
globalScope> Member get_quads (double *a, int n, double *quad, double *x)
Should gives error in case roots not founded. But that is commented.
page Main Page
  • specify page on link for parameters
  • why we need load boundary in two different sections? LoadBoundaryCondition | MakeBoundaryCondition
  • is MixTerms in a AM_Block method? - Yes
  • why psdRadialDiffusion - doesn't check for == 0?
  • why local->radial interpolation after write the Output? -(for debug)
  • what to exclude from Doxygen about VERB code??
Member Matrix1D< T >::readFromFile (string filename, Matrix1D< T > &grid_x)
All matrix readings change to readFromFile() function
Member Matrix1D< T >::Spline (Matrix1D< T > &old_function, Matrix1D< T > &old_grid, Matrix1D< T > &new_grid, double lb, double ub, double lin_spline_coef=0, double max_second_der=0)
Check the index of the last argument of the spline interpolation.
Member Matrix2D< T >::writeToFile (string filename)
Change the name 'writeToFile' in Matrix classes to 'write' or something.
File Output.cpp
  • Rewrite type conversion functions as "any to string" and organize them.
  • Move all headers to the header files and code to cpp files (if it is possible everywhere).
  • Rewrite all output with streams insted of old-c functions.
File Output.h
  • Find out what is the maximum level of the message
File PSD.cpp
  • A lot of corrections should be done in PSD class to make it more logical and less spread.
File PSD.h
  • What Interpolate function does
Member PSD::Diffusion_alpha (double dt, double Lpp, DiffusionCoefficient &Daa, DiffusionCoefficient &DaaLpp, GridElement &L, GridElement &pc, GridElement &alpha, Matrix3D< double > Jacobian, Matrix2D< double > alpha_lowerBoundaryCondition, Matrix2D< double > alpha_upperBoundaryCondition, string alpha_lowerBoundaryCondition_calculationType, string alpha_upperBoundaryCondition_calculationType)
lot's of repeated code within diffusion functions. maybe find a way to condense them
Member PSD::Diffusion_pc_alpha_KC (double dt, double Lpp, DiffusionCoefficient &Dpcpc, DiffusionCoefficient &DpcpcLpp, DiffusionCoefficient &Daa, DiffusionCoefficient &DaaLpp, DiffusionCoefficient &Dpca, DiffusionCoefficient &DpcaLpp, GridElement &L, GridElement &pc, GridElement &alpha, Matrix3D< double > Jacobian, Matrix2D< double > pc_lowerBoundaryCondition, Matrix2D< double > pc_upperBoundaryCondition, Matrix2D< double > alpha_lowerBoundaryCondition, Matrix2D< double > alpha_upperBoundaryCondition, string pc_lowerBoundaryCondition_calculationType, string pc_upperBoundaryCondition_calculationType, string alpha_lowerBoundaryCondition_calculationType, string alpha_upperBoundaryCondition_calculationType)
Literally the only difference between KC version and original version is calling one custom method MakeModelMatrix_3D_KC. Find a way to compress two functions together.
Member PSD::Interpolate (PSD &otherPSD, Parameters_structure::Interpolation interpolationParameters, Grid &oldGrid, Grid &newGrid, Matrix2D< double > newGrid_pc_lowerBoundaryCondition, Matrix2D< double > newGrid_pc_upperBoundaryCondition)
If grid types are the same, it's not necessary that grids are the same
Member PSD::Load_initial_f_2d (GridElement &L, GridElement &pc, GridElement &alpha, const char *filename)
not exactly sure what this does