svZeroDSolver
Loading...
Searching...
No Matches
SolverInterface Class Reference

Interface class for calling svZeroD from external programs. More...

#include <interface.h>

Public Member Functions

 SolverInterface (const std::string &input_file_name)
 Construct a new interface object.
 
 ~SolverInterface ()
 Destroy the interface object.
 

Public Attributes

int problem_id_ = 0
 ID of current interface.
 
std::string input_file_name_
 0D input (JSON) file
 
double external_step_size_ = 0.1
 Time step size of the external program.
 
double time_step_size_ = 0.0
 0D time step size
 
double rho_infty_ = 0.0
 Spectral radius of generalized alpha integrator.
 
int num_time_steps_ = 0
 Number of 0D time steps.
 
double absolute_tolerance_ = 0.0
 Convergence tolerance for the 0D model.
 
int max_nliter_ = 0
 Maximum number of non-linear iterations.
 
int time_step_ = 0.0
 Current time step.
 
int system_size_ = 0
 The size of the 0D system.
 
int num_output_steps_ = 0
 The number of steps to output.
 
int pts_per_cycle_ = 0
 Number of time steps per cycle.
 
bool output_last_cycle_only_ = false
 Output results from last cycle only?
 
std::shared_ptr< Modelmodel_
 The current 0D model object.
 
Integrator integrator_
 The current 0D integrator object.
 
State state_
 The current 0D state vector.
 
std::vector< double > times_
 Vector to store solution times.
 
std::vector< Statestates_
 Vector to store solution states.
 

Static Public Attributes

static int problem_id_count_ = 0
 Counter for the number of interfaces.
 
static std::map< int, SolverInterface * > interface_list_
 List of interfaces.
 

Detailed Description

Interface class for calling svZeroD from external programs.

Constructor & Destructor Documentation

◆ SolverInterface()

SolverInterface::SolverInterface ( const std::string & input_file_name)

Construct a new interface object.

Parameters
input_file_nameThe 0D JSON file which specifies the model

◆ ~SolverInterface()

SolverInterface::~SolverInterface ( )

Destroy the interface object.

Member Data Documentation

◆ absolute_tolerance_

double SolverInterface::absolute_tolerance_ = 0.0

Convergence tolerance for the 0D model.

◆ external_step_size_

double SolverInterface::external_step_size_ = 0.1

Time step size of the external program.

This is required for coupling with a 3D solver

◆ input_file_name_

std::string SolverInterface::input_file_name_

0D input (JSON) file

◆ integrator_

Integrator SolverInterface::integrator_

The current 0D integrator object.

◆ interface_list_

std::map< int, SolverInterface * > SolverInterface::interface_list_
static

List of interfaces.

◆ max_nliter_

int SolverInterface::max_nliter_ = 0

Maximum number of non-linear iterations.

◆ model_

std::shared_ptr<Model> SolverInterface::model_

The current 0D model object.

◆ num_output_steps_

int SolverInterface::num_output_steps_ = 0

The number of steps to output.

◆ num_time_steps_

int SolverInterface::num_time_steps_ = 0

Number of 0D time steps.

◆ output_last_cycle_only_

bool SolverInterface::output_last_cycle_only_ = false

Output results from last cycle only?

◆ problem_id_

int SolverInterface::problem_id_ = 0

ID of current interface.

◆ problem_id_count_

int SolverInterface::problem_id_count_ = 0
static

Counter for the number of interfaces.

◆ pts_per_cycle_

int SolverInterface::pts_per_cycle_ = 0

Number of time steps per cycle.

◆ rho_infty_

double SolverInterface::rho_infty_ = 0.0

Spectral radius of generalized alpha integrator.

◆ state_

State SolverInterface::state_

The current 0D state vector.

◆ states_

std::vector<State> SolverInterface::states_

Vector to store solution states.

◆ system_size_

int SolverInterface::system_size_ = 0

The size of the 0D system.

◆ time_step_

int SolverInterface::time_step_ = 0.0

Current time step.

◆ time_step_size_

double SolverInterface::time_step_size_ = 0.0

0D time step size

◆ times_

std::vector<double> SolverInterface::times_

Vector to store solution times.


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