VERB_code_2.2
2
|
Phase Space Density class. More...
#include <PSD.h>
Public Member Functions | |
void | Create_Initial_PSD (Parameters_structure::PSD parameters, Grid &grid, BoundaryCondition L_UpperBoundaryCondition) |
Create inital PSD (Steady State) More... | |
void | Interpolate (PSD &otherPSD, Parameters_structure::Interpolation interpolationParameters, Grid &oldGrid, Grid &newGrid, Matrix2D< double > newGrid_pc_lowerBoundaryCondition, Matrix2D< double > newGrid_pc_upperBoundaryCondition) |
Interpolation function. More... | |
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) |
Calculate initial PSD from steady state. More... | |
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) |
Calculate initial PSD from steady state (kckim). More... | |
void | Load_initial_f_from_outer_L (GridElement &L, GridElement &pc, GridElement &alpha, double tau, double Kp, Matrix2D< double > L_UpperBoundaryCondition, double min_psd=1.e-99, double fb_out=1, double fb_in=0) |
Calculate initial PSD from steady state using boundary conditions. More... | |
void | Load_initial_f_2d (GridElement &L, GridElement &pc, GridElement &alpha, const char *filename) |
void | Load_initial_f_file (GridElement &L, GridElement &pc, GridElement &alpha, const char *filename, bool with_grid) |
void | Load_initial_f_maxwell (GridElement &L, GridElement &pc, GridElement &alpha) |
void | DiffusionMixTermExplicit (double dt, double Lpp, 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) |
void | 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) |
void | Diffusion_pc (double dt, double Lpp, DiffusionCoefficient &Dpcpc, DiffusionCoefficient &DpcpcLpp, GridElement &L, GridElement &pc, GridElement &alpha, Matrix3D< double > Jacobian, Matrix2D< double > pc_lowerBoundaryCondition, Matrix2D< double > pc_upperBoundaryCondition, string pc_lowerBoundaryCondition_calculationType, string pc_upperBoundaryCondition_calculationType) |
void | Diffusion_L (double dt, double Lpp, DiffusionCoefficient &DLL, GridElement &L, GridElement &pc, GridElement &alpha, Matrix3D< double > Jacobian, Matrix2D< double > lowerBoundaryCondition, Matrix2D< double > upperBoundaryCondition, string lowerBoundaryCondition_calculationType, string upperBoundaryCondition_calculationType, double tau, double tauLpp) |
void | Diffusion_pc_alpha (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) |
void | 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) |
void | SourcesAndLosses (Parameters_structure parameters, GridElement &L, GridElement &pc, GridElement &alpha, Matrix3D< double > &SL, double dt, double Lpp, double tau, double tauLpp, double Kp) |
void | Output_without_grid (double time) |
Public Attributes | |
Matrix3D< double > | arr |
array of PSD values More... | |
Parameters_structure::PSD | PSD_parameters |
Parameters from ini file. More... | |
CalculationMatrix | matr_A |
CalculationMatrix | matr_B |
CalculationMatrix | matr_C |
ofstream | output_without_grid_file |
Phase Space Density class.
Do diffusions and store the result in parent class Matrix3D. Do all possible operations with PSD (like output, loading, etc).
void PSD::Create_Initial_PSD | ( | Parameters_structure::PSD | parameters, |
Grid & | grid, | ||
BoundaryCondition | L_UpperBoundaryCondition | ||
) |
Create inital PSD (Steady State)
parameters | - interpolation parameters structure |
&grid | - grid |
L_UpperBoundaryCondition | - upper L boundary values, in case we need to create initial PSD as a steady state radial diffusion solution |
Initializing: storing parameters, loading initial values, making boundary conditions, initializing output parameters Simply, it is a creation of the object.
moved to parameters.cpp if (parameters.initial_PSD_tauSteadyState <= 1.e-99) parameters.initial_PSD_tauSteadyState = 4.0/parameters.initial_PSD_Kp0;
moved to parameters.cpp if (parameters.initial_PSD_tauSteadyState <= 1.e-99) parameters.initial_PSD_tauSteadyState = 4.0/parameters.initial_PSD_Kp0;
Definition at line 45 of file PSD.cpp.
References VF::alc(), Grid::alpha, BoundaryCondition::arr, GridElement::arr, Grid::epc, Parameters_structure::PSD::initial_PSD_fileName, Parameters_structure::PSD::initial_PSD_inner_psd, Parameters_structure::PSD::initial_PSD_J_L7_function, Parameters_structure::PSD::initial_PSD_Kp0, Parameters_structure::PSD::initial_PSD_outer_psd, Parameters_structure::PSD::initial_PSD_some_constant_value, Parameters_structure::PSD::initial_PSD_tauLppSteadyState, Parameters_structure::PSD::initial_PSD_tauSteadyState, Parameters_structure::PSD::initial_PSD_Type, Matrix2D< T >::initialized, Grid::L, Parameters_structure::PSD::output_PSD_fileName4D, Parameters_structure::PSD::output_PSD_folderName, parameters, Grid::pc, VC::pi, and GridElement::size.
void PSD::Interpolate | ( | PSD & | otherPSD, |
Parameters_structure::Interpolation | interpolationParameters, | ||
Grid & | oldGrid, | ||
Grid & | newGrid, | ||
Matrix2D< double > | newGrid_pc_lowerBoundaryCondition, | ||
Matrix2D< double > | newGrid_pc_upperBoundaryCondition | ||
) |
Interpolation function.
It does interpolation... for log(function) or for just function, depends on parameters.
&otherPSD | - PSD to interpolat to the values from |
interpolationParameters_structure | - |
&oldGrid | - old grid |
&newGrid | - new grid |
newGrid_pc_lowerBoundaryCondition | - upper energy boundary VALUE |
newGrid_pc_upperBoundaryCondition | - lower energy boundary VALUE |
Definition at line 1508 of file PSD.cpp.
References Grid::alpha, GridElement::arr, arr, checkInf_1D(), checkInf_3D(), VC::exp, Matrix1D< T >::Interpolate(), Grid::L, Parameters_structure::Interpolation::linearSplineCoef, VF::max(), Parameters_structure::Interpolation::maxSecondDerivative, Grid::pc, Matrix1D< T >::Polilinear(), GridElement::size, Matrix1D< T >::Spline(), Grid::type, Parameters_structure::Interpolation::type, Parameters_structure::Interpolation::useLog, and VC::zero_f.
void PSD::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 |
||
) |
Calculate initial PSD from steady state.
&L | - grid element L |
&pc | - grid element pc |
&alpha | - grid element alpha |
tau | - life time |
Kp | - Kp value |
min_f | - minimum of finction (should be some positive value) |
J_L7_function | - parameter, J_L7 function. Can be J_L7 or J_L7_corrected |
fb_out | - value at the outer L boundary |
fb_in | - value at the inner L boundary |
Definition at line 1725 of file PSD.cpp.
References VF::alc(), Matrix1D< T >::AllocateMemory(), GridElement::arr, VF::B(), Output::echo(), VF::Kfunc(), VF::Outer_Boundary_Flux_at_L7(), VC::pi, GridElement::size, Matrix1D< T >::size_x, steady_state(), and Matrix1D< T >::writeToFile().
void PSD::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 |
||
) |
Calculate initial PSD from steady state (kckim).
two zone initial profile (kckim)
&L | - grid element L |
&pc | - grid element pc |
&alpha | - grid element alpha |
tau | - life time |
Kp | - Kp value |
min_f | - minimum of finction (should be some positive value) |
J_L7_function | - parameter, J_L7 function. Can be J_L7 or J_L7_corrected |
Definition at line 1835 of file PSD.cpp.
References VF::alc(), Matrix1D< T >::AllocateMemory(), Matrix2D< T >::AllocateMemory(), GridElement::arr, VF::B(), VF::Coulomb(), VF::Kfunc(), VF::Outer_Boundary_Flux_at_L7(), VC::pi, VF::Precipitation(), GridElement::size, steady_state_two_zone(), and Matrix1D< T >::writeToFile().
void PSD::Load_initial_f_from_outer_L | ( | GridElement & | L, |
GridElement & | pc, | ||
GridElement & | alpha, | ||
double | tau, | ||
double | Kp, | ||
Matrix2D< double > | L_UpperBoundaryCondition, | ||
double | min_psd = 1.e-99 , |
||
double | fb_out = 1 , |
||
double | fb_in = 0 |
||
) |
Calculate initial PSD from steady state using boundary conditions.
&L | - grid element L |
&pc | - grid element pc |
&alpha | - grid element alpha |
tau | - life time |
Kp | - Kp value |
L_UpperBoundaryCondition | - values at the outer L boundary, in case we need to create initial PSD as a steady state radial diffusion solution |
min_f | - minimum of finction (should be some positive value) |
J_L7_function | - parameter, J_L7 function. Can be J_L7 or J_L7_corrected |
fb_out | - upper boundary value for steady-state solution |
fb_in | - lower boundary value for steady-state solution |
Definition at line 2072 of file PSD.cpp.
References GridElement::arr, VF::B(), GridElement::size, Matrix1D< T >::size_x, steady_state(), and Matrix1D< T >::writeToFile().
void PSD::Load_initial_f_2d | ( | GridElement & | L, |
GridElement & | pc, | ||
GridElement & | alpha, | ||
const char * | filename | ||
) |
Load initial PSD from 2d-file (for 2d calculations).
&L | - grid element L |
&pc | - grid element pc |
&alpha | - grid element alpha |
*filename | - file name |
Definition at line 2116 of file PSD.cpp.
References VF::alc(), GridElement::arr, GridElement::GridElement_parameters, VF::Kfunc(), Parameters_structure::GridElement::max, Parameters_structure::GridElement::min, VC::pi, GridElement::size, Matrix1D< T >::writeToFile(), and VC::zero_f.
void PSD::Load_initial_f_file | ( | GridElement & | L, |
GridElement & | epc, | ||
GridElement & | alpha, | ||
const char * | filename, | ||
bool | withGrid | ||
) |
Load initial PSD from file
&L | - grid element L |
&epc | - grid element pc |
&alpha | - grid element alpha |
filename | - filename |
withGrid | - indicate if the file contains grid values |
Definition at line 1691 of file PSD.cpp.
References GridElement::arr, err, and GridElement::size.
void PSD::Load_initial_f_maxwell | ( | GridElement & | L, |
GridElement & | pc, | ||
GridElement & | alpha | ||
) |
Load initial PSD from 2d-file (for 2d calculations).
&L | - grid element L |
&pc | - grid element pc |
&alpha | - grid element alpha |
*filename | - file name |
Definition at line 2209 of file PSD.cpp.
References GridElement::arr, VC::exp, VF::Kfunc(), and GridElement::size.
void PSD::DiffusionMixTermExplicit | ( | double | dt, |
double | Lpp, | ||
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 | ||
) |
Mixed terms calculation by explicit method.
dt | - time step |
Lpp | - plasma pause location |
&Dpca | - pc-alpha diffusion coefficient |
&DpcaLpp | - pc-alpha diffusion coefficient under plasma pause location |
&L | - grid element L |
&pc | - grid element pc |
&alpha | - grid element alpha |
&Jacobian | - jacobian |
&pc_lowerBoundaryCondition | - lower boundary condition on pc |
&pc_upperBoundaryCondition | - upper boundary condition on pc |
&alpha_lowerBoundaryCondition | - lower boundary condition on alpha |
&alpha_upperBoundaryCondition | - upper boundary condition on alpha |
pc_lowerBoundaryCondition_calculationType | - pc lower boundary condition type, |
pc_upperBoundaryCondition_calculationType | - pc upper boundary condition type, |
alpha_lowerBoundaryCondition_calculationType | - alpha lower boundary condition type, |
alpha_upperBoundaryCondition_calculationType | - alpha upper boundary condition type. |
Definition at line 379 of file PSD.cpp.
References DiffusionCoefficient::arr, GridElement::arr, VF::G(), and GridElement::size.
void 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 | ||
) |
Pitch angle diffusion calculation function. Takes diffusion coefficients, boundary conditions and grid elements as input. It calculates model matrix by MakeModelMatrix_3D for 3D problem: A_3D * PSD_3D(t+1) = B_3D * PSD_3D(t) + C_3D then splits it for 1D problems: A * PSD_1D(t+1) = B * PSD_1D(t) + C and solve by tridiag method.
dt | - time step |
Lpp | - plasma pause location |
&Daa | - L diffusion coefficient |
&DaaLpp | - L diffusion coefficient |
&L | - grid element L |
&pc | - grid elelent pc |
&alpha | - grid element alpha |
&Jacobian | - jacobian |
&alpha_lowerBoundaryCondition | - lower boundary condition |
&alpha_upperBoundaryCondition | - upper boundary condition |
&alpha_lowerBoundaryCondition_calculationType | - lower boundary condition type (on value/on derivative) |
&alpha_upperBoundaryCondition_calculationType | - upper boundary condition type (on value/on derivative) |
Definition at line 522 of file PSD.cpp.
References DiffusionCoefficient::arr, GridElement::arr, MakeModelMatrix_3D(), GridElement::size, and tridag().
void PSD::Diffusion_pc | ( | double | dt, |
double | Lpp, | ||
DiffusionCoefficient & | Dpcpc, | ||
DiffusionCoefficient & | DpcpcLpp, | ||
GridElement & | L, | ||
GridElement & | pc, | ||
GridElement & | alpha, | ||
Matrix3D< double > | Jacobian, | ||
Matrix2D< double > | pc_lowerBoundaryCondition, | ||
Matrix2D< double > | pc_upperBoundaryCondition, | ||
string | pc_lowerBoundaryCondition_calculationType, | ||
string | pc_upperBoundaryCondition_calculationType | ||
) |
Energy diffusion calculation function. Takes diffusion coefficients, boundary conditions and grid elements as input. It calculates model matrix by MakeModelMatrix_3D for 3D problem: A_3D * PSD_3D(t+1) = B_3D * PSD_3D(t) + C_3D then splits it for 1D problems: A * PSD_1D(t+1) = B * PSD_1D(t) + C and solve by tridiag method.
dt | - time step |
Lpp | - plasma pause location |
&Dpcpc | - L diffusion coefficient |
&DpcpcLpp | - L diffusion coefficient |
&L | - grid element L |
&pc | - grid elelent pc |
&alpha | - grid element alpha |
&Jacobian | - jacobian |
&pc_lowerBoundaryCondition | - lower boundary condition |
&pc_upperBoundaryCondition | - upper boundary condition |
&pc_lowerBoundaryCondition_calculationType | - lower boundary condition type (on value/on derivative) |
&pc_upperBoundaryCondition_calculationType | - upper boundary condition type (on value/on derivative) |
Definition at line 668 of file PSD.cpp.
References DiffusionCoefficient::arr, GridElement::arr, MakeModelMatrix_3D(), GridElement::size, and tridag().
void PSD::Diffusion_L | ( | double | dt, |
double | Lpp, | ||
DiffusionCoefficient & | DLL, | ||
GridElement & | L, | ||
GridElement & | pc, | ||
GridElement & | alpha, | ||
Matrix3D< double > | Jacobian, | ||
Matrix2D< double > | L_lowerBoundaryCondition, | ||
Matrix2D< double > | L_upperBoundaryCondition, | ||
string | L_lowerBoundaryCondition_calculationType, | ||
string | L_upperBoundaryCondition_calculationType, | ||
double | tau, | ||
double | tauLpp | ||
) |
Radial diffusion calculation function. Takes diffusion coefficients, boundary conditions and grid elements as parameters. It caltulates model matrix by makeMatrix and then solve it by SolveMatrix method.
dt | - time step |
Lpp | - plasma pause location |
&DLL | - L diffusion coefficient |
&L | - grid element L |
&pc | - grid elelent pc |
&alpha | - grid element alpha |
&Jacobian | - jacobian |
&L_lowerBoundaryCondition | - lower boundary condition on L |
&L_upperBoundaryCondition | - upper boundary condition on L |
&L_lowerBoundaryCondition_calculationType | - lower boundary condition on L calculation type |
&L_upperBoundaryCondition_calculationType | - upper boundary condition on L calculation type |
tau | - life time upper location of the plasma pause |
tauLpp | - life time lower location of the plasma pause |
Definition at line 814 of file PSD.cpp.
References DiffusionCoefficient::arr, GridElement::arr, MakeModelMatrix_3D(), GridElement::size, and tridag().
void PSD::Diffusion_pc_alpha | ( | 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 | ||
) |
Radial diffusion calculation function. Takes diffusion coefficients, boundary conditions and grid elements as parameters. It caltulates model matrix by makeMatrix and then solve it by SolveMatrix method.
dt | - time step |
Lpp | - plasma pause location |
&Dpcpc | - diffusion coefficient |
&DpcpcLpp | - diffusion coefficient |
&Daa | - diffusion coefficient |
&DaaLpp | - diffusion coefficient |
&Dpca | - diffusion coefficient |
&DpcaLpp | - diffusion coefficient |
&L | - grid element L |
&pc | - grid elelent pc |
&alpha | - grid element alpha |
&Jacobian | - jacobian |
&pc_lowerBoundaryCondition | - lower boundary condition |
&pc_upperBoundaryCondition | - upper boundary condition |
&alpha_lowerBoundaryCondition | - lower boundary condition |
&alpha_upperBoundaryCondition | - upper boundary condition |
&pc_lowerBoundaryCondition_calculationType | - lower boundary condition calculation type |
&pc_upperBoundaryCondition_calculationType | - upper boundary condition calculation type |
&alpha_lowerBoundaryCondition_calculationType | - lower boundary condition calculation type |
&alpha_upperBoundaryCondition_calculationType | - upper boundary condition calculation type |
Definition at line 970 of file PSD.cpp.
References Matrix2D< T >::AllocateMemory(), DiffusionCoefficient::arr, GridElement::arr, B(), Output::echo(), gauss_solve(), gmres2_wrapout(), gmres_wrapout(), Matrix2D< T >::initialized, Lapack(), MakeModelMatrix_3D(), VF::max(), over_relaxation_diag(), and GridElement::size.
void 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 | ||
) |
Definition at line 1221 of file PSD.cpp.
References Matrix2D< T >::AllocateMemory(), DiffusionCoefficient::arr, GridElement::arr, B(), Output::echo(), gauss_solve(), gmres2_wrapout(), gmres_wrapout(), Matrix2D< T >::initialized, Lapack(), MakeModelMatrix_3D_KC(), VF::max(), over_relaxation_diag(), and GridElement::size.
void PSD::SourcesAndLosses | ( | Parameters_structure | parameters, |
GridElement & | L, | ||
GridElement & | pc, | ||
GridElement & | alpha, | ||
Matrix3D< double > & | SL, | ||
double | dt, | ||
double | Lpp, | ||
double | tau, | ||
double | tauLpp, | ||
double | Kp | ||
) |
Scaling initial PSD if changed upper L-boundary (not 7Re) Sources and losses term from the FP eq.
&L | - L-grid array |
&pc | - pc-grid array |
&alpha | - alpha-grid array |
&SL | - sources/losses 3D matrix |
dt | - time sted |
Lpp | - plasmapause location |
tau | - lifetime outside of the plasmapause |
tauLpp | - lifetime inside of the plasmapause |
Definition at line 299 of file PSD.cpp.
References GridElement::arr, VF::Coulomb(), VF::Kfunc(), VF::Precipitation(), GridElement::size, and Parameters_structure::usetauLpp.
void PSD::Output_without_grid | ( | double | time) |
Parameters_structure::PSD PSD::PSD_parameters |
CalculationMatrix PSD::matr_A |
CalculationMatrix PSD::matr_B |
CalculationMatrix PSD::matr_C |