TCREvolutorBasis Class Reference

Abstract class for the solution of the transport equation. More...

#include <crevolutor.h>

Inheritance diagram for TCREvolutorBasis:
TCREvolutor TCREvolutorADI

List of all members.

Public Member Functions

virtual void Run (vector< double > &, const vector< double > &, const vector< double > &, const vector< double > &, const vector< double > &, double, double, double, int, bool SecEl=false)=0
virtual ~TCREvolutorBasis ()

Protected Member Functions

int index (int ir, int iz, int ip)
 Convert from matrix to linearized indexes.

Protected Attributes

int dimr
int dimz
int dimE
TGridcoord
Galaxygal

Detailed Description

Abstract class for the solution of the transport equation.

Author:
Luca Maccione luca.maccione@desy.de This class defines all the methods needed to solve the transport equation, and that a concrete implementation of a solution algorithm should implement. This structure allows to use several algorithm in cascade. For example, one can use the fast Cranck-Nicholson method a la Galprop implemented in TCREvolutor to quickly obtain a rough approximation to the solution, followed by a more reliable, but slower, ADI version of this method, implemented in TCREvolutorADI. In such a way one is able to obtain reliable solutions in a reasonable amount of time.

Definition at line 36 of file crevolutor.h.


Constructor & Destructor Documentation

virtual TCREvolutorBasis::~TCREvolutorBasis (  )  [inline, virtual]

Destructor.

Definition at line 43 of file crevolutor.h.


Member Function Documentation

int TCREvolutorBasis::index ( int  ir,
int  iz,
int  ip 
) [inline, protected]

Convert from matrix to linearized indexes.

Parameters:
ir Radial position
iz Vertical position
ip Energy position
Returns:
(ir*dimz+iz)*dimE+ip

Definition at line 52 of file crevolutor.h.

References dimE, and dimz.

Referenced by TCREvolutorADI::FindTLoss(), TCREvolutorADI::Run(), and TCREvolutor::Run().

00052 { return (ir*dimz+iz)*dimE+ip; }

virtual void TCREvolutorBasis::Run ( vector< double > &  ,
const vector< double > &  ,
const vector< double > &  ,
const vector< double > &  ,
const vector< double > &  ,
double  ,
double  ,
double  ,
int  ,
bool  SecEl = false 
) [pure virtual]

< Sets the initial condition. Actually solve the transport equation and return the propagated density.

Implemented in TCREvolutor, and TCREvolutorADI.


Member Data Documentation

Pointer to kinematics and geometry.

Definition at line 50 of file crevolutor.h.

Referenced by TCREvolutorADI::Run(), TCREvolutor::Run(), TCREvolutor::TCREvolutor(), and TCREvolutorADI::TCREvolutorADI().

int TCREvolutorBasis::dimE [protected]
int TCREvolutorBasis::dimr [protected]

Radial dimension of spatial grid.

Definition at line 47 of file crevolutor.h.

Referenced by TCREvolutorADI::FindTLoss(), TCREvolutorADI::Run(), TCREvolutor::Run(), TCREvolutor::TCREvolutor(), and TCREvolutorADI::TCREvolutorADI().

int TCREvolutorBasis::dimz [protected]

Vertical dimension of spatial grid.

Definition at line 48 of file crevolutor.h.

Referenced by TCREvolutorADI::FindTLoss(), index(), TCREvolutorADI::Run(), TCREvolutor::Run(), TCREvolutor::TCREvolutor(), and TCREvolutorADI::TCREvolutorADI().

Pointer to galaxy structure.

Definition at line 51 of file crevolutor.h.

Referenced by TCREvolutorADI::Run(), TCREvolutor::Run(), TCREvolutor::TCREvolutor(), and TCREvolutorADI::TCREvolutorADI().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator
Generated on Mon Sep 27 12:59:57 2010 for DRAGON by  doxygen 1.6.3