![]() |
JEMRIS 2.9.2
open-source MRI simulations
|
Base class for MR model solver. More...
#include <Model.h>
Inheritance diagram for Model:
Collaboration diagram for Model:Public Member Functions | |
| Model () | |
| Constructor. | |
| virtual | ~Model () |
| Default Destructor. | |
| void | Prepare (CoilArray *pRxCoilArray, CoilArray *pTxCoilArray, ConcatSequence *pConcatSequence, Sample *pSample) |
| Prepare for simulations. | |
| void | SetSequence (ConcatSequence *pConcatSequence) |
| Set MR sequence. | |
| void | Solve () |
| Solve differential equations. | |
| void | SetDumpProgress (bool val) |
Static Public Member Functions | |
| static void | saveEvolution (long index, bool close_files) |
| Save time evolution to disk. | |
Protected Member Functions | |
| virtual void | InitSolver ()=0 |
| Initialise solver. | |
| virtual void | FreeSolver ()=0 |
| Free solver. | |
| virtual bool | Calculate (double next_tStop)=0 |
| Calculate specific solution. | |
| void | RunSequenceTree (double &dTimeShift, long &lIndexShift, Module *module) |
Protected Attributes | |
| World * | m_world |
| Simulation world | |
| CoilArray * | m_rx_coil_array |
| Receive coil array | |
| CoilArray * | m_tx_coil_array |
| Transmit coil array | |
| ConcatSequence * | m_concat_sequence |
| Top node of the sequence tree for simulation. | |
| Sample * | m_sample |
| Sample | |
| double | m_accuracy_factor |
| increase accuracy by this factor in case of numerical problems | |
| bool | m_do_dump_progress |
| If true, percentage progress during Solve() is written to .jemris_progress.out. | |
Private Member Functions | |
| void | UpdateProcessCounter (const long lSpin) |
| void | DumpRestartInfo (long lSpin) |
Private Attributes | |
| bool | m_aux |
Base class for MR model solver.
|
protectedpure virtual |
Calculate specific solution.
Calculate specific solution in an atomic sequence All setting for the computation are in m_World
| next_tStop | Next time stop |
Implemented in Bloch_CV_Model, and Bloch_McConnell_CV_Model.
Here is the caller graph for this function:
|
private |
dumps restart information(serial jemris.)
Here is the call graph for this function:
Here is the caller graph for this function:
|
protectedpure virtual |
Free solver.
Implemented in Bloch_CV_Model, and Bloch_McConnell_CV_Model.
Here is the caller graph for this function:
|
protectedpure virtual |
Initialise solver.
Implemented in Bloch_CV_Model, and Bloch_McConnell_CV_Model.
Here is the caller graph for this function:| void Model::Prepare | ( | CoilArray * | pRxCoilArray, |
| CoilArray * | pTxCoilArray, | ||
| ConcatSequence * | pConcatSequence, | ||
| Sample * | pSample ) |
|
protected |
Run through the sequence tree and execute Calculate for each atom
| dTimeShift | The time shift with respect to the whole sequence |
| lIndexShift | The ADC number shift with respect to the whole sequence |
| module | The current sequence module to be simulated |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Save time evolution to disk.
Static function to write the time-evolution of the magnetisation for every spin to binary file.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
updates process counter file
Here is the caller graph for this function:
-- last change 03.01.2025 |
Tony Stoecker |
Imprint |
Data Protection --