GridFire v0.7.1_rc2
General Purpose Nuclear Network
Loading...
Searching...
No Matches
gridfire::engine::MultiscalePartitioningEngineView::QSESolver Class Reference
Collaboration diagram for gridfire::engine::MultiscalePartitioningEngineView::QSESolver:
[legend]

Classes

struct  UserData
 

Public Member Functions

 QSESolver (const std::vector< fourdst::atomic::Species > &species, const DynamicEngine &engine, SUNContext sun_ctx)
 
 QSESolver (const QSESolver &other)=delete
 
QSESolveroperator= (const QSESolver &other)=delete
 
 ~QSESolver ()
 
fourdst::composition::Composition solve (const fourdst::composition::Composition &comp, double T9, double rho) const
 
size_t solves () const
 
void log_diagnostics (const QSEGroup &group, const fourdst::composition::Composition &comp) const
 

Static Private Member Functions

static int sys_func (N_Vector y, N_Vector f, void *user_data)
 
static int sys_jac (N_Vector y, N_Vector fy, SUNMatrix J, void *user_data, N_Vector tmp1, N_Vector tmp2)
 
static quill::Logger * getLogger ()
 

Private Attributes

size_t m_solves = 0
 
bool m_has_jacobian = false
 
size_t m_N
 
const DynamicEnginem_engine
 
std::vector< fourdst::atomic::Species > m_species
 
std::unordered_map< fourdst::atomic::Species, size_t > m_speciesMap
 
SUNContext m_sun_ctx = nullptr
 
void * m_kinsol_mem = nullptr
 
N_Vector m_Y = nullptr
 
N_Vector m_scale = nullptr
 
N_Vector m_f_scale = nullptr
 
N_Vector m_constraints = nullptr
 
N_Vector m_func_tmpl = nullptr
 
SUNMatrix m_J = nullptr
 
SUNLinearSolver m_LS = nullptr
 

Constructor & Destructor Documentation

◆ QSESolver() [1/2]

gridfire::engine::MultiscalePartitioningEngineView::QSESolver::QSESolver ( const std::vector< fourdst::atomic::Species > &  species,
const DynamicEngine engine,
SUNContext  sun_ctx 
)

◆ QSESolver() [2/2]

gridfire::engine::MultiscalePartitioningEngineView::QSESolver::QSESolver ( const QSESolver other)
delete

◆ ~QSESolver()

gridfire::engine::MultiscalePartitioningEngineView::QSESolver::~QSESolver ( )

Member Function Documentation

◆ getLogger()

static quill::Logger * gridfire::engine::MultiscalePartitioningEngineView::QSESolver::getLogger ( )
inlinestaticprivate

◆ log_diagnostics()

void gridfire::engine::MultiscalePartitioningEngineView::QSESolver::log_diagnostics ( const QSEGroup group,
const fourdst::composition::Composition &  comp 
) const

◆ operator=()

QSESolver & gridfire::engine::MultiscalePartitioningEngineView::QSESolver::operator= ( const QSESolver other)
delete

◆ solve()

fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::QSESolver::solve ( const fourdst::composition::Composition &  comp,
double  T9,
double  rho 
) const

◆ solves()

size_t gridfire::engine::MultiscalePartitioningEngineView::QSESolver::solves ( ) const

◆ sys_func()

int gridfire::engine::MultiscalePartitioningEngineView::QSESolver::sys_func ( N_Vector  y,
N_Vector  f,
void *  user_data 
)
staticprivate

◆ sys_jac()

int gridfire::engine::MultiscalePartitioningEngineView::QSESolver::sys_jac ( N_Vector  y,
N_Vector  fy,
SUNMatrix  J,
void *  user_data,
N_Vector  tmp1,
N_Vector  tmp2 
)
staticprivate

Member Data Documentation

◆ m_constraints

N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_constraints = nullptr
private

◆ m_engine

const DynamicEngine& gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_engine
private

◆ m_f_scale

N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_f_scale = nullptr
private

◆ m_func_tmpl

N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_func_tmpl = nullptr
private

◆ m_has_jacobian

bool gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_has_jacobian = false
mutableprivate

◆ m_J

SUNMatrix gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_J = nullptr
private

◆ m_kinsol_mem

void* gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_kinsol_mem = nullptr
private

◆ m_LS

SUNLinearSolver gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_LS = nullptr
private

◆ m_N

size_t gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_N
private

◆ m_scale

N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_scale = nullptr
private

◆ m_solves

size_t gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_solves = 0
mutableprivate

◆ m_species

std::vector<fourdst::atomic::Species> gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_species
private

◆ m_speciesMap

std::unordered_map<fourdst::atomic::Species, size_t> gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_speciesMap
private

◆ m_sun_ctx

SUNContext gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_sun_ctx = nullptr
private

◆ m_Y

N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_Y = nullptr
private

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