VERB_code_2.3
DiffusionCoefficient Class Reference

Holds diffusion coefficient matrix and routines to load and calculate it. More...

#include <DiffusionCoefficient.h>

Public Member Functions

double Scale (double Kp)
 Function, that scale diffusion coefficients. More...
 
void Create_Dxx (DxxParameters_structure DxxParameters, Grid &grid)
 Create diffusion coefficients. More...
 
bool LoadDiffusionCoefficient (GridElement &L, GridElement &pc, GridElement &alpha, string D_filename, string filetype="IFT_GRID")
 
bool LoadDiffusionCoefficientFromFileWithGrid (GridElement &L, GridElement &pc, GridElement &alpha, string D_filename, string gridOrder="IFT_GRID_LPA")
 Load Dxx from the file with Grid. More...
 
bool LoadDiffusionCoefficientFromPlaneFile (GridElement &L, GridElement &pc, GridElement &alpha, string D_filename)
 Load Dxx from file without grid. More...
 
void Calculate (GridElement &L, GridElement &epc, GridElement &alpha, DxxParameters_structure DxxParameters)
 function calculate Dxx More...
 
void MakeDLL (double Kp)
 Making DLL.
 
void MakeDLL (GridElement &L, GridElement &pc, GridElement &alpha, double Kp, string DLLType="DLLT_B")
 Making DLL. More...
 
void MakeDLL_B (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL. More...
 
void MakeDLL_FAKE (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL. More...
 
void MakeDLL_BE_res (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL.
 
void MakeDLL_BE (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL. More...
 
void MakeDLL100 (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL. More...
 
void MakeDLL_Ozeke (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL_M. More...
 
void MakeDLL_Ozeke_ME (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL_ME. More...
 

Public Attributes

Matrix3D< double > arr
 array of diffusion coefficients
 
bool Dxx_initialized
 flag, indicated that the initialization was passed
 
DxxParameters_structure DxxParameters
 Derivative parameters.
 
string type
 Type of the diffusion coefficient: Daa, Dpp, Dpa etc... Described in types.h file as an enumeration.
 
bool is_active
 flag, if is enabled right now
 
bool useScale
 flag, if scale is applyable
 

Detailed Description

Holds diffusion coefficient matrix and routines to load and calculate it.

It gets DiffusionCoefficientParameters_structure as an input with all waves parameters.

Definition at line 23 of file DiffusionCoefficient.h.

Member Function Documentation

void DiffusionCoefficient::Calculate ( GridElement L,
GridElement epc,
GridElement Alpha,
DxxParameters_structure  DxxParameters 
)

function calculate Dxx

Calculating the diffusion coefficients

Parameters
&L- Grid element L
&epc- Grid element epc
&Alpha- Grid element Alpha
DxxParameters- Dxx parameters structure

Definition at line 119 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::Create_Dxx ( DxxParameters_structure  DxxParameters,
Grid grid 
)

Create diffusion coefficients.

Function Get - return diffusion coefficient by loading or calculating it Two way of call function: With or without grid parameter If it called without grid parameter, it takes grid stored in the class

Todo:
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

Definition at line 42 of file DiffusionCoefficient.cpp.

bool DiffusionCoefficient::LoadDiffusionCoefficient ( GridElement L,
GridElement pc,
GridElement alpha,
string  D_filename,
string  filetype = "IFT_GRID" 
)

Loads diffusion coefficients Call other functions depends on filetype - file type

Parameters
&L- Grid element - L
&pc- Grid element - pc
&alpha- One more grid element - alpha
D_filename- filename to load diffusion coefficient from
filetype= IFT_GRID grid type inside the file (yes, it can be different)

Loading coefficient from file runs loading function according file format (filetype)

Definition at line 165 of file DiffusionCoefficient.cpp.

bool DiffusionCoefficient::LoadDiffusionCoefficientFromFileWithGrid ( GridElement L,
GridElement epc,
GridElement alpha,
string  D_filename,
string  gridOrder = "IFT_GRID_LPA" 
)

Load Dxx from the file with Grid.

Loading coef from file with grid

Definition at line 220 of file DiffusionCoefficient.cpp.

bool DiffusionCoefficient::LoadDiffusionCoefficientFromPlaneFile ( GridElement L,
GridElement pc,
GridElement alpha,
string  D_filename 
)

Load Dxx from file without grid.

Loading coefficient from plane file

Definition at line 190 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::MakeDLL ( GridElement L,
GridElement pc,
GridElement alpha,
double  Kp,
string  DLLType = "DLLT_B" 
)

Making DLL.

Making DLL take DLLType as input, do proper DLL creation method

Definition at line 285 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::MakeDLL100 ( GridElement L,
GridElement pc,
GridElement alpha,
double  Kp 
)

Making DLL.

Other version of DLL making procedure initializes arr to local diffusion coefficients using Df(), values no lower than 0.01

Definition at line 363 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::MakeDLL_B ( GridElement L,
GridElement pc,
GridElement alpha,
double  Kp 
)

Making DLL.

initialize arr to local diffusion coefficients with Df()

Definition at line 311 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::MakeDLL_BE ( GridElement L,
GridElement pc,
GridElement alpha,
double  Kp 
)

Making DLL.

Other version of DLL making procedure adds electrostatic and magnetostatic radial diffusion coefficients to arr

Definition at line 340 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::MakeDLL_FAKE ( GridElement L,
GridElement pc,
GridElement alpha,
double  Kp 
)

Making DLL.

initialize arr to local diffusion coefficients with Df() + \((3000 * 10^{0.506*Kp - 9.325} * L^5)\)

Definition at line 326 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::MakeDLL_Ozeke ( GridElement L,
GridElement pc,
GridElement alpha,
double  Kp 
)

Making DLL_M.

Making DLL Ozeke WARNING! This code uses prepublication values! WARNING! Previous version of DLL: Ozeke, L. G., I. R. Mann, K. R. Murphy, I. J. Rae, D. K. Milling, S. R. Elkington, A. A. A. Chan, and H. J. Singer (2012), ULF Wave Derived Radiation Belt Radial Diffusion Coefficients, J. Geophys. Res., doi:10.1029/2011JA017463, in press. (accepted 23 February 2012) Magnetic component

Definition at line 384 of file DiffusionCoefficient.cpp.

void DiffusionCoefficient::MakeDLL_Ozeke_ME ( GridElement L,
GridElement pc,
GridElement alpha,
double  Kp 
)

Making DLL_ME.

Making DLL Ozeke WARNING! This code uses prepublication values! WARNING! Previous version of DLL: Ozeke, L. G., I. R. Mann, K. R. Murphy, I. J. Rae, D. K. Milling, S. R. Elkington, A. A. A. Chan, and H. J. Singer (2012), ULF Wave Derived Radiation Belt Radial Diffusion Coefficients, J. Geophys. Res., doi:10.1029/2011JA017463, in press. (accepted 23 February 2012) Magnetic and Electric component

Definition at line 403 of file DiffusionCoefficient.cpp.

double DiffusionCoefficient::Scale ( double  Kp)

Function, that scale diffusion coefficients.

Scaling procedure

Todo:
Upgrade scaling diffusion coefficients procedure with scaling according to external array

Definition at line 484 of file DiffusionCoefficient.cpp.


The documentation for this class was generated from the following files: