|
| IonIf (const IonType &type, Target target, int num_node, const std::vector< std::reference_wrapper< IonType >> &plugins) |
| Constructs an IonIf object. More...
|
|
| ~IonIf () |
| Destroy the IMP. More...
|
|
T::params_type * | params () const |
| Gets a pointer to the parameter structure for the current target. More...
|
|
SvTab & | sv_tab () |
| Gets the SV LimpetArray for the current target. More...
|
|
PrivateTab & | ion_private () |
| Gets the ion private LimpetArray for the current target. More...
|
|
PrivateVectorTab & | ion_private_vector () |
|
void * | get_sv_address () override |
| Gets the raw address of the SV array for the current target. More...
|
|
std::size_t | get_sv_size () const override |
| Gets the size of a SV structure. More...
|
|
void | set_target (Target target) override |
| Set a new execution target for this IMP. More...
|
|
void | allocate_model_data () |
| Allocate memory for the IMP data for the current target. More...
|
|
void | initialize (double dt, GlobalData_t **impdat) override |
| Override of the initialization function to add the initialization of the private structures. More...
|
|
void | copy_SVs_from (IonIfBase &other_base, bool alloc) override |
| Copy state and private variables from another IMP. More...
|
|
void | copy_ion_private (IonIf< T > &other, has_rosenbrock_vector_type) |
| Copy the ion private array from other . More...
|
|
void | copy_ion_private (IonIf< T > &other, has_rosenbrock_type) |
| Copy the ion private array from other . More...
|
|
void | copy_ion_private (IonIf< T > &other, no_rosenbrock_type) |
| This function does nothing (overload of copy_ion_private(IonIf<T>&, has_rosenbrock_type)). More...
|
|
void | init_ion_private (has_rosenbrock_vector_type) |
| Initialize private data. More...
|
|
void | init_ion_private (has_rosenbrock_type) |
| Initialize private data. More...
|
|
void | init_ion_private (no_rosenbrock_type) |
| Doesn't do anything. More...
|
|
| IonIfBase (const IonType &type, Target target, int num_node, const std::vector< std::reference_wrapper< IonType >> &plugins) |
| Constructor for IonIfBase. More...
|
|
virtual | ~IonIfBase () |
| Virtual destructor declaration. More...
|
|
const IonType & | get_type () const |
| Gets this IMP's model type. More...
|
|
int | get_num_node () const |
| Gets the number of nodes handled by this IMP. More...
|
|
std::size_t | get_num_threads () const |
| Gets the number of threads used for running this IMP. More...
|
|
IonIfBase * | parent () const |
| Gets the parent IMP. More...
|
|
void | set_parent (IonIfBase *parent) |
|
std::vector< IonIfBase * > & | plugins () |
| Returns a vector containing the plugins of this IMP. More...
|
|
uint32_t | get_reqdat () const |
| Gets the data flags for this IMP's required data. More...
|
|
uint32_t | get_moddat () const |
| Gets the data flags for this IMP's modified data. More...
|
|
void | set_moddat (uint32_t data) |
| Set the data flag for this IMP's modified data. More...
|
|
cell_geom & | cgeom () |
| Gets the cell geometry data. More...
|
|
float | get_dt () const |
| Gets the basic integration time step. More...
|
|
void | set_dt (float dt) |
| Sets the basic integration time step. More...
|
|
ts & | get_tstp () |
| Gets the time stepper. More...
|
|
std::vector< LUT > & | tables () |
| Gets the array of state variables. More...
|
|
LUT * | tables_d () const |
| Gets an array of LUTs. More...
|
|
size_t | get_n_tables_d () const |
| Gets the size of the array returned by IonIf::tables_d. More...
|
|
Target | get_target () const |
|
void | initialize_params () |
| Initializes user modifiable parameters with default values defined in the respective ionic models. More...
|
|
void | compute (int start, int end, GlobalData_t **data) |
| Perform ionic model computation for 1 time step. More...
|
|
char * | fill_buf (char *buf, int *n, opencarp::Salt_list *l) const |
| Appends the state variables to a buffer. More...
|
|
int | restore (opencarp::FILE_SPEC in, int n, const int *pos, IIF_Mask_t *mask, size_t *offset, IMPinfo *impinfo, const int *loc2canon) |
| Reads in the state variables for an IMP. More...
|
|
int | dump_luts (bool zipped) |
| Dumps array of LUTs to file. More...
|
|
void | destroy_luts () |
| Destroys array of LUTs. More...
|
|
void | tune (const char *im_par, const char *plugs, const char *plug_par) |
| Tunes specific IMP parameters from files. More...
|
|
int | read_svs (FILE *file) |
| Reads state variable values for one cell from a file. More...
|
|
int | write_svs (FILE *file, int node) |
|
void | copy_plugins_from (IonIfBase &other) |
| Copies the plugins of an IMP. More...
|
|
void | for_each (const std::function< void(IonIfBase &)> &consumer) |
| Executes the consumer functions on this IMP and each of its plugins. More...
|
|
template<typename T>
class limpet::IonIf< T >
Child class of IonIfBase specialized for each ionic model type.
The template parameter T should be an IonType class and should define some type aliases:
- params_type: the type of the parameters structure used by the model
- state_type: the type of the state variables structure used by the model
- private_type: the type of the private structure used by the model (or void if none if used)
Definition at line 497 of file ION_IF.h.