openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
Classes | Namespaces | Macros | Enumerations | Functions | Variables
stimulate.h File Reference

Electrical stimulation functions. More...

#include "signals.h"
#include "physics_types.h"
#include "fem_utils.h"
Include dependency graph for stimulate.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  opencarp::stim_pulse
 define the wave form of a stimulation pulse More...
 
class  opencarp::stim_protocol
 
class  opencarp::stim_physics
 
class  opencarp::stim_electrode
 
class  opencarp::stimulus
 
class  opencarp::dbc_manager
 manager for dirichlet boundary conditions More...
 
struct  opencarp::dbc_manager::dbc_data
 

Namespaces

 opencarp
 

Macros

#define EOStim   -2
 
#define Transmembrane_I   0
 
#define Extracellular_I   1
 
#define Extracellular_V   2
 
#define Extracellular_Ground   3
 
#define Intracellular_I   4
 
#define Extracellular_V_OL   5
 
#define Transmembrane_I_Grad   7
 
#define LAT_Triggered   8
 
#define Vm_clamp   9
 
#define Prescribed_Phie   10
 
#define Ignore_Stim   11
 
#define IsExtraV(A)   ((A.stimtype==Extracellular_V) || (A.stimtype==Extracellular_V_OL))
 
#define IsExtraV_(A)   ((A.type==Extracellular_V) || (A.type==Extracellular_V_OL))
 
#define SELECTED_STIM(A, B)   ((A==B) || ((A==Extracellular_V_OL) && (B==Extracellular_V)))
 
#define IGNORE_NONE   0
 
#define NO_EXTRA_GND   1
 
#define NO_EXTRA_V   2
 
#define NO_EXTRA_I   4
 
#define STM_IGNORE_BIDOMAIN   (IGNORE_NONE)
 
#define STM_IGNORE_MONODOMAIN   (NO_EXTRA_GND | NO_EXTRA_V | NO_EXTRA_I)
 
#define STM_IGNORE_PSEUDO_BIDM   (NO_EXTRA_V | NO_EXTRA_I)
 
#define STM_IGNORE_FLOAT_GND   (NO_EXTRA_GND | NO_EXTRA_V)
 
#define VOL_BASED_ELEC_DEF   0
 
#define FILE_BASED_ELEC_DEF   1
 
#define VOL_BASED_BC_DEF   0
 
#define FILE_BASED_BC_DEF   1
 supported stimulus wave forms, arb(itrary)Pulse must be given in a file More...
 

Enumerations

enum  opencarp::waveform_t {
  opencarp::squarePulse = 0, opencarp::truncExpPulse, opencarp::sinePulse, opencarp::arbPulse,
  opencarp::constPulse, opencarp::unsetPulse
}
 
enum  opencarp::stim_t {
  opencarp::I_tm =0, opencarp::I_ex =1, opencarp::V_ex =2, opencarp::GND_ex =3,
  opencarp::I_in =4, opencarp::V_ex_ol =5, opencarp::Illum =6, opencarp::I_tm_grad =7,
  opencarp::I_lat =8, opencarp::Vm_clmp =9, opencarp::Phie_pre =10, opencarp::Ignore_stim =11
}
 
enum  opencarp::stim_domain_t { opencarp::intra_stim = 1, opencarp::purk_stim = 2, opencarp::all_stim = 3 }
 

Functions

void opencarp::init_stim_info (void)
 
bool opencarp::is_voltage (stim_t type)
 uses voltage as stimulation More...
 
bool opencarp::is_current (stim_t type)
 uses current as stimulation More...
 
bool opencarp::is_dbc (stim_t type)
 whether stimulus is a dirichlet type. implies boundary conditions on matrix More...
 
bool opencarp::is_extra (stim_t type)
 whether stimulus is on extra grid (or on intra) More...
 
void opencarp::sample_wave_form (stim_pulse &sp, int idx)
 sample a signal given in analytic form More...
 

Variables

const std::string opencarp::wfLabels [] = {"squarePulse", "truncExpPulse", "sinePulse", "arbPulse"}
 

Detailed Description

Electrical stimulation functions.

Author
Gernot Plank, Aurel Neic
Version
Date
2019-10-25

Definition in file stimulate.h.

Macro Definition Documentation

◆ EOStim

#define EOStim   -2

Definition at line 37 of file stimulate.h.

◆ Extracellular_Ground

#define Extracellular_Ground   3

Definition at line 41 of file stimulate.h.

◆ Extracellular_I

#define Extracellular_I   1

Definition at line 39 of file stimulate.h.

◆ Extracellular_V

#define Extracellular_V   2

Definition at line 40 of file stimulate.h.

◆ Extracellular_V_OL

#define Extracellular_V_OL   5

Definition at line 43 of file stimulate.h.

◆ FILE_BASED_BC_DEF

#define FILE_BASED_BC_DEF   1

supported stimulus wave forms, arb(itrary)Pulse must be given in a file

Definition at line 76 of file stimulate.h.

◆ FILE_BASED_ELEC_DEF

#define FILE_BASED_ELEC_DEF   1

Definition at line 72 of file stimulate.h.

◆ IGNORE_NONE

#define IGNORE_NONE   0

Definition at line 60 of file stimulate.h.

◆ Ignore_Stim

#define Ignore_Stim   11

Definition at line 49 of file stimulate.h.

◆ Intracellular_I

#define Intracellular_I   4

Definition at line 42 of file stimulate.h.

◆ IsExtraV

#define IsExtraV (   A)    ((A.stimtype==Extracellular_V) || (A.stimtype==Extracellular_V_OL))

Definition at line 53 of file stimulate.h.

◆ IsExtraV_

#define IsExtraV_ (   A)    ((A.type==Extracellular_V) || (A.type==Extracellular_V_OL))

Definition at line 55 of file stimulate.h.

◆ LAT_Triggered

#define LAT_Triggered   8

Definition at line 46 of file stimulate.h.

◆ NO_EXTRA_GND

#define NO_EXTRA_GND   1

Definition at line 61 of file stimulate.h.

◆ NO_EXTRA_I

#define NO_EXTRA_I   4

Definition at line 63 of file stimulate.h.

◆ NO_EXTRA_V

#define NO_EXTRA_V   2

Definition at line 62 of file stimulate.h.

◆ Prescribed_Phie

#define Prescribed_Phie   10

Definition at line 48 of file stimulate.h.

◆ SELECTED_STIM

#define SELECTED_STIM (   A,
 
)    ((A==B) || ((A==Extracellular_V_OL) && (B==Extracellular_V)))

Definition at line 57 of file stimulate.h.

◆ STM_IGNORE_BIDOMAIN

#define STM_IGNORE_BIDOMAIN   (IGNORE_NONE)

Definition at line 65 of file stimulate.h.

◆ STM_IGNORE_FLOAT_GND

#define STM_IGNORE_FLOAT_GND   (NO_EXTRA_GND | NO_EXTRA_V)

Definition at line 68 of file stimulate.h.

◆ STM_IGNORE_MONODOMAIN

#define STM_IGNORE_MONODOMAIN   (NO_EXTRA_GND | NO_EXTRA_V | NO_EXTRA_I)

Definition at line 66 of file stimulate.h.

◆ STM_IGNORE_PSEUDO_BIDM

#define STM_IGNORE_PSEUDO_BIDM   (NO_EXTRA_V | NO_EXTRA_I)

Definition at line 67 of file stimulate.h.

◆ Transmembrane_I

#define Transmembrane_I   0

Definition at line 38 of file stimulate.h.

◆ Transmembrane_I_Grad

#define Transmembrane_I_Grad   7

Definition at line 45 of file stimulate.h.

◆ Vm_clamp

#define Vm_clamp   9

Definition at line 47 of file stimulate.h.

◆ VOL_BASED_BC_DEF

#define VOL_BASED_BC_DEF   0

Definition at line 75 of file stimulate.h.

◆ VOL_BASED_ELEC_DEF

#define VOL_BASED_ELEC_DEF   0

Definition at line 71 of file stimulate.h.