#include <Solver.h>

Interface satisfied ORIGEN single step depletion/decay solver. More...
INTERFACE<<Origen::Solver>> | |
See Origen::Solver for details. | |
void | set_continuous_loss (Vec_Dbl *lambda) |
void | set_transition_matrix (TransitionMatrixP *trx) |
void | set_source (Vec_Dbl *src) |
void | get_defaults (ScaleUtils::IO::DB &dc, bool force=false) |
bool | check_opts (ScaleUtils::IO::DB &dc, bool allow_missing=true) |
void | set_opts (const ScaleUtils::IO::DB &opts) |
bool | solve (const Vec_Dbl &in, double flux, double dt, Vec_Dbl *out) |
const ScaleUtils::IO::DB & | status () const |
void | clear () |
Public Member Functions | |
virtual | ~Solver () |
Private Member Functions | |
virtual void | set_continuous_loss_impl (Vec_Dbl *lambda)=0 |
virtual void | set_transition_matrix_impl (TransitionMatrixP *trx)=0 |
virtual void | set_source_impl (Vec_Dbl *src)=0 |
virtual void | get_defaults_impl (ScaleUtils::IO::DB &dc, bool force)=0 |
virtual bool | check_opts_impl (ScaleUtils::IO::DB &dc, bool allow_missing)=0 |
virtual void | set_opts_impl (const ScaleUtils::IO::DB &opts)=0 |
virtual bool | solve_impl (const Vec_Dbl &in, double flux, double dt, Vec_Dbl *out)=0 |
virtual const ScaleUtils::IO::DB & | status_impl () const =0 |
virtual void | clear_impl ()=0 |
Detailed Description
Interface satisfied ORIGEN single step depletion/decay solver.
The equation solved is dn/dt = An + s with initial condition n0.
- See also
- MultiZoneDepleter
Constructor & Destructor Documentation
|
inlinevirtual |
Member Function Documentation
void set_continuous_loss | ( | Vec_Dbl * | lambda | ) |
Set continuous removal rates. The rates are defined by decays constants that decay the nuclide out of existence.
- Parameters
-
[in] lambda The removal rates >= 0 [1/s] for each nuclide.
- Examples:
- tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::set_continuous_loss_impl().
Referenced by Solver_Fake::clear_impl(), Solver_cram::clear_impl(), Solver_matrex::clear_impl(), and TEST().
void set_transition_matrix | ( | TransitionMatrixP * | trx | ) |
Set an Origen TransitionMatrix (library data).
- Parameters
-
[in] trx Origen::TransitionMatrix containing the library data.
- Examples:
- exNEAMS.cpp, tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::set_transition_matrix_impl().
Referenced by Solver_Fake::clear_impl(), Solver_cram::clear_impl(), Solver_matrex::clear_impl(), and TEST().
void set_source | ( | Vec_Dbl * | src | ) |
Set constant source term.
- Parameters
-
[in] src The source terms for each nuclide [(units of n0 in Solver::solve()) per second].
- Examples:
- tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::set_source_impl().
Referenced by Solver_Fake::clear_impl(), Solver_cram::clear_impl(), Solver_matrex::clear_impl(), and TEST().
void get_defaults | ( | ScaleUtils::IO::DB & | dc, |
bool | force = false |
||
) |
Get default solver opts.
- Note
- The options are solver specific. See the appropriate solver subclass for list of opts.
- Parameters
-
[out] dc A SCALE DataContainer where to write the opts. [in] force If true, any values already in dc will be overwritten. If false, only parameters without any value in dc are set. Optional (default = false).
- Examples:
- tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::get_defaults_impl().
Referenced by Solver_cram::clear_impl(), Solver_matrex::clear_impl(), Solver_cram::Solver_cram(), Solver_matrex::Solver_matrex(), and TEST().
bool check_opts | ( | ScaleUtils::IO::DB & | opts, |
bool | allow_missing = true |
||
) |
Check that a set of solver options is valid. This does not quarantee that the results will be accurate, only that the solver can be run with the opts.
- Note
- The options are solver specific. See the appropriate solver subclass for list of opts.
- Parameters
-
[in,out] opts In: the solver opts. out: any error messages about the opts. [in] allow_missing Whether opts is allowed to miss options without prompting an error. Optional (default = true).
- Returns
- true if the check is passed, false if the check fails.
- Note
- Any errors will be written to opts.
- Examples:
- tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::check_opts_impl().
Referenced by Solver_cram::set_opts_impl(), Solver_matrex::set_opts_impl(), Solver_cram::solve_impl(), Solver_matrex::solve_impl(), and TEST().
void set_opts | ( | const ScaleUtils::IO::DB & | dc | ) |
Set solver opts. Dies if you try to set incorrect values, so use Solver::check_opts() first if you want to be sure. Any options that are not specified in opts will be left to their earlier values (all are set to defaults by the constructor and by Solver::clear().
- Note
- The options are solver specific. See the appropriate solver subclass for list of opts.
- Parameters
-
[in] dc The new solver opts. Any option not specified will be left untouched.
- Examples:
- tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::set_opts_impl().
Referenced by TEST().
Perform a single depletion calculation. TransitionMatrix must be set.
- Note
- Concentration units. "in" can have any units directly proportional to the number of atoms. The solver does not care about scaling. "out" will be in the same units. Make sure that the source term is in the correct units. Valid units include [1], [1/cm3], [1/bcm], [mol], etc.
- Parameters
-
[in] in Initial concentrations or abundances [see the note]. [in] flux Neutron flux density [1/cm2s]. [in] dt Step length [s]. [out] out Final concentrations or abundances [same units as "in"].
- Returns
- true on success or false on failure.
- Examples:
- exNEAMS.cpp, tstSolver.cpp, tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::solve_impl().
Referenced by TEST().
const ScaleUtils::IO::DB & status | ( | ) | const |
Return current solver options and possible error messages from Solver::solve(). Note, however, that the solver kernels do not actually send any error messages as of yet and instead terminate the process.
- Note
- The options are solver specific. See the appropriate solver subclass for list of opts.
- Returns
- the options and error messages.
- Examples:
- tstSolver_cram.cpp, and tstSolver_matrex.cpp.
References Solver::status_impl().
Referenced by TEST().
void clear | ( | ) |
Clear all data returning the solver option to the state it had right after constructor. All solver options get default values.
- Note
- This never needs to be called for memory management or other similar reasons.
- Examples:
- exNEAMS.cpp.
References Solver::clear_impl().
Referenced by TEST().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::set_continuous_loss().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::set_transition_matrix().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::set_source().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::get_defaults().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::check_opts().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::set_opts().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::solve().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::status().
|
privatepure virtual |
Implemented in Solver_matrex, Solver_cram, and Solver_Fake.
Referenced by Solver::clear().
The documentation for this class was generated from the following files:
- Core/xf/Solver.h
- Core/xf/Solver.cpp