JEMRIS  2.8.1
open-source MRI simulations
List of all members | Public Member Functions | Protected Member Functions | Private Attributes
Bloch_McConnell_CV_Model Class Reference

Numerical solving of Bloch equations As an application of the CVODE solver by Lawrence Livermore National Laboratory - Livermore, CA http://www.llnl.gov/CASC/sundials. More...

#include <Bloch_McConnell_CV_Model.h>

+ Inheritance diagram for Bloch_McConnell_CV_Model:
+ Collaboration diagram for Bloch_McConnell_CV_Model:

Public Member Functions

virtual ~Bloch_McConnell_CV_Model ()
 Default destructor.
 
 Bloch_McConnell_CV_Model ()
 Constructor.
 
- Public Member Functions inherited from Model
 Model ()
 Constructor.
 
virtual ~Model ()
 Default Destructor.
 
void Prepare (CoilArray *pRxCoilArray, CoilArray *pTxCoilArray, ConcatSequence *pConcatSequence, Sample *pSample)
 Prepare for simulations. More...
 
void SetSequence (ConcatSequence *pConcatSequence)
 Set MR sequence.
 
void Solve ()
 Solve differential equations.
 
void SetDumpProgress (bool val)
 

Protected Member Functions

virtual void InitSolver ()
 Initialize solver. More...
 
virtual void FreeSolver ()
 Free solver. More...
 
void Solve (double &dTimeShift, long &lIndexShift, AtomicSequence *atom, long &lSpin, ofstream *pfout, int iStep)
 Solve. More...
 
void PrintFinalStats ()
 Summery output. More...
 
virtual bool Calculate (double next_tStop)
 
- Protected Member Functions inherited from Model
void RunSequenceTree (double &dTimeShift, long &lIndexShift, Module *module)
 

Private Attributes

void * m_cvode_mem
 
double m_tpoint
 
double m_reltol
 
int m_nprops
 
int m_ncomp
 
BMAux m_bmaux
 

Additional Inherited Members

- Static Public Member Functions inherited from Model
static void saveEvolution (long index, bool close_files)
 Save time evolution to disk. More...
 
- Protected Attributes inherited from Model
Worldm_world
 Simulation world.
 
CoilArraym_rx_coil_array
 Receive coil array.
 
CoilArraym_tx_coil_array
 Transmit coil array.
 
ConcatSequencem_concat_sequence
 Top node of the sequence tree for simulation.
 
Samplem_sample
 Sample.
 
double m_accuracy_factor
 increase accuracy by thid factor in case of numerical problems
 
bool m_do_dump_progress
 If true, percentage progress during Solve() is written to .jemris_progress.out.
 

Detailed Description

Numerical solving of Bloch equations As an application of the CVODE solver by Lawrence Livermore National Laboratory - Livermore, CA http://www.llnl.gov/CASC/sundials.

MR model solver using CVODE

Member Function Documentation

bool Bloch_McConnell_CV_Model::Calculate ( double  next_tStop)
protectedvirtual

see Model::Calculate()

Implements Model.

+ Here is the call graph for this function:

void Bloch_McConnell_CV_Model::FreeSolver ( )
protectedvirtual

Free solver.

Release the N_Vector

Implements Model.

void Bloch_McConnell_CV_Model::InitSolver ( )
protectedvirtual

Initialize solver.

Initialize N_Vector and attach it to my world

Implements Model.

+ Here is the call graph for this function:

void Bloch_McConnell_CV_Model::PrintFinalStats ( )
protected

Summery output.

More elaborate description here please

void Bloch_McConnell_CV_Model::Solve ( double &  dTimeShift,
long &  lIndexShift,
AtomicSequence atom,
long &  lSpin,
ofstream *  pfout,
int  iStep 
)
protected

Solve.

Numerical integration of the Bloch equations for a given atomic sequence

Parameters
dTimeShiftStarting time of this atom with respekt to the start of the whole sequence
lIndexShiftMore elaborate description here please
atomThe simulated atomic sequence
lSpinThe index number od the spin which is being simulated
pfoutThe file output stream used for intermediate result output
iStepMore elaborate description here please

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

-- last change 17.06.2016 | Tony Stoecker | Imprint --