90 const double inf = std::numeric_limits<double>::infinity();
169 if (Idiff)
delete Idiff;
172 if (stimuliRef)
delete stimuliRef;
186 bool determine_model_to_run(
double& time);
198 void set_initial_cv();
230 void save_eikonal_state(
const char* tsav_ext);
243 void update_repolarization_times(
const Ionics& ion);
261 void update_repolarization_times_from_rd(
sf_vec& Vmv,
sf_vec& Vmv_old,
double time);
270 void compute_diffusion_current(
const double& time,
sf_vec& vm);
307 void update_Ta_in_active_list();
416 void translate_stim_to_eikonal();
419 void create_node_to_node_graph();
422 void load_state_file();
425 void init_diffusion_current();
477 bool do_output_eikonal =
false;
518 double timer_val(
const int timer_id);
521 std::string timer_unit(
const int timer_id);
525 void solve_EIKONAL();
535 void setup_stimuli();
538 void stimulate_intracellular();
544 void setup_solvers();
547 void setup_mappings();
553 void dump_matrices();
555 void checkpointing();
constexpr T min(T a, T b)
SF::vector< SF_real > TA_old
description of materal properties in a mesh
SF::vector< mesh_int_t > e2n_con
eikonal_solver eik_solver
Solver for the eikonal equation.
LAT_detector lat
the activation time detector
void set_stimuli(SF::vector< stimulus > &stimuli)
Simple setter for stimulus vector.
igb_output_manager output_manager_cycle
parabolic_solver parab_solver
Solver for the parabolic bidomain equation.
SF_real nbn_T_A
activation time of neighboring node
SF_real time2stop_eikonal
void update_status(enum status s, enum reason r)
eikonal_solver_stats stats
SF::vector< SF_real > sheet_node
void log_stats(double tm, bool cflg)
SF_real T_A
current activation time
const char * reasonIn
reason for list entry
SF::vector< SF_real > z_coord
generic_timing_stats IO_stats
Tissue level electrics, main Electrics physics class.
SF::vector< SF_real > StimulusTimes
for analysis of the #iterations to solve CG
SF_real T_R
repolarization time
The abstract physics interface we can use to trigger all physics.
SF::vector< SF_real > p_cvrest
SF::vector< mesh_int_t > n2e_dsp
SF::vector< stimulus > stimuli
the electrical stimuli
mesh_int_t Index_currStim
Electrical ionics functions and LIMPET wrappers.
void set_elec_tissue_properties(MaterialType *mtype, Electrics::grid_t g, FILE_SPEC logger)
Fill the RegionSpec of an electrics grid with the associated inputs from the param parameters...
gvec_data gvec
datastruct holding global IMP state variable output
for analysis of the computations done to solve the eikonal model
mesh_int_t idXNB
neighboring node index responsible for list entry
SF::vector< mesh_int_t > elem_start
const char * reasonOut
reason for list entry
SF::vector< mesh_int_t > StimulusPoints
virtual void output_timings()
SF_real D_I
diastolic interval
SF::vector< mesh_int_t > stim_status
Electrical stimulation functions.
A vector storing arbitrary data.
igb_output_manager output_manager_time
class handling the igb output
void f_close(FILE_SPEC &f)
Close a FILE_SPEC.
struct opencarp::List List
Eikonal()
Most of the initialization is done with initialize()
mesh_int_t cycle
DREAM cycle.
double SF_real
Use the general double as real type.
SF::vector< diffusion_current > diff_cur
Basic utility structs and functions, mostly IO related.
void init_logger(const char *filename)
std::vector< mesh_int_t > n2n_dsp
SF_real T_A_
previous activation time
Simulator-level utility execution control functions.
grid_t
An electrics grid identifier to distinguish between intra and extra grids.
Struct used for debugging purposes.