|
MURE
|
Base class of Bateman-type solvers like Runge-Kutta or CRAM or any other. More...
#include <CRAMSolver.hxx>
Public Member Functions | |
| CRAMSolver (string type="IPF", int order=48, bool aut=true) | |
| Normal constructor. | |
Public methods | |
| void | Solve (double *N0, double **Matrix, int N, double t1, double t2) override |
| Abstract method to Solve Bateman equation : must be overriden. | |
| void | SetTheMatrix (double **f) |
| void | printCoeffs (int order=0) |
| void | SetNSubsteps (int n) |
| void | SetOrder (int n) |
Public Member Functions inherited from BatemanSolver | |
| BatemanSolver () | |
| Normal constructor. | |
| BatemanSolver (const BatemanSolver &BS) | |
| Copy constructor. | |
| virtual | ~BatemanSolver () |
| Destructor. | |
| int | GetNumberOfEquationSize () |
| void | SetNumberOfEquations (int N) |
| void | SetPrecision (double eps=1e-5) |
| void | SetForbidNegativeValue () |
| Forbid negative value during integration. | |
| void | SetXe135EquilibriumIndex (int Te135, int I135, int Xe135) |
| Set index (position) in EvolvingSystem::fEvolvingAtoms vector for Te-135, I-135 and Xe-135. | |
Private methods | |
| t_SpMat_SolverVector | CRAMSpMatSolver |
| t_CRAMCoeff | CRAMCoefficients |
| string | CRAMType |
| string | SparseSolver |
| int | CRAMOrder |
| double ** | fTheMatrix |
| The evolution Matrix. | |
| double | CRAMDeltaT |
| double | CRAMDeltaTsubstep |
| int | nSubsteps |
| Timer | HPTimer |
| const double | cutoff = 1e-20 |
| const double | significantDigits = 10 |
| const int | maxorder = 48 |
| bool | automatic = false |
| bool | fBuildEqns |
| static const vector< int > | fCramOrder |
| static const vector< t_CRAMCoeff > | CRAMCoeff |
| void | BuildEqns (double *N0, double **Matrix) |
| Setup Eigen3 solver, compute inverse matrices. | |
| t_CRAMCoeff | GetCRAMCoefficients (int order=0) |
| t_SpMat_SolverVector | GetSparseLUSolvers () |
| int | GetNumberSubsteps (double &N0_i, double &A_ii, double dT, int order, double sigDigits) |
| double | GetSignificantDigits (double &N0_i, double &A_ii, double dT, int order, int niter) |
| int | GetNeededCRAMOrder (double &N0_i, double &A_ii, double dT, double sigDigits) |
| void | SetOptimalStrategy (double *N0, double **fMatrix) |
| int | GetNearestCRAMOrder (int order) |
| double | GetLG10 (double &n0, double &A_ii, double dT, int nT) |
| void | CleanUp () |
Additional Inherited Members | |
Protected Attributes inherited from BatemanSolver | |
| int | fNVar |
| The size of the composition vector and /or number of ZAIs involved. | |
| double | fPrecision |
| Precision of the solution. | |
| double | fTmin |
| The lowest value of the decay constant considered. | |
| bool | fIsNegativeValueAllowed |
| int | fIdxTe135 |
| index of Te-135 in the fEvolvingAtoms array | |
| int | fIdxI135 |
| index of I-135 in the fEvolvingAtoms array | |
| int | fIdxXe135 |
| index of Xe-135 in the fEvolvingAtoms array | |
Base class of Bateman-type solvers like Runge-Kutta or CRAM or any other.
This class only holds common variables and defines template functions for inheriting classes
| CRAMSolver::CRAMSolver | ( | string | type = "IPF", |
| int | order = 48, |
||
| bool | aut = true |
||
| ) |
Normal constructor.
|
private |
Setup Eigen3 solver, compute inverse matrices.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| void CRAMSolver::printCoeffs | ( | int | order = 0 | ) |
|
inline |
|
private |
|
inline |
|
inline |
|
overridevirtual |
Abstract method to Solve Bateman equation : must be overriden.
For a given vector
![\[\vec{N_0}\]](form_1.png)
of initial composition and a given matrix NxN, integrate Bateman equation from t1 to t2.
| N0 | : initial composition vector |
| Matrix | : matrix of Bateman eqs |
| N | : initial composition vector |
| t1 | : initial time |
| t2 | : final time |
Implements BatemanSolver.
|
private |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
private |
The evolution Matrix.
|
private |
|
private |
|
private |
|
private |
|
private |