|
| | 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.