DiffusionCoefficient Class Reference

Class DiffusionCoefficient holds diffusion coefficient matrix and routines to load and calculate it. More...

#include <DiffusionCoefficient.h>

Inheritance diagram for DiffusionCoefficient:

Inheritance graph
[legend]
Collaboration diagram for DiffusionCoefficient:

Collaboration graph
[legend]

List of all members.

Public Member Functions

double Scale (double Kp)
 Function, that scale diffusion coefficients.
 DiffusionCoefficient (int L_size, int pc_size, int alpha_size)
 Constructor. Also runs parent class constructur Matrix3D<double>(L_size, pc_size, alpha_size) and it's actually all it does.
 DiffusionCoefficient (Grid &grid)
 Constructor.
 DiffusionCoefficient (Grid &grid, DiffusionCoefficientParamStructure DxxParamStructure)
 Constructor.
void AllocateMemory (int L_size, int pc_size, int alpha_size)
 Oh! That function allocate the memory for the class matrix (array, that holds walues of coefficients).
void Get (Grid &grid, DiffusionCoefficientParamStructure DxxParamStructure)
 Function Get will get the class by loading it or calculating, whatever parameters-structure, loaded from the parameters-file tells it to do.
bool LoadDiffusionCoefficient (GridElement &L, GridElement &pc, GridElement &alpha, string D_filename, string filetype="IFT_GRID")
 Loads diffusion coefficients Call other functions depends on filetupe - file type.
bool LoadDiffusionCoefficientFromFileWithGrid (GridElement &L, GridElement &pc, GridElement &alpha, string D_filename, string gridOrder="IFT_GRID_LPA")
 Load Dxx from the file with Grid.
bool LoadDiffusionCoefficientFromPlaneFile (GridElement &L, GridElement &pc, GridElement &alpha, string D_filename)
 Load Dxx from file without grid.
void Calculate (GridElement &L, GridElement &epc, GridElement &alpha, DiffusionCoefficientParamStructure DxxParamStructure)
 function calculare Dxx
DiffusionCoefficientoperator= (const Matrix3D< double > &M)
 Operator Dxx = Matrix.
DiffusionCoefficientoperator= (double val)
 Operator Dxx = Value.
DiffusionCoefficient operator* (double val)
 Operator Dxx*Value.
DiffusionCoefficient operator* (Matrix3D< double > &M)
 Operator Dxx*Matrix (not a matrix multiplication).
DiffusionCoefficient operator+ (Matrix3D< double > &M)
 Operator Dxx + Matrix.
void MakeDLL (double Kp)
 Making DLL.
void MakeDLL (GridElement &L, GridElement &pc, GridElement &alpha, double Kp, string DLLType="DLLT_B")
 Making DLL.
void MakeDLL_B (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL.
void MakeDLL_FAKE (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL.
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.
void MakeDLL100 (GridElement &L, GridElement &pc, GridElement &alpha, double Kp)
 Making DLL.

Public Attributes

DiffusionCoefficientParamStructure Dxx_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 applayable


Detailed Description

Class DiffusionCoefficient holds diffusion coefficient matrix and routines to load and calculate it.

It gets DiffusionCoefficientParamStructure as an input with all waves parameters.

Definition at line 22 of file DiffusionCoefficient.h.


Constructor & Destructor Documentation

DiffusionCoefficient::DiffusionCoefficient ( int  L_size,
int  pc_size,
int  alpha_size 
) [inline]

Constructor. Also runs parent class constructur Matrix3D<double>(L_size, pc_size, alpha_size) and it's actually all it does.

Parameters:
L_size - L size
pc_size - pc size
alpha_size - alpha size

Definition at line 53 of file DiffusionCoefficient.h.

Referenced by DiffusionCoefficientsGroup::Get().

Here is the caller graph for this function:

DiffusionCoefficient::DiffusionCoefficient ( Grid grid  ) 

Constructor.

Constructur.

Parameters:
&grid - grid. Do you want me to name all classes as "..._class" and instances of classes as "..._instance" or capital and small letters are understandable enough?
Store grid inside the class, run constructor of parent class, mask initialization as false cause diffucion coefficient matrix was lon calculated/loaded.
Parameters:
&grid - grid

Definition at line 50 of file DiffusionCoefficient.cpp.

References Matrix3D< double >::change_ind.

DiffusionCoefficient::DiffusionCoefficient ( Grid grid,
DiffusionCoefficientParamStructure  DxxParamStructure 
)

Constructor.

Parameters:
&grid - grid? What to explain?
DxxParamStructure - structure with all diffusion coefficients parameters
Store grid inside the class, allocate memory for any arrays in class and get (calculate or load) diffusion coefficients
Parameters:
&grid - grid
DxxParamStructure - Structure with diffusion coefficients parameters

Definition at line 37 of file DiffusionCoefficient.cpp.

References AllocateMemory(), Grid::alpha, Matrix3D< double >::change_ind, Get(), Grid::L, Grid::pc, and GridElement::size.

Here is the call graph for this function:


Member Function Documentation

void DiffusionCoefficient::AllocateMemory ( int  L_size,
int  pc_size,
int  alpha_size 
)

Oh! That function allocate the memory for the class matrix (array, that holds walues of coefficients).

Function allocate memory for parent matrix class by running allocating memory function of that parent matrix class.

Parameters:
L_size - L size
pc_size - pc size
alpha_size - alpha size
L_size - L size
pc_size - pc size
alpha_size alpha size

Reimplemented from Matrix3D< double >.

Definition at line 62 of file DiffusionCoefficient.cpp.

Referenced by DiffusionCoefficient().

Here is the caller graph for this function:

void DiffusionCoefficient::Calculate ( GridElement L,
GridElement epc,
GridElement Alpha,
DiffusionCoefficientParamStructure  DxxParamStructure 
)

function calculare Dxx

Calculating the diffusion coefficients.

Parameters:
&L - Grid element L
&epc - Grid element epc
&Alpha - Grid element Alpha
DxxParamStructure - Dxx parameters structure

Definition at line 136 of file DiffusionCoefficient.cpp.

References Dxx_ba(), DiffusionCoefficientParamStructure::DxxName, DiffusionCoefficientParamStructure::DxxType, Output::echo(), int_Daa_loc(), int_Dpa_loc(), int_Dpp_loc(), min_Dxx, GridElement::size, and DiffusionCoefficientParamStructure::waveName.

Referenced by Get().

Here is the call graph for this function:

Here is the caller graph for this function:

void DiffusionCoefficient::Get ( Grid grid,
DiffusionCoefficientParamStructure  DxxParamStructure 
)

Function Get will get the class by loading it or calculating, whatever parameters-structure, loaded from the parameters-file tells it to do.

Function Get - retutn 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.

Parameters:
&grid - a grid
DxxParamStructure - structure with diffusion coefficients parameters
Todo:
Remove grid from the class DiffusionCoefficients and remove functions, these assume it there
Parameters:
DxxParamStructure - diffusion coefficients param structure

Definition at line 76 of file DiffusionCoefficient.cpp.

References error_msg::add(), Grid::alpha, Calculate(), Dxx_parameters, DiffusionCoefficientParamStructure::DxxName, DiffusionCoefficientParamStructure::DxxType, Output::echo(), Grid::epc, err, DiffusionCoefficientParamStructure::filename, DiffusionCoefficientParamStructure::filetype, is_active, Grid::L, LoadDiffusionCoefficient(), DiffusionCoefficientParamStructure::loadOrCalculate, DiffusionCoefficientParamStructure::MLT_averaging, DiffusionCoefficientParamStructure::multiplicator, Matrix3D< double >::name, Grid::pc, type, DiffusionCoefficientParamStructure::useScale, useScale, DiffusionCoefficientParamStructure::waveName, error_msg::what(), and Matrix3D< double >::writeToFile().

Referenced by DiffusionCoefficient().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Loads diffusion coefficients Call other functions depends on filetupe - file type.

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

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)

Definition at line 182 of file DiffusionCoefficient.cpp.

References Output::echo(), LoadDiffusionCoefficientFromFileWithGrid(), and LoadDiffusionCoefficientFromPlaneFile().

Referenced by Get().

Here is the call graph for this function:

Here is the caller graph for this function:

bool DiffusionCoefficient::LoadDiffusionCoefficientFromFileWithGrid ( GridElement L,
GridElement pc,
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 237 of file DiffusionCoefficient.cpp.

References Output::echo(), err, and GridElement::size.

Referenced by LoadDiffusionCoefficient().

Here is the call graph for this function:

Here is the caller graph for this function:

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 207 of file DiffusionCoefficient.cpp.

References GridElement::size.

Referenced by LoadDiffusionCoefficient().

Here is the caller graph for this function:

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

Making DLL.

Definition at line 301 of file DiffusionCoefficient.cpp.

References MakeDLL_B(), MakeDLL_BE(), and MakeDLL_FAKE().

Here is the call graph for this function:

void DiffusionCoefficient::MakeDLL ( double  Kp  ) 

Making DLL.

Referenced by main().

Here is the caller graph for this function:

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

Making DLL.

Other version of DLL making procedure.

Definition at line 374 of file DiffusionCoefficient.cpp.

References VF::Df(), Matrix3D< double >::max(), and GridElement::size.

Here is the call graph for this function:

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

Making DLL.

Definition at line 317 of file DiffusionCoefficient.cpp.

References VF::Df(), and GridElement::size.

Referenced by MakeDLL().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Making DLL.

Other version of DLL making procedure.

Definition at line 343 of file DiffusionCoefficient.cpp.

References VF::B(), VF::Df(), VF::pc2mu(), and GridElement::size.

Referenced by MakeDLL().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Making DLL.

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

Making DLL.

Definition at line 330 of file DiffusionCoefficient.cpp.

References VF::Df(), and GridElement::size.

Referenced by MakeDLL().

Here is the call graph for this function:

Here is the caller graph for this function:

DiffusionCoefficient DiffusionCoefficient::operator* ( Matrix3D< double > &  M  ) 

Operator Dxx*Matrix (not a matrix multiplication).

Operator Dxx * Matrix (not a matrix operation).

Reimplemented from Matrix3D< double >.

Definition at line 419 of file DiffusionCoefficient.cpp.

References Matrix3D< T >::Matrix3D().

Here is the call graph for this function:

DiffusionCoefficient DiffusionCoefficient::operator* ( double  val  ) 

Operator Dxx*Value.

Operator Dxx * value.

Reimplemented from Matrix3D< double >.

Definition at line 403 of file DiffusionCoefficient.cpp.

References Matrix3D< T >::Matrix3D().

Here is the call graph for this function:

DiffusionCoefficient DiffusionCoefficient::operator+ ( Matrix3D< double > &  M  ) 

Operator Dxx + Matrix.

Reimplemented from Matrix3D< double >.

Definition at line 411 of file DiffusionCoefficient.cpp.

References Matrix3D< T >::Matrix3D().

Here is the call graph for this function:

DiffusionCoefficient & DiffusionCoefficient::operator= ( double  val  ) 

Operator Dxx = Value.

Reimplemented from Matrix3D< double >.

Reimplemented in DiffusionCoefficientsGroup.

Definition at line 396 of file DiffusionCoefficient.cpp.

References operator=().

Here is the call graph for this function:

DiffusionCoefficient & DiffusionCoefficient::operator= ( const Matrix3D< double > &  M  ) 

Operator Dxx = Matrix.

Reimplemented from Matrix3D< double >.

Reimplemented in DiffusionCoefficientsGroup.

Definition at line 389 of file DiffusionCoefficient.cpp.

Referenced by operator=().

Here is the caller graph for this function:

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 558 of file DiffusionCoefficient.cpp.

References Dxx_parameters, DiffusionCoefficientParamStructure::DxxKp, useScale, and DiffusionCoefficientParamStructure::waveType.


Member Data Documentation

Definition at line 27 of file DiffusionCoefficient.h.

Referenced by DiffusionCoefficientsGroup::ActivateAndScale(), Get(), and Scale().

flag, if is enabled right now

Definition at line 35 of file DiffusionCoefficient.h.

Referenced by DiffusionCoefficientsGroup::ActivateAndScale(), and Get().

Type of the diffusion coefficient: Daa, Dpp, Dpa etc... Described in types.h file as an enumeration.

Definition at line 32 of file DiffusionCoefficient.h.

Referenced by DiffusionCoefficientsGroup::Get(), and Get().

flag, if scale is applayable

Definition at line 38 of file DiffusionCoefficient.h.

Referenced by DiffusionCoefficientsGroup::ActivateAndScale(), Get(), and Scale().


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

Generated on Thu May 27 11:53:19 2010 for VERB_CODE_2.0 by  doxygen 1.5.9