openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
opencarp Namespace Reference

Namespaces

 async
 
 sig
 
 stim_info
 
 user_globals
 

Classes

struct  Activation
 event detection data structures More...
 
struct  async_io_item
 
struct  base_timer
 
class  Basic_physic
 The abstract physics interface we can use to trigger all physics. More...
 
struct  D_Complex
 
class  dbc_manager
 manager for dirichlet boundary conditions More...
 
struct  diffMaterial
 
class  elec_stiffness_integrator
 
struct  elecMaterial
 
class  Electrics
 
class  elliptic_solver
 
struct  file_desc
 File descriptor struct. More...
 
struct  generic_timing_stats
 for analysis of the #iterations to solve CG More...
 
class  geom_shape
 class to store shape definitions More...
 
struct  gvec_data
 
class  igb_output_manager
 
class  IGBheader
 
class  Ionics
 
class  Laplace
 
class  LAT_detector
 
struct  lin_solver_stats
 for analysis of the #iterations to solve CG More...
 
struct  List
 
class  mass_integrator
 
struct  MaterialType
 description of materal properties in a mesh More...
 
struct  opticsMaterial
 
class  parabolic_solver
 
struct  phie_recovery_data
 
struct  physMaterial
 
struct  prog_stats
 for display execution progress and statistical data of electrical solve More...
 
struct  RegionSpecs
 region based variations of arbitrary material parameters More...
 
union  rgba
 
struct  S_Complex
 
struct  Salt_list
 saltatory list – memory is allocated in chunks More...
 
struct  Sentinel
 sentinel for checking activity in the tissue More...
 
class  stim_electrode
 
class  stim_physics
 
class  stim_protocol
 
class  stim_pulse
 define the wave form of a stimulation pulse More...
 
class  stimulus
 
struct  sv_data
 
struct  sync_io_item
 
struct  timer_eq
 
class  timer_manager
 centralize time managment and output triggering More...
 
struct  timer_neq
 
struct  vec3
 

Typedefs

typedef SF::meshdata< mesh_int_t, mesh_real_tsf_mesh
 
typedef SF::abstract_vector< mesh_int_t, double > sf_vec
 
typedef SF::abstract_matrix< mesh_int_t, double > sf_mat
 
typedef SF::abstract_linear_solver< mesh_int_t, double > sf_sol
 
typedef file_descFILE_SPEC
 
typedef struct opencarp::List List
 
typedef unsigned char byte
 
typedef unsigned char Byte
 
typedef char * String
 
typedef signed char Char
 
typedef struct S_Complex S_Complex
 
typedef double Double
 
typedef struct D_Complex D_Complex
 
typedef float Float
 
typedef int Int
 
typedef long Long
 
typedef unsigned int UInt
 
typedef short Short
 
typedef int BooleaN
 
typedef int Flag
 
typedef char * RDir
 
typedef char * RFile
 
typedef char * RWDir
 
typedef char * RWFile
 
typedef char * WDir
 
typedef char * WFile
 
typedef char ** Text
 
typedef void Any
 
typedef union opencarp::rgba rgba
 
typedef uint16_t short_float
 
typedef vec3< POINT_REALPoint
 

Enumerations

enum  IO_t { INPUT, OUTPUT, POSTPROC, CURDIR }
 The different output (directory) types. More...
 
enum  tagreg_t { tagreg_sphere = 1, tagreg_block = 2, tagreg_cylinder = 3, tagreg_list = 4 }
 tag regions types. must be in line with carp.prm More...
 
enum  physMat_t {
  PhysMat =0, ElecMat =1, DiffuseMat =2, MechMat =3,
  OpticsMat =4
}
 identifier for physical material properties More...
 
enum  cond_t { intra_cond, extra_cond, sum_cond, para_cond }
 description of electrical tissue properties More...
 
enum  mesh_t {
  intra_elec_msh = 0, extra_elec_msh, eikonal_msh, elasticity_msh,
  fluid_msh, reference_msh, phie_recv_msh, unset_msh,
  num_msh
}
 The enum identifying the different meshes we might want to load. More...
 
enum  PotType { VM, PHIE }
 
enum  ActMethod { NONE, ACT_THRESH, ACT_DT }
 
enum  physic_t {
  ion_phys =0, elec_phys, mech_phys, diffK_phys,
  magnet_phys, opt_phys, fluid_phys, NUM_PHYSICS
}
 Identifier for the different physics we want to set up. More...
 
enum  datavec_t { vm_vec, iion_vec }
 Enum used to adress the different data vectors stored in the data registry. More...
 
enum  waveform_t {
  squarePulse = 0, truncExpPulse, sinePulse, arbPulse,
  constPulse, unsetPulse
}
 
enum  stim_t {
  I_tm =0, I_ex =1, V_ex =2, GND_ex =3,
  I_in =4, V_ex_ol =5, Illum =6, I_tm_grad =7,
  I_lat =8, Vm_clmp =9, Phie_pre =10, Ignore_stim =11
}
 
enum  stim_domain_t { intra_stim = 1, purk_stim = 2, all_stim = 3 }
 
enum  io_time {
  iotm_console = 0, iotm_state_var, iotm_spacedt, iotm_chkpt_list,
  iotm_chkpt_intv, iotm_trace, iotm_num_timers
}
 The timers we always need are indexed in this enum. More...
 
enum  t_timer { EQUDIST, NONEQUDIST }
 We distinguish between equidistant and non-equidistant timers with an enum. More...
 

Functions

void parse_params_cpy (int argc, char **argv)
 Initialize input parameters on a copy of the real command line parameters. More...
 
void register_physics ()
 Register physics to the physics registry. More...
 
void initialize_physics ()
 Initialize all physics in the registry. More...
 
void destroy_physics ()
 Destroy all physics in the registry. More...
 
void ignore_extracellular_stim (Stimulus *st, int ns, int ignore)
 
int set_ignore_flags (int mode)
 
void check_nullspace_ok ()
 
void show_build_info ()
 show the build info, exit if -buildinfo was provided. This code runs before MPI_Init(). More...
 
void check_and_convert_params ()
 Here we want to put all parameter checks, conversions and modifications that have been littered throughout the codebase. More...
 
void set_io_dirs (char *sim_ID, char *pp_ID, IO_t init)
 
bool setup_IO (int argc, char **argv)
 
void update_cwd ()
 save the current working directory to curdir so that we can switch back to it if needed. More...
 
int set_dir (IO_t dest)
 
void basic_timer_setup ()
 Here we set up the timers that we always want to have, independent of physics. More...
 
void get_protocol_column_widths (std::vector< int > &col_width, std::vector< int > &used_timer_ids)
 
int plot_protocols (const char *fname)
 plot simulation protocols (I/O timers, stimuli, boundary conditions, etc) More...
 
void init_console_output (const timer_manager &tm, prog_stats &p)
 
void time_to_string (float time, char *str, short str_size)
 
void update_console_output (const timer_manager &tm, prog_stats &p)
 
void simulate ()
 Main simulate loop. More...
 
void post_process ()
 do postprocessing More...
 
Basic_physicget_physics (physic_t p, bool error_if_missing=true)
 Convinience function to get a physics. More...
 
sf_vecget_data (datavec_t d)
 Retrieve a petsc data vector from the data registry. More...
 
void register_data (sf_vec *dat, datavec_t d)
 Register a data vector in the global registry. More...
 
void parse_mesh_types ()
 Parse the phys_type CLI parameters and set up (empty) SF::meshdata meshes. More...
 
void retag_elements (sf_mesh &mesh, TagRegion *tagRegs, int ntr)
 
size_t renormalise_fibres (SF::vector< mesh_real_t > &fib, size_t l_numelem)
 
void setup_meshes ()
 Read in the reference mesh and use its data to populate all meshes registered in the mesh registry. More...
 
void output_meshes ()
 
void cleanup_and_exit ()
 
char * get_file_dir (const char *file)
 
void setup_petsc_err_log ()
 set up error logs for PETSc, so that it doesnt print errors to stderr. More...
 
short get_mesh_dim (mesh_t id)
 get (lowest) dimension of the mesh used in the experiment More...
 
void output_parameter_file (const char *fname, int argc, char **argv)
 
void savequit ()
 save state and quit simulator More...
 
unsigned int classify_soln_methods ()
 
void parse_comment_line (char *buff, const int buffsize, std::map< std::string, std::string > &metadata)
 
void read_metadata (const std::string filename, std::map< std::string, std::string > &metadata, MPI_Comm comm)
 Read metadata from the header. More...
 
char * skip_comments (FILE_SPEC stream, char *readbuff, size_t buffsize, MPI_Comm comm)
 
void indices_from_region_tag (SF::vector< mesh_int_t > &idx, const sf_mesh &mesh, const int tag)
 Populate vertex data with the vertices of a given tag region. More...
 
void indices_from_geom_shape (SF::vector< mesh_int_t > &idx, const sf_mesh &mesh, const geom_shape shape, const bool nodal)
 Populate vertex data with the vertices inside a defined box shape. More...
 
SF_real get_volume_from_nodes (sf_mat &mass, SF::vector< mesh_int_t > &local_idx)
 
void warn_when_passing_intra_vtx (const std::string filename)
 
template<class T >
void read_indices_global (SF::vector< T > &idx, const std::string filename, MPI_Comm comm)
 
template<class T >
void read_indices (SF::vector< T > &idx, const std::string filename, const hashmap::unordered_map< mesh_int_t, mesh_int_t > &dd_map, MPI_Comm comm)
 Read indices from a file. More...
 
template<class T >
void read_indices (SF::vector< T > &idx, const std::string filename, const sf_mesh &mesh, const SF::SF_nbr nbr, const bool algebraic, MPI_Comm comm)
 Read indices from a file. More...
 
template<class T >
void read_indices (SF::vector< T > &idx, const std::string filename, const SF::vector< mesh_int_t > &dd_nbr, MPI_Comm comm)
 Read indices from a file. More...
 
template<class T , class S >
void read_indices_with_data (SF::vector< T > &idx, SF::vector< S > &dat, const std::string filename, const hashmap::unordered_map< mesh_int_t, mesh_int_t > &dd_map, const int dpn, MPI_Comm comm)
 like read_indices, but with associated data for each index More...
 
template<class T , class S >
void read_indices_with_data (SF::vector< T > &idx, SF::vector< S > &dat, const std::string filename, const sf_mesh &mesh, const SF::SF_nbr nbr, const bool algebraic, const int dpn, MPI_Comm comm)
 like read_indices, but with associated data for each index More...
 
template<class T , class S >
void read_indices_with_data (SF::vector< T > &idx, SF::vector< S > &dat, const std::string filename, const SF::vector< mesh_int_t > &dd_nbr, const int dpn, MPI_Comm comm)
 like read_indices, but with associated data for each index More...
 
sf_meshget_mesh (const mesh_t gt)
 Get a mesh by specifying the gridID. More...
 
const char * get_mesh_type_name (mesh_t t)
 get a char* to the name of a mesh type More...
 
bool mesh_is_registered (const mesh_t gt)
 check wheter a SF mesh is set More...
 
SF::scatteringregister_scattering (const int from, const int to, const SF::SF_nbr nbr, const int dpn)
 Register a scattering between to grids, or between algebraic and nodal representation of data on the same grid. More...
 
SF::scatteringget_scattering (const int from, const int to, const SF::SF_nbr nbr, const int dpn)
 Get a scattering from the global scatter registry. More...
 
bool have_scattering (const int from, const int to, const SF::SF_nbr nbr, const int dpn)
 
SF::scatteringregister_permutation (const int mesh_id, const int perm_id, const int dpn)
 Register a permutation between two orderings for a mesh. More...
 
SF::scatteringget_permutation (const int mesh_id, const int perm_id, const int dpn)
 Get the PETSC to canonical permutation scattering for a given mesh and number of dpn. More...
 
bool have_permutation (const int mesh_id, const int perm_id, const int dpn)
 
SF::scatteringregister_scattering (const int from, const int to, const int dpn)
 
SF::scatteringget_scattering (const int from, const int to, const int dpn)
 
bool have_scattering (const int from, const int to, const int dpn)
 
int get_preferred_int_order (SF::elem_t &etype, int mat_type)
 
void print_element_info (const SF::element_view< mesh_int_t, mesh_real_t > &elem, const int *reg, const double vol, const double *eVals, const char *msg_start)
 
void get_conductivity_evals (const elecMaterial &emat, const bool is_bath, double *evals)
 
void get_conductivity (const double *evals, const SF::Point *f, const SF::Point *s, SF::dmat< double > &cond)
 
void print_points (SF::Point *pts, int npts)
 
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. More...
 
void balance_electrode (SF::vector< stimulus > &stimuli, int balance_from, int balance_to)
 
void apply_stim_to_vector (const stimulus &s, sf_vec &vec, bool add)
 
void compute_restr_idx (sf_mesh &mesh, SF::vector< mesh_int_t > &inp_idx, SF::vector< mesh_int_t > &idx)
 
void compute_restr_idx_async (sf_mesh &mesh, SF::vector< mesh_int_t > &inp_idx, SF::vector< mesh_int_t > &idx)
 
void setup_dataout (const int dataout, std::string dataout_vtx, mesh_t grid, SF::vector< mesh_int_t > *&restr, bool async=false)
 
int stimidx_from_timeridx (const SF::vector< stimulus > &stimuli, const int timer_id)
 determine link between timer and stimulus More...
 
void get_kappa (sf_vec &kappa, IMPregion *ir, limpet::MULTI_IF &miif, double k)
 compute the vector $\kappa = \frac{\beta C_m}{\Delta t}$ More...
 
void set_cond_type (MaterialType &m, cond_t type)
 
bool have_dbc_stims (const SF::vector< stimulus > &stimuli)
 return wheter any stimuli require dirichlet boundary conditions More...
 
const char * get_tsav_ext (double time)
 
void print_act_log (FILE_SPEC logger, const SF::vector< Activation > &acts, int idx)
 
int output_all_activations (FILE_SPEC fp, int *ibuf, double *act_tbuf, int nlacts)
 
void recover_phie_std (sf_vec &vm, phie_recovery_data &rcv)
 
int postproc_recover_phie ()
 
void setup_phie_recovery_data (phie_recovery_data &data)
 
void constant_total_stimulus_current (SF::vector< stimulus > &stimuli, sf_mat &mass_i, sf_mat &mass_e, limpet::MULTI_IF *miif, FILE_SPEC logger)
 
void initialize_sv_dumps (limpet::MULTI_IF *pmiif, IMPregion *reg, int id, double t, double dump_dt)
 
bool check_tags_in_elems (const SF::vector< int > &tags, SF::vector< RegionSpecs > &regspec, const char *gridname, const char *reglist)
 Check whether the tags in the region spec struct matches with an array of tags. More...
 
void region_mask (mesh_t meshspec, SF::vector< RegionSpecs > &regspec, SF::vector< int > &regionIDs, bool mask_elem, const char *reglist)
 classify elements/points as belonging to a region More...
 
void compute_IIF (limpet::IonIfBase &pIF, limpet::GlobalData_t **impdata, int n)
 
void * find_SV_in_IMP (limpet::MULTI_IF *miif, const int idx, const char *IMP, const char *SV, int *offset, int *sz)
 
void alloc_gvec_data (const int nGVcs, const int nRegs, GVecs *prmGVecs, gvec_data &glob_vecs)
 
void init_sv_gvec (gvec_data &GVs, limpet::MULTI_IF *miif, sf_vec &tmpl, igb_output_manager &output_manager)
 
void assemble_sv_gvec (gvec_data &gvecs, limpet::MULTI_IF *miif)
 
void init_stim_info (void)
 
bool is_voltage (stim_t type)
 uses voltage as stimulation More...
 
bool is_current (stim_t type)
 uses current as stimulation More...
 
bool is_dbc (stim_t type)
 whether stimulus is a dirichlet type. implies boundary conditions on matrix More...
 
bool is_extra (stim_t type)
 whether stimulus is on extra grid (or on intra) More...
 
void get_stim_list (const char *str_list, std::vector< double > &stlist)
 
void sample_wave_form (stim_pulse &sp, int idx)
 sample a signal given in analytic form More...
 
void sltlst_append (Salt_list *sl, void *p, int quantum)
 
char * dupstr (const char *old_str)
 
char * stringify (double r)
 
std::string get_basename (const std::string &path)
 
void log_msg (FILE_SPEC out, int level, unsigned char flag, const char *fmt,...)
 
bool f_exist (const char *fname)
 
FILE_SPEC f_open (const char *fname, const char *mode)
 Open a FILE_SPEC. More...
 
void f_close (FILE_SPEC &f)
 Close a FILE_SPEC. More...
 
void f_read_par (void *ptr, size_t size, size_t nmemb, FILE_SPEC stream, MPI_Comm comm=PETSC_COMM_WORLD)
 Parallel fread. Root reads, then broadcasts. More...
 
void f_write_par (void *ptr, size_t size, size_t nmemb, int source_pid, FILE_SPEC stream, MPI_Comm comm=PETSC_COMM_WORLD)
 Write in parallel. Data comes from one rank, rank 0 writes. More...
 
char * f_gets_par (char *s, int size, FILE_SPEC stream, MPI_Comm comm)
 
void write_bin_string (FILE_SPEC out, const char *s)
 
char * read_bin_string (FILE_SPEC in)
 
char * read_bin_string_par (FILE_SPEC in)
 
bool point_in_shape (const Point &p, const geom_shape &shape)
 test if a point is inside a simple geometric shape More...
 
bool is_big_endian ()
 
bool file_can_be_opened (const char *file)
 Check wheterh a file can be opened for reading. More...
 
bool path_is_absolute (const char *path)
 check whether path is absolute More...
 
template<class STRVEC >
void split_string (const std::string &input, const char s, STRVEC &list)
 Split a string holding a character-seperated list into a vector of strings. More...
 
template<typename T >
get_global (T in, MPI_Op OP, MPI_Comm comm=PETSC_COMM_WORLD)
 Do a global reduction on a variable. More...
 
template<>
int get_global< int > (int in, MPI_Op OP, MPI_Comm comm)
 
template<>
long int get_global< long int > (long int in, MPI_Op OP, MPI_Comm comm)
 
template<typename T >
void get_global (SF::vector< T > &vec, int sender=0, MPI_Comm comm=PETSC_COMM_WORLD)
 Broadcast a SF::vector to all processes. More...
 
int get_rank (MPI_Comm comm=PETSC_COMM_WORLD)
 
int get_size (MPI_Comm comm=PETSC_COMM_WORLD)
 
int get_remote_size (MPI_Comm intercomm)
 
void init_iterations_logger (FILE_SPEC *&logger, const char *filename)
 init a logger for solver iterations More...
 
void remove_preceding_char (char *buff, const int buffsize, const char c)
 
void remove_char (char *buff, const int buffsize, const char c)
 
bool has_char (char *buff, const int buffsize, const char c)
 
void get_time (double &tm)
 
double get_time ()
 
template<typename V >
timing (V &t2, const V &t1)
 
int my_fputs (FILE *, char *)
 
template<class T >
int read_IGB_data (T *dp, int numt, IGBheader *h, char *buf=NULL)
 
template<class T >
IGB_convert_buffer_datum (IGBheader *, void *buf, int a)
 
template<typename V >
det3 (const vec3< V > &a, const vec3< V > &b, const vec3< V > &c)
 
template<typename V >
dist_2 (const vec3< V > &p1, const vec3< V > &p2)
 
template<typename V >
dist (const vec3< V > &p1, const vec3< V > &p2)
 
template<typename V >
angle (const vec3< V > &v1, const vec3< V > &v2)
 
template<typename V >
dot (const vec3< V > &p1, const vec3< V > &p2)
 
template<typename V >
mag (const vec3< V > &vect)
 
template<typename V >
mag2 (const vec3< V > &vect)
 
template<typename V >
vec3< V > cross (const vec3< V > &a, const vec3< V > &b)
 
template<typename V , typename S >
vec3< V > scal_X (const vec3< V > &a, S k)
 
template<typename V >
vec3< V > operator* (const vec3< V > &a, V k)
 
template<typename V >
vec3< V > operator/ (const vec3< V > &a, V k)
 
template<typename V >
vec3< V > scale3 (const vec3< V > &a, const vec3< V > &k)
 
template<typename V >
vec3< V > operator- (const vec3< V > &a, const vec3< V > &b)
 
template<typename V >
vec3< V > operator+ (const vec3< V > &a, const vec3< V > &b)
 
template<typename V >
vec3< V > normalize (vec3< V > a)
 
template<typename V >
double * v_scale (int n, double *a, double k, double *b)
 
template<typename V >
float * v_scale_f (int n, float *a, double k, double *b)
 
template<typename V >
vec3< V > mid_point (vec3< V > a, vec3< V > b)
 
template<typename V >
vec3< V > rotate_z (vec3< V > p, double theta)
 
template<typename V >
vec3< V > rotate_y (vec3< V > p, double theta)
 
template<typename V >
vec3< V > rotate_x (vec3< V > p, double theta)
 
void matrix_mathematica (int n, double **a, char *outfile)
 
template<typename V >
vec3< V > p_project (vec3< V > A, vec3< V > B)
 
template<typename V >
vec3< V > p_transverse (vec3< V > A, vec3< V > B)
 
template<typename V >
double triple_prod (vec3< V > a, vec3< V > b, vec3< V > c)
 
template<typename V >
bool isNaN (vec3< V > a)
 
template<typename V >
double infnorm (const vec3< V > &a)
 

Variables

const std::string wfLabels [] = {"squarePulse", "truncExpPulse", "sinePulse", "arbPulse"}
 
bool Header_Quiet = false
 
char Header_Message [256]
 
const char * Header_Type []
 
const char * deprecated []
 
unsigned short Data_Size []
 
int Num_Components []
 
long unsigned Header_Systeme_No []
 
const char * Header_Systeme []
 
const uint16_t basetable [512]
 
const uint16_t shifttable [512]
 
const uint32_t mantissatable [2048]
 
const uint16_t offsettable [64]
 
const uint32_t exponenttable [64]
 

Typedef Documentation

◆ Any

typedef void opencarp::Any

Definition at line 145 of file IGBheader.h.

◆ BooleaN

typedef int opencarp::BooleaN

Definition at line 136 of file IGBheader.h.

◆ byte

typedef unsigned char opencarp::byte

Definition at line 122 of file IGBheader.h.

◆ Byte

typedef unsigned char opencarp::Byte

Definition at line 124 of file IGBheader.h.

◆ Char

typedef signed char opencarp::Char

Definition at line 127 of file IGBheader.h.

◆ D_Complex

Definition at line 130 of file IGBheader.h.

◆ Double

typedef double opencarp::Double

Definition at line 129 of file IGBheader.h.

◆ FILE_SPEC

Definition at line 138 of file basics.h.

◆ Flag

typedef int opencarp::Flag

Definition at line 137 of file IGBheader.h.

◆ Float

typedef float opencarp::Float

Definition at line 131 of file IGBheader.h.

◆ Int

typedef int opencarp::Int

Definition at line 132 of file IGBheader.h.

◆ List

◆ Long

typedef long opencarp::Long

Definition at line 133 of file IGBheader.h.

◆ Point

Definition at line 93 of file vect.h.

◆ RDir

typedef char* opencarp::RDir

Definition at line 138 of file IGBheader.h.

◆ RFile

typedef char* opencarp::RFile

Definition at line 139 of file IGBheader.h.

◆ rgba

◆ RWDir

typedef char* opencarp::RWDir

Definition at line 140 of file IGBheader.h.

◆ RWFile

typedef char* opencarp::RWFile

Definition at line 141 of file IGBheader.h.

◆ S_Complex

Definition at line 128 of file IGBheader.h.

◆ sf_mat

Shorthand for abstract matrix. Uses double value type.

Definition at line 51 of file sf_interface.h.

◆ sf_mesh

Shorthand type for the mesh. Uses mesh_real_t (float) as value type.

Definition at line 47 of file sf_interface.h.

◆ sf_sol

Shorthand for abstract linear solver. Uses double value type.

Definition at line 53 of file sf_interface.h.

◆ sf_vec

Shorthand for abstract vector. Uses double value type.

Definition at line 49 of file sf_interface.h.

◆ Short

typedef short opencarp::Short

Definition at line 135 of file IGBheader.h.

◆ short_float

typedef uint16_t opencarp::short_float

Definition at line 48 of file short_float.h.

◆ String

typedef char* opencarp::String

Definition at line 125 of file IGBheader.h.

◆ Text

typedef char** opencarp::Text

Definition at line 144 of file IGBheader.h.

◆ UInt

typedef unsigned int opencarp::UInt

Definition at line 134 of file IGBheader.h.

◆ WDir

typedef char* opencarp::WDir

Definition at line 142 of file IGBheader.h.

◆ WFile

typedef char* opencarp::WFile

Definition at line 143 of file IGBheader.h.

Enumeration Type Documentation

◆ ActMethod

Enumerator
NONE 
ACT_THRESH 
ACT_DT 

Definition at line 161 of file electrics.h.

◆ cond_t

description of electrical tissue properties

Enumerator
intra_cond 
extra_cond 
sum_cond 
para_cond 

Definition at line 42 of file fem_types.h.

◆ datavec_t

Enum used to adress the different data vectors stored in the data registry.

Enumerator
vm_vec 
iion_vec 

Definition at line 99 of file physics_types.h.

◆ IO_t

The different output (directory) types.

Enumerator
INPUT 
OUTPUT 
POSTPROC 
CURDIR 

Definition at line 52 of file sim_utils.h.

◆ io_time

The timers we always need are indexed in this enum.

Enumerator
iotm_console 
iotm_state_var 
iotm_spacedt 
iotm_chkpt_list 
iotm_chkpt_intv 
iotm_trace 
iotm_num_timers 

Definition at line 44 of file timer_utils.h.

◆ mesh_t

The enum identifying the different meshes we might want to load.

Enumerator
intra_elec_msh 
extra_elec_msh 
eikonal_msh 
elasticity_msh 
fluid_msh 
reference_msh 
phie_recv_msh 
unset_msh 
num_msh 

Definition at line 58 of file sf_interface.h.

◆ physic_t

Identifier for the different physics we want to set up.

The order of the physics defines the order the in which initialize(), compute_step() and output_step() will be called.

The physic_t does not correspond directly to mesh_t, since we have multiple physics defined on one mesh (electrics).

Enumerator
ion_phys 
elec_phys 
mech_phys 
diffK_phys 
magnet_phys 
opt_phys 
fluid_phys 
NUM_PHYSICS 

Definition at line 51 of file physics_types.h.

◆ physMat_t

identifier for physical material properties

Enumerator
PhysMat 
ElecMat 
DiffuseMat 
MechMat 
OpticsMat 

Definition at line 39 of file fem_types.h.

◆ PotType

Enumerator
VM 
PHIE 

Definition at line 160 of file electrics.h.

◆ stim_domain_t

Enumerator
intra_stim 
purk_stim 
all_stim 

Definition at line 84 of file stimulate.h.

◆ stim_t

Enumerator
I_tm 
I_ex 
V_ex 
GND_ex 
I_in 
V_ex_ol 
Illum 
I_tm_grad 
I_lat 
Vm_clmp 
Phie_pre 
Ignore_stim 

Definition at line 83 of file stimulate.h.

◆ t_timer

We distinguish between equidistant and non-equidistant timers with an enum.

Enumerator
EQUDIST 
NONEQUDIST 

Definition at line 49 of file timer_utils.h.

◆ tagreg_t

tag regions types. must be in line with carp.prm

Enumerator
tagreg_sphere 
tagreg_block 
tagreg_cylinder 
tagreg_list 

Definition at line 55 of file sim_utils.h.

◆ waveform_t

Enumerator
squarePulse 
truncExpPulse 
sinePulse 
arbPulse 
constPulse 
unsetPulse 

Definition at line 79 of file stimulate.h.

Function Documentation

◆ alloc_gvec_data()

void opencarp::alloc_gvec_data ( const int  nGVcs,
const int  nRegs,
GVecs *  prmGVecs,
gvec_data glob_vecs 
)

Convert PrM data to internal data structures

Parameters
NGVcsnumber of global (composite) state vectors
nRegsnumber of IMP regions defined over entire domain
prmGVecsGlobal composite vector structure to unPrM
GlobalVecsstore data needed to compose gloabl vectors
Postcondition
The GlobalVecs structure is allocated and initialized with prm values

Definition at line 506 of file ionics.cc.

Here is the caller graph for this function:

◆ angle()

template<typename V >
V opencarp::angle ( const vec3< V > &  v1,
const vec3< V > &  v2 
)
inline

Definition at line 120 of file vect.h.

◆ apply_stim_to_vector()

void opencarp::apply_stim_to_vector ( const stimulus s,
sf_vec vec,
bool  add 
)

Definition at line 427 of file electrics.cc.

Here is the caller graph for this function:

◆ assemble_sv_gvec()

void opencarp::assemble_sv_gvec ( gvec_data gvecs,
limpet::MULTI_IF miif 
)

output the global vector

Parameters
Gvecglobal vectors
miifIMPs
purkPurkinje system
Note
all Svs are converted to type real
Gvec->getsv should really be declared as a SVgetfcn but the header dependency got really ugly so it is void* and then typecast

Definition at line 628 of file ionics.cc.

Here is the caller graph for this function:

◆ balance_electrode()

void opencarp::balance_electrode ( SF::vector< stimulus > &  stimuli,
int  balance_from,
int  balance_to 
)

Definition at line 366 of file electrics.cc.

Here is the caller graph for this function:

◆ basic_timer_setup()

void opencarp::basic_timer_setup ( )

Here we set up the timers that we always want to have, independent of physics.

Parameters
start_timeStart time of the simulation

Definition at line 458 of file sim_utils.cc.

Here is the caller graph for this function:

◆ check_and_convert_params()

void opencarp::check_and_convert_params ( )

Here we want to put all parameter checks, conversions and modifications that have been littered throughout the codebase.

Usualy people modify param globals next to the code that is affected by that change. This works well first, but after some time a lot of state is accumulated to the initially stateless functions. As such, the code works only if the order of function calls etc is not changed. In the long term it is better to accumulate all changes and checks of globals in specific functions so that the rest of the codebase can be programmed and used stateless. -Aurel

Definition at line 227 of file sim_utils.cc.

Here is the caller graph for this function:

◆ check_nullspace_ok()

void opencarp::check_nullspace_ok ( )

check the Nullspace strategy of the setup for solving the elliptic PDE

Parameters
sstimulus array
fGNDfloating ground
Return values
trueif strategy is ok, i.e. either we specify a potential, a floating ground or a dedicated strategy (expicit enforcement of zero mean, etc)
falsesystem is singular

Definition at line 199 of file sim_utils.cc.

◆ check_tags_in_elems()

bool opencarp::check_tags_in_elems ( const SF::vector< int > &  tags,
SF::vector< RegionSpecs > &  regspec,
const char *  gridname,
const char *  reglist 
)

Check whether the tags in the region spec struct matches with an array of tags.

Parameters
tagsTags vector.
regspecArray of region spec structs
gridnameGrid name (for message output)
reglistName of the regspec list.
Returns
Whether all tags are present.

Definition at line 323 of file ionics.cc.

Here is the caller graph for this function:

◆ classify_soln_methods()

unsigned int opencarp::classify_soln_methods ( )

determine the solution methods

Note
We use the PrM variables
Returns
integer with solution methods bits set

◆ cleanup_and_exit()

void opencarp::cleanup_and_exit ( )

Definition at line 1216 of file sim_utils.cc.

Here is the caller graph for this function:

◆ compute_IIF()

void opencarp::compute_IIF ( limpet::IonIfBase pIF,
limpet::GlobalData_t **  impdata,
int  n 
)

simple routine to run ionic models for prepacing

pIF ionic model

Parameters
impdatadata for ionic model
nnode to compute
Note
Only one node is run

Definition at line 458 of file ionics.cc.

Here is the caller graph for this function:

◆ compute_restr_idx()

void opencarp::compute_restr_idx ( sf_mesh mesh,
SF::vector< mesh_int_t > &  inp_idx,
SF::vector< mesh_int_t > &  idx 
)

Definition at line 521 of file electrics.cc.

Here is the caller graph for this function:

◆ compute_restr_idx_async()

void opencarp::compute_restr_idx_async ( sf_mesh mesh,
SF::vector< mesh_int_t > &  inp_idx,
SF::vector< mesh_int_t > &  idx 
)

Definition at line 554 of file electrics.cc.

Here is the caller graph for this function:

◆ constant_total_stimulus_current()

void opencarp::constant_total_stimulus_current ( SF::vector< stimulus > &  simuli,
sf_mat mass_i,
sf_mat mass_e,
limpet::MULTI_IF miif,
FILE_SPEC  logger 
)

scale current densities to keep total injected current constant

Parameters
[in]stimuliThe stimuli vector.
[in]mass_iintracellular mass matrix, $M_i$
[in]mass_eextracellular mass matrix, $M_e$
[in]miifionic interface
[in]loggerhandle to output log
Note
We assume that the strength is in uA

Definition at line 2162 of file electrics.cc.

Here is the caller graph for this function:

◆ cross()

template<typename V >
vec3<V> opencarp::cross ( const vec3< V > &  a,
const vec3< V > &  b 
)
inline

Definition at line 144 of file vect.h.

Here is the caller graph for this function:

◆ destroy_physics()

void opencarp::destroy_physics ( )

Destroy all physics in the registry.

Definition at line 124 of file sim_utils.cc.

Here is the caller graph for this function:

◆ det3()

template<typename V >
V opencarp::det3 ( const vec3< V > &  a,
const vec3< V > &  b,
const vec3< V > &  c 
)
inline

Definition at line 96 of file vect.h.

Here is the caller graph for this function:

◆ dist()

template<typename V >
V opencarp::dist ( const vec3< V > &  p1,
const vec3< V > &  p2 
)
inline

Definition at line 114 of file vect.h.

Here is the caller graph for this function:

◆ dist_2()

template<typename V >
V opencarp::dist_2 ( const vec3< V > &  p1,
const vec3< V > &  p2 
)
inline

Definition at line 102 of file vect.h.

Here is the caller graph for this function:

◆ dot()

template<typename V >
V opencarp::dot ( const vec3< V > &  p1,
const vec3< V > &  p2 
)
inline

Definition at line 125 of file vect.h.

Here is the caller graph for this function:

◆ dupstr()

char * opencarp::dupstr ( const char *  old_str)

duplicates a string

Parameters
old_strstring that needs to be duplicated
Returns
duplicated string

Definition at line 44 of file basics.cc.

Here is the caller graph for this function:

◆ f_close()

void opencarp::f_close ( FILE_SPEC f)

Close a FILE_SPEC.

Parameters
fthe FILE_SPEC to close;

Definition at line 162 of file basics.cc.

Here is the caller graph for this function:

◆ f_exist()

bool opencarp::f_exist ( const char *  fname)

check existence of file

Parameters
[in]fnamename of file
Returns
true, if file exists false, otherwise

Definition at line 130 of file basics.cc.

◆ f_gets_par()

char * opencarp::f_gets_par ( char *  s,
int  size,
FILE_SPEC  stream,
MPI_Comm  comm 
)

Definition at line 199 of file basics.cc.

Here is the caller graph for this function:

◆ f_open()

FILE_SPEC opencarp::f_open ( const char *  fname,
const char *  mode 
)

Open a FILE_SPEC.

Parameters
fnameFile name
modeMode for fopen()
Returns
The new FILE_SPEC pointer

Definition at line 135 of file basics.cc.

Here is the caller graph for this function:

◆ f_read_par()

void opencarp::f_read_par ( void *  ptr,
size_t  size,
size_t  nmemb,
FILE_SPEC  stream,
MPI_Comm  comm = PETSC_COMM_WORLD 
)

Parallel fread. Root reads, then broadcasts.

Parameters
ptrPointer to the buffer we read into
sizeData type size_t
nmembNumber of data members to read
streamFILE_SPEC to use.
commThe MPI communicator to use.

Definition at line 171 of file basics.cc.

Here is the caller graph for this function:

◆ f_write_par()

void opencarp::f_write_par ( void *  ptr,
size_t  size,
size_t  nmemb,
int  source_pid,
FILE_SPEC  stream,
MPI_Comm  comm = PETSC_COMM_WORLD 
)

Write in parallel. Data comes from one rank, rank 0 writes.

Parameters
ptrBuffer to write. Needs only be allocated on rank source_pid.
sizeSize of data type.
nmembNumber of data members. Needs only be set on rank source_pid.
source_pidThe PID of the rank the data is on.
streamThe file we write to. Needs only be valid rank 0.
commThe MPI communicator to use.

Definition at line 179 of file basics.cc.

◆ file_can_be_opened()

bool opencarp::file_can_be_opened ( const char *  file)

Check wheterh a file can be opened for reading.

Parameters
filePath to the file to check.
Returns
Whether the file could be opened.

Definition at line 301 of file basics.cc.

◆ find_SV_in_IMP()

void* opencarp::find_SV_in_IMP ( limpet::MULTI_IF miif,
const int  idx,
const char *  IMP,
const char *  SV,
int *  offset,
int *  sz 
)

search an IMP and its plugins for a state variable

Parameters
[in]miifionic structure
[in]inxregion index of the miif to search
[in]IMPIMP name to look in
[in]SVstate variable to find
[out]offsetoffset into IMP state variable structure
[out]szsize of SV structure
Returns
the function to extract the desired SV, NULL if SV not found

Definition at line 480 of file ionics.cc.

Here is the caller graph for this function:

◆ get_basename()

std::string opencarp::get_basename ( const std::string &  path)

Definition at line 61 of file basics.cc.

Here is the caller graph for this function:

◆ get_conductivity()

void opencarp::get_conductivity ( const double *  evals,
const SF::Point f,
const SF::Point s,
SF::dmat< double > &  cond 
)

Definition at line 117 of file electric_integrators.cc.

Here is the caller graph for this function:

◆ get_conductivity_evals()

void opencarp::get_conductivity_evals ( const elecMaterial emat,
const bool  is_bath,
double *  evals 
)

Definition at line 86 of file electric_integrators.cc.

Here is the caller graph for this function:

◆ get_data()

sf_vec * opencarp::get_data ( datavec_t  d)

Retrieve a petsc data vector from the data registry.

Parameters
dThe identifier of the data vector.
Returns
A pointer to the data vector.

Definition at line 834 of file sim_utils.cc.

Here is the caller graph for this function:

◆ get_file_dir()

char * opencarp::get_file_dir ( const char *  file)

Definition at line 1231 of file sim_utils.cc.

Here is the caller graph for this function:

◆ get_global() [1/2]

template<typename T >
T opencarp::get_global ( in,
MPI_Op  OP,
MPI_Comm  comm = PETSC_COMM_WORLD 
)
inline

Do a global reduction on a variable.

The variable gets internally cast to a double, then reduced and then cast back.

Template Parameters
TVariable type.
Parameters
inLocal input variable.
OPMPI operation to perform.
Returns
Globally reduced variable.

Definition at line 233 of file basics.h.

Here is the caller graph for this function:

◆ get_global() [2/2]

template<typename T >
void opencarp::get_global ( SF::vector< T > &  vec,
int  sender = 0,
MPI_Comm  comm = PETSC_COMM_WORLD 
)
inline

Broadcast a SF::vector to all processes.

Template Parameters
TDatatype of vector entries
Parameters
vecThe vector we globalize
sender

Definition at line 264 of file basics.h.

◆ get_global< int >()

template<>
int opencarp::get_global< int > ( int  in,
MPI_Op  OP,
MPI_Comm  comm 
)
inline

Definition at line 241 of file basics.h.

◆ get_global< long int >()

template<>
long int opencarp::get_global< long int > ( long int  in,
MPI_Op  OP,
MPI_Comm  comm 
)
inline

Definition at line 249 of file basics.h.

◆ get_kappa()

void opencarp::get_kappa ( sf_vec kappa,
IMPregion *  ir,
limpet::MULTI_IF miif,
double  k 
)

compute the vector $\kappa = \frac{\beta C_m}{\Delta t}$

$\beta$ is the membrane surface area per unit tissue volume

Parameters
kappaspatially varying kappa in vector form
irimp regions array provided by param
miifmiif class holding the ionic parameters
kregion-independent scaling factor

Definition at line 778 of file electrics.cc.

Here is the caller graph for this function:

◆ get_mesh()

sf_mesh & opencarp::get_mesh ( const mesh_t  gt)

Get a mesh by specifying the gridID.

Parameters
gtThe grid ID.
Returns
The SF meshdata

Definition at line 33 of file sf_interface.cc.

Here is the caller graph for this function:

◆ get_mesh_dim()

short opencarp::get_mesh_dim ( mesh_t  id)

get (lowest) dimension of the mesh used in the experiment

Definition at line 1255 of file sim_utils.cc.

Here is the caller graph for this function:

◆ get_mesh_type_name()

const char * opencarp::get_mesh_type_name ( mesh_t  t)

get a char* to the name of a mesh type

Definition at line 46 of file sf_interface.cc.

Here is the caller graph for this function:

◆ get_permutation()

SF::scattering * opencarp::get_permutation ( const int  mesh_id,
const int  perm_id,
const int  dpn 
)

Get the PETSC to canonical permutation scattering for a given mesh and number of dpn.

Parameters
mesh_idThe mesh id.
perm_idThe permutation specifier index (see sf_interface.h).
dpnDegrees of freedom per node.
Returns
The scattering.

Definition at line 204 of file sf_interface.cc.

Here is the caller graph for this function:

◆ get_physics()

Basic_physic * opencarp::get_physics ( physic_t  p,
bool  error_if_missing = true 
)

Convinience function to get a physics.

Parameters
pThe physics type.
Returns
A pointer to the physics. NULL if physics is not present.

Definition at line 818 of file sim_utils.cc.

Here is the caller graph for this function:

◆ get_preferred_int_order()

int opencarp::get_preferred_int_order ( SF::elem_t etype,
int  mat_type 
)
inline

Definition at line 34 of file electric_integrators.cc.

Here is the caller graph for this function:

◆ get_protocol_column_widths()

void opencarp::get_protocol_column_widths ( std::vector< int > &  col_width,
std::vector< int > &  used_timer_ids 
)

Definition at line 493 of file sim_utils.cc.

Here is the caller graph for this function:

◆ get_rank()

int opencarp::get_rank ( MPI_Comm  comm = PETSC_COMM_WORLD)
inline

get the rank of the process

Returns
the rank of the process

Definition at line 276 of file basics.h.

Here is the caller graph for this function:

◆ get_remote_size()

int opencarp::get_remote_size ( MPI_Comm  intercomm)
inline

Definition at line 299 of file basics.h.

Here is the caller graph for this function:

◆ get_scattering() [1/2]

SF::scattering * opencarp::get_scattering ( const int  from,
const int  to,
const SF::SF_nbr  nbr,
const int  dpn 
)

Get a scattering from the global scatter registry.

Parameters
[in]fromThe mesh ID we scatter from.
[in]toThe mesh ID we scatter to, or ALG_TO_NODAL.
[in]nbrThe used numbering.
[in]dpnThe degrees of freedom per node.
Returns
The requested scattering.

Definition at line 121 of file sf_interface.cc.

Here is the caller graph for this function:

◆ get_scattering() [2/2]

SF::scattering* opencarp::get_scattering ( const int  from,
const int  to,
const int  dpn 
)
inline

Definition at line 153 of file sf_interface.h.

◆ get_size()

int opencarp::get_size ( MPI_Comm  comm = PETSC_COMM_WORLD)
inline

allows to determine if we are running sequentially or in parallel.

Return values
0sequential code
>=1number of processes for parallel code

Definition at line 290 of file basics.h.

Here is the caller graph for this function:

◆ get_stim_list()

void opencarp::get_stim_list ( const char *  str_list,
std::vector< double > &  stlist 
)

Definition at line 264 of file stimulate.cc.

Here is the caller graph for this function:

◆ get_time() [1/2]

void opencarp::get_time ( double &  tm)
inline

Definition at line 436 of file basics.h.

Here is the caller graph for this function:

◆ get_time() [2/2]

double opencarp::get_time ( )
inline

Definition at line 441 of file basics.h.

◆ get_tsav_ext()

const char* opencarp::get_tsav_ext ( double  time)

helper function to get the tsav_ext string where the associated tsav value is closest to a given time

Definition at line 836 of file electrics.cc.

◆ get_volume_from_nodes()

SF_real opencarp::get_volume_from_nodes ( sf_mat mass,
SF::vector< mesh_int_t > &  local_idx 
)

Definition at line 202 of file fem_utils.cc.

Here is the caller graph for this function:

◆ has_char()

bool opencarp::has_char ( char *  buff,
const int  buffsize,
const char  c 
)
inline

Definition at line 368 of file basics.h.

Here is the caller graph for this function:

◆ have_dbc_stims()

bool opencarp::have_dbc_stims ( const SF::vector< stimulus > &  stimuli)

return wheter any stimuli require dirichlet boundary conditions

Definition at line 825 of file electrics.cc.

Here is the caller graph for this function:

◆ have_permutation()

bool opencarp::have_permutation ( const int  mesh_id,
const int  perm_id,
const int  dpn 
)

Definition at line 215 of file sf_interface.cc.

Here is the caller graph for this function:

◆ have_scattering() [1/2]

bool opencarp::have_scattering ( const int  from,
const int  to,
const SF::SF_nbr  nbr,
const int  dpn 
)

Definition at line 132 of file sf_interface.cc.

Here is the caller graph for this function:

◆ have_scattering() [2/2]

bool opencarp::have_scattering ( const int  from,
const int  to,
const int  dpn 
)
inline

Definition at line 157 of file sf_interface.h.

◆ IGB_convert_buffer_datum()

template<class T >
T opencarp::IGB_convert_buffer_datum ( IGBheader ,
void *  buf,
int  a 
)

◆ ignore_extracellular_stim()

void opencarp::ignore_extracellular_stim ( Stimulus *  st,
int  ns,
int  ignore 
)

for monodomain simulations, ignore extracellular current and potentials and convert intracellular current injection to transmembrane

Parameters
stspecified stimuli ns #stimuli
ignoreflags type of stimuli to ignore 0: ignore extracellular GND 1: ignore extracellular voltage 2: ignore extracellular current
Postcondition
all stimuli which are not relevant for a particular mode are ignored by setting their type to Ignore_Stim

Definition at line 151 of file sim_utils.cc.

Here is the caller graph for this function:

◆ indices_from_geom_shape()

void opencarp::indices_from_geom_shape ( SF::vector< mesh_int_t > &  idx,
const sf_mesh mesh,
const geom_shape  shape,
const bool  nodal 
)

Populate vertex data with the vertices inside a defined box shape.

Parameters
meshThe mesh.
shapeThe shape we test against.
nodalWhether to test mesh nodes, or mesh elements.
Postcondition
idx has been populated.

Definition at line 169 of file fem_utils.cc.

Here is the caller graph for this function:

◆ indices_from_region_tag()

void opencarp::indices_from_region_tag ( SF::vector< mesh_int_t > &  idx,
const sf_mesh mesh,
const int  tag 
)

Populate vertex data with the vertices of a given tag region.

Parameters
meshThe mesh.
tagThe tag region to compute the vertices for.
Postcondition
idx has been populated.

Definition at line 155 of file fem_utils.cc.

Here is the caller graph for this function:

◆ infnorm()

template<typename V >
double opencarp::infnorm ( const vec3< V > &  a)
inline

Definition at line 322 of file vect.h.

◆ init_console_output()

void opencarp::init_console_output ( const timer_manager tm,
prog_stats p 
)

Definition at line 701 of file sim_utils.cc.

Here is the caller graph for this function:

◆ init_iterations_logger()

void opencarp::init_iterations_logger ( FILE_SPEC *&  logger,
const char *  filename 
)

init a logger for solver iterations

◆ init_stim_info()

void opencarp::init_stim_info ( void  )

< transmembrane current

< extracellular current, volumetric source density

< extracellular voltage, closed loop

< ground (extracellular voltage)

< intracellular current

< extracellular voltage, open loop

<

< acts as transmembrane current stimulus

< clamps transmembrane voltate

< extracellular voltage, open loop

Definition at line 49 of file stimulate.cc.

Here is the caller graph for this function:

◆ init_sv_gvec()

void opencarp::init_sv_gvec ( gvec_data GVs,
limpet::MULTI_IF miif,
sf_vec tmpl,
igb_output_manager output_manager 
)

initialize the global state variable dumps

Parameters
GVsSV dumps
miifionic models
purkPurkine system
tmotimer
gridon what to output
tmpltemplate vector to decide on parallel layout
Postcondition
more outputs are added to the grid

Definition at line 556 of file ionics.cc.

Here is the caller graph for this function:

◆ initialize_physics()

void opencarp::initialize_physics ( )

Initialize all physics in the registry.

Definition at line 100 of file sim_utils.cc.

Here is the caller graph for this function:

◆ initialize_sv_dumps()

void opencarp::initialize_sv_dumps ( limpet::MULTI_IF pmiif,
IMPregion *  reg,
int  id,
double  t,
double  dump_dt 
)

wrapper function to initialize the list for sv dumping

Parameters
miifmulti-ionic interface structure
regregion
idID of current region
Note
We assume that the region PrM structure is global

Definition at line 279 of file ionics.cc.

Here is the caller graph for this function:

◆ is_big_endian()

bool opencarp::is_big_endian ( )

determine endianness of a machine

Return values
trueif machine is bigendian
falseif machine is littleendian

Definition at line 290 of file basics.cc.

Here is the caller graph for this function:

◆ is_current()

bool opencarp::is_current ( stim_t  type)

uses current as stimulation

Definition at line 71 of file stimulate.cc.

Here is the caller graph for this function:

◆ is_dbc()

bool opencarp::is_dbc ( stim_t  type)

whether stimulus is a dirichlet type. implies boundary conditions on matrix

Definition at line 76 of file stimulate.cc.

Here is the caller graph for this function:

◆ is_extra()

bool opencarp::is_extra ( stim_t  type)

whether stimulus is on extra grid (or on intra)

Definition at line 81 of file stimulate.cc.

Here is the caller graph for this function:

◆ is_voltage()

bool opencarp::is_voltage ( stim_t  type)

uses voltage as stimulation

Parameters
typeuses voltage as stimulation

Definition at line 65 of file stimulate.cc.

Here is the caller graph for this function:

◆ isNaN()

template<typename V >
bool opencarp::isNaN ( vec3< V >  a)
inline

check for NaN's

Definition at line 315 of file vect.h.

◆ log_msg()

void opencarp::log_msg ( FILE_SPEC  out,
int  level,
unsigned char  flag,
const char *  fmt,
  ... 
)

output message into a log file

Parameters
outoutput location, NULL implies ECHO
levelSeverity level of message (0-5)
flagsthe following may be or'ed:
  • ECHO: print to screen
  • LOCAL: every instance prints locally, must FLUSH to see output
  • SYNCED: output all in order on rank 0
  • FLUSH: flush output, this is collective
  • NONL: no new line at end By default, if out is NULL, the message is printed on the screen, and only rank 0 prints
fmtformat string for printf
...values for format string
Note
levels range from 0 to MAX_LOG_LEVEL with 0 being normal and MAX_LOG_LEVEL indicating catastrophic failure. Levels greater than 0 are "errors" have the message prepended with the level.
a new line will be appended to the message unless NONL is specified
Precondition
_hdf5_out must be set before this routine is called
Note
to flush only, set fmt to NULL

Definition at line 72 of file basics.cc.

◆ mag()

template<typename V >
V opencarp::mag ( const vec3< V > &  vect)
inline

Definition at line 131 of file vect.h.

Here is the caller graph for this function:

◆ mag2()

template<typename V >
V opencarp::mag2 ( const vec3< V > &  vect)
inline

Definition at line 138 of file vect.h.

Here is the caller graph for this function:

◆ matrix_mathematica()

void opencarp::matrix_mathematica ( int  n,
double **  a,
char *  outfile 
)
inline

Definition at line 264 of file vect.h.

◆ mesh_is_registered()

bool opencarp::mesh_is_registered ( const mesh_t  gt)

check wheter a SF mesh is set

Definition at line 59 of file sf_interface.cc.

Here is the caller graph for this function:

◆ mid_point()

template<typename V >
vec3<V> opencarp::mid_point ( vec3< V >  a,
vec3< V >  b 
)
inline

Definition at line 231 of file vect.h.

◆ my_fputs()

int opencarp::my_fputs ( FILE *  ,
char *   
)

◆ normalize()

template<typename V >
vec3<V> opencarp::normalize ( vec3< V >  a)
inline

Definition at line 198 of file vect.h.

Here is the caller graph for this function:

◆ operator*()

template<typename V >
vec3<V> opencarp::operator* ( const vec3< V > &  a,
k 
)
inline

Definition at line 156 of file vect.h.

◆ operator+()

template<typename V >
vec3<V> opencarp::operator+ ( const vec3< V > &  a,
const vec3< V > &  b 
)
inline

Definition at line 188 of file vect.h.

◆ operator-()

template<typename V >
vec3<V> opencarp::operator- ( const vec3< V > &  a,
const vec3< V > &  b 
)
inline

Definition at line 179 of file vect.h.

◆ operator/()

template<typename V >
vec3<V> opencarp::operator/ ( const vec3< V > &  a,
k 
)
inline

Definition at line 162 of file vect.h.

◆ output_all_activations()

int opencarp::output_all_activations ( FILE_SPEC  fp,
int *  ibuf,
double *  act_tbuf,
int  nlacts 
)

Definition at line 1536 of file electrics.cc.

Here is the caller graph for this function:

◆ output_meshes()

void opencarp::output_meshes ( )

Output the meshes specified by the user

Definition at line 1164 of file sim_utils.cc.

Here is the caller graph for this function:

◆ output_parameter_file()

void opencarp::output_parameter_file ( const char *  fname,
int  argc,
char **  argv 
)

output the command line and convert to a single parameter file

This involves including any parameter files specified with +F and stripping hyphens from command line options

Parameters
fnameoutput file name
argcnumber of arguments
argvarguments

Definition at line 1517 of file sim_utils.cc.

Here is the caller graph for this function:

◆ p_project()

template<typename V >
vec3<V> opencarp::p_project ( vec3< V >  A,
vec3< V >  B 
)
inline

project vector B onto unit normal A

Definition at line 292 of file vect.h.

Here is the caller graph for this function:

◆ p_transverse()

template<typename V >
vec3<V> opencarp::p_transverse ( vec3< V >  A,
vec3< V >  B 
)
inline

determines the orthogonal vector to the projection

Definition at line 300 of file vect.h.

◆ parse_comment_line()

void opencarp::parse_comment_line ( char *  buff,
const int  buffsize,
std::map< std::string, std::string > &  metadata 
)

Definition at line 32 of file fem_utils.cc.

Here is the caller graph for this function:

◆ parse_mesh_types()

void opencarp::parse_mesh_types ( )

Parse the phys_type CLI parameters and set up (empty) SF::meshdata meshes.

Postcondition
The mesh registry is filled with SF::meshdata structs associated to the physics specified in the phys_region params.

Definition at line 854 of file sim_utils.cc.

Here is the caller graph for this function:

◆ parse_params_cpy()

void opencarp::parse_params_cpy ( int  argc,
char **  argv 
)

Initialize input parameters on a copy of the real command line parameters.

Parameters
argcThe true parameter count.
argvThe true cli parameters.

Definition at line 46 of file sim_utils.cc.

Here is the caller graph for this function:

◆ path_is_absolute()

bool opencarp::path_is_absolute ( const char *  path)

check whether path is absolute

Definition at line 319 of file basics.cc.

◆ plot_protocols()

int opencarp::plot_protocols ( const char *  )

plot simulation protocols (I/O timers, stimuli, boundary conditions, etc)

plot experimental/simulation protocols by stepping through all timers

Returns
-1, if protocol output file opening failure

Definition at line 536 of file sim_utils.cc.

Here is the caller graph for this function:

◆ point_in_shape()

bool opencarp::point_in_shape ( const Point p,
const geom_shape shape 
)

test if a point is inside a simple geometric shape

Definition at line 250 of file basics.cc.

Here is the caller graph for this function:

◆ post_process()

void opencarp::post_process ( )

do postprocessing

Definition at line 802 of file sim_utils.cc.

Here is the caller graph for this function:

◆ postproc_recover_phie()

int opencarp::postproc_recover_phie ( )

Definition at line 1927 of file electrics.cc.

Here is the caller graph for this function:

◆ print_act_log()

void opencarp::print_act_log ( FILE_SPEC  logger,
const SF::vector< Activation > &  acts,
int  idx 
)

Definition at line 1442 of file electrics.cc.

Here is the caller graph for this function:

◆ print_element_info()

void opencarp::print_element_info ( const SF::element_view< mesh_int_t, mesh_real_t > &  elem,
const int *  reg,
const double  vol,
const double *  eVals,
const char *  msg_start 
)

Definition at line 58 of file electric_integrators.cc.

Here is the caller graph for this function:

◆ print_points()

void opencarp::print_points ( SF::Point pts,
int  npts 
)

Definition at line 145 of file electric_integrators.cc.

Here is the caller graph for this function:

◆ read_bin_string()

char * opencarp::read_bin_string ( FILE_SPEC  in)

read the length of a string followed by the string from a binary file

Parameters
inthe stream
Note
memory is allocated
Returns
the string

Definition at line 228 of file basics.cc.

Here is the caller graph for this function:

◆ read_bin_string_par()

char * opencarp::read_bin_string_par ( FILE_SPEC  in)

MPI - parallel version of read_bin_string

read the length of a string followed by the string from a binary file

Parameters
inthe stream
Note
memory is allocated
Returns
the string

Definition at line 239 of file basics.cc.

Here is the caller graph for this function:

◆ read_IGB_data()

template<class T >
int opencarp::read_IGB_data ( T *  dp,
int  numt,
IGBheader h,
char *  buf = NULL 
)

◆ read_indices() [1/3]

template<class T >
void opencarp::read_indices ( SF::vector< T > &  idx,
const std::string  filename,
const hashmap::unordered_map< mesh_int_t, mesh_int_t > &  dd_map,
MPI_Comm  comm 
)
inline

Read indices from a file.

Template Parameters
TThe index type.
Parameters
[out]idxVector with indices in local indexing.
[in]filenameFile path to read from.
[in]dd_mapGlobal to local map.
[in]commMPI communicator

Definition at line 120 of file fem_utils.h.

Here is the caller graph for this function:

◆ read_indices() [2/3]

template<class T >
void opencarp::read_indices ( SF::vector< T > &  idx,
const std::string  filename,
const sf_mesh mesh,
const SF::SF_nbr  nbr,
const bool  algebraic,
MPI_Comm  comm 
)
inline

Read indices from a file.

The global indices are mapped by a global-to-local map constrcuted from mesh, numbering and algebraic flag.

Template Parameters
TThe index type.
Parameters
[out]idxVector with indices in local indexing.
[in]filenameFile path to read from.
[in]meshThe local mesh we localize on.
[in]nbrThe numbering we localize for.
[in]algebraicWhether to keep the data nodal (overlapping) or algebraic (non-overlapping)
[in]commMPI communicator

Definition at line 216 of file fem_utils.h.

◆ read_indices() [3/3]

template<class T >
void opencarp::read_indices ( SF::vector< T > &  idx,
const std::string  filename,
const SF::vector< mesh_int_t > &  dd_nbr,
MPI_Comm  comm 
)
inline

Read indices from a file.

The global indices are mapped by a global-to-local map constrcuted from a indexing vector.

Template Parameters
TThe index type.
Parameters
[out]idxVector with indices in local indexing.
[in]filenameFile path to read from.
[in]dd_nbrIndexing vector used to construct global-to-local map.
[in]commMPI communicator

Definition at line 254 of file fem_utils.h.

◆ read_indices_global()

template<class T >
void opencarp::read_indices_global ( SF::vector< T > &  idx,
const std::string  filename,
MPI_Comm  comm 
)
inline

Definition at line 53 of file fem_utils.h.

◆ read_indices_with_data() [1/3]

template<class T , class S >
void opencarp::read_indices_with_data ( SF::vector< T > &  idx,
SF::vector< S > &  dat,
const std::string  filename,
const hashmap::unordered_map< mesh_int_t, mesh_int_t > &  dd_map,
const int  dpn,
MPI_Comm  comm 
)
inline

like read_indices, but with associated data for each index

Definition at line 269 of file fem_utils.h.

Here is the caller graph for this function:

◆ read_indices_with_data() [2/3]

template<class T , class S >
void opencarp::read_indices_with_data ( SF::vector< T > &  idx,
SF::vector< S > &  dat,
const std::string  filename,
const sf_mesh mesh,
const SF::SF_nbr  nbr,
const bool  algebraic,
const int  dpn,
MPI_Comm  comm 
)
inline

like read_indices, but with associated data for each index

Definition at line 375 of file fem_utils.h.

◆ read_indices_with_data() [3/3]

template<class T , class S >
void opencarp::read_indices_with_data ( SF::vector< T > &  idx,
SF::vector< S > &  dat,
const std::string  filename,
const SF::vector< mesh_int_t > &  dd_nbr,
const int  dpn,
MPI_Comm  comm 
)
inline

like read_indices, but with associated data for each index

Definition at line 403 of file fem_utils.h.

◆ read_metadata()

void opencarp::read_metadata ( const std::string  filename,
std::map< std::string, std::string > &  metadata,
MPI_Comm  comm 
)

Read metadata from the header.

Parameters
filenameFilename to read from.
metadataMetadata we populate.
commMPI communicator to use for parallel communication.

Definition at line 72 of file fem_utils.cc.

Here is the caller graph for this function:

◆ recover_phie_std()

void opencarp::recover_phie_std ( sf_vec vm,
phie_recovery_data rcv 
)

Definition at line 1867 of file electrics.cc.

Here is the caller graph for this function:

◆ region_mask()

void opencarp::region_mask ( mesh_t  meshspec,
SF::vector< RegionSpecs > &  regspec,
SF::vector< int > &  regionIDs,
bool  mask_elem,
const char *  reglist 
)

classify elements/points as belonging to a region

Element tags in the elem files are grouped to construct regions. If points are to be assigned to a region, points on the boundary between regions belong to several regions. In this case, the point is assigned to the region with the highest number

Parameters
meshspecIdentifier for the mesh we work on.
regspecVector or region spec structs
regionIDsVector of element/nodal IDs (mapping into the region spec vec).
mask_elemWhether we mask elements or points.
reglistA string naming to region we work on for output.
Postcondition
The array holding the element region identifiers is allocated and filled. If there is only 1 region, regionIDs is set to NULL

Definition at line 356 of file ionics.cc.

Here is the caller graph for this function:

◆ register_data()

void opencarp::register_data ( sf_vec dat,
datavec_t  d 
)

Register a data vector in the global registry.

Parameters
datA pointer to the data vector.
dThe identifier of the data vector.

Definition at line 844 of file sim_utils.cc.

Here is the caller graph for this function:

◆ register_permutation()

SF::scattering * opencarp::register_permutation ( const int  mesh_id,
const int  perm_id,
const int  dpn 
)

Register a permutation between two orderings for a mesh.

Parameters
mesh_idThe mesh we register the permutation for.
perm_idThe permutation specifier index (see sf_interface.h).
dpnDegrees of freedom per node.
Returns
The registered permutation scattering pointer.

Definition at line 141 of file sf_interface.cc.

Here is the caller graph for this function:

◆ register_physics()

void opencarp::register_physics ( )

Register physics to the physics registry.

Definition at line 89 of file sim_utils.cc.

Here is the caller graph for this function:

◆ register_scattering() [1/2]

SF::scattering * opencarp::register_scattering ( const int  from,
const int  to,
const SF::SF_nbr  nbr,
const int  dpn 
)

Register a scattering between to grids, or between algebraic and nodal representation of data on the same grid.

Parameters
fromThe mesh ID we scatter from.
toThe mesh ID we scatter to, or ALG_TO_NODAL.
nbrThe used numbering.
dpnThe degrees of freedom per node.

Definition at line 65 of file sf_interface.cc.

Here is the caller graph for this function:

◆ register_scattering() [2/2]

SF::scattering* opencarp::register_scattering ( const int  from,
const int  to,
const int  dpn 
)
inline

Definition at line 123 of file sf_interface.h.

◆ remove_char()

void opencarp::remove_char ( char *  buff,
const int  buffsize,
const char  c 
)
inline

Definition at line 356 of file basics.h.

Here is the caller graph for this function:

◆ remove_preceding_char()

void opencarp::remove_preceding_char ( char *  buff,
const int  buffsize,
const char  c 
)
inline

Definition at line 345 of file basics.h.

Here is the caller graph for this function:

◆ renormalise_fibres()

size_t opencarp::renormalise_fibres ( SF::vector< mesh_real_t > &  fib,
size_t  l_numelem 
)

Definition at line 962 of file sim_utils.cc.

Here is the caller graph for this function:

◆ retag_elements()

void opencarp::retag_elements ( sf_mesh mesh,
TagRegion *  tagRegs,
int  ntr 
)

retag elements based on user defined regions

Parameters
nlnode list
elistElement list
tagregtag regions
ntr#tag regions
Postcondition
elst->Elemtags will be altered
If there is retagging, a data file will be produced showing the element regions on the nodes

Definition at line 913 of file sim_utils.cc.

Here is the caller graph for this function:

◆ rotate_x()

template<typename V >
vec3<V> opencarp::rotate_x ( vec3< V >  p,
double  theta 
)
inline

Definition at line 256 of file vect.h.

◆ rotate_y()

template<typename V >
vec3<V> opencarp::rotate_y ( vec3< V >  p,
double  theta 
)
inline

Definition at line 247 of file vect.h.

◆ rotate_z()

template<typename V >
vec3<V> opencarp::rotate_z ( vec3< V >  p,
double  theta 
)
inline

Definition at line 238 of file vect.h.

◆ sample_wave_form()

void opencarp::sample_wave_form ( stim_pulse sp,
int  idx 
)

sample a signal given in analytic form

Sample a stim pulse wave form.

Parameters
spstimulus pulse to be sampled
idxindex of stimulus definition in stimulus array
Postcondition
data vector of stim pulse sp is filled with sampled data
Parameters
spStim pulse struct.
idxparam_globals stimulus index.

Definition at line 365 of file stimulate.cc.

Here is the caller graph for this function:

◆ savequit()

void opencarp::savequit ( )

save state and quit simulator

Definition at line 1602 of file sim_utils.cc.

Here is the caller graph for this function:

◆ scal_X()

template<typename V , typename S >
vec3<V> opencarp::scal_X ( const vec3< V > &  a,
k 
)
inline

Definition at line 150 of file vect.h.

Here is the caller graph for this function:

◆ scale3()

template<typename V >
vec3<V> opencarp::scale3 ( const vec3< V > &  a,
const vec3< V > &  k 
)
inline

Definition at line 168 of file vect.h.

◆ set_cond_type()

void opencarp::set_cond_type ( MaterialType m,
cond_t  type 
)

set conductivity tensor modifier type for each material in a grid

Parameters
[in]melectrical material properties
[in]typemodifier type, rule for assembling the tensor
Postcondition
type in each material is set to selected type

Definition at line 802 of file electrics.cc.

Here is the caller graph for this function:

◆ set_dir()

int opencarp::set_dir ( IO_t  dest)

set the current working directory

Parameters
desteither INPUT, OUTPUT or POSTPROC
Postcondition
the current working directory is changed

Definition at line 446 of file sim_utils.cc.

Here is the caller graph for this function:

◆ set_elec_tissue_properties()

void opencarp::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.

Parameters
gThe electrics grid we want to set up.

Definition at line 100 of file electrics.cc.

Here is the caller graph for this function:

◆ set_ignore_flags()

int opencarp::set_ignore_flags ( int  mode)

set flags to select which extracellular stimuli types are ignored and convert intracellular current injection to transmembrane

Parameters
modesimulation modes (MONODOMAIN, BIDOMAIN, PSEUDO_BIDM)
Returns
bits set for ignoring stimuli

Definition at line 177 of file sim_utils.cc.

Here is the caller graph for this function:

◆ set_io_dirs()

void opencarp::set_io_dirs ( char *  sim_ID,
char *  pp_ID,
IO_t  init 
)

set the I/O directories

Parameters
argc#words on command line
argvthe words
sim_IDID for naming output dir
pp_IDID for naming the postprocessing directory
Precondition
the output dir does not exist but all components in path up to it do
Postcondition
output_dir is set to sim_ID, postproc_dir to pp_ID, and input_dir is set is set to the directory from which the executable was called
the input parameter file is copied to the output directory

Definition at line 317 of file sim_utils.cc.

Here is the caller graph for this function:

◆ setup_dataout()

void opencarp::setup_dataout ( const int  dataout,
std::string  dataout_vtx,
mesh_t  grid,
SF::vector< mesh_int_t > *&  restr,
bool  async = false 
)

setup the restriction indices vector. the indices we store depends on how we do output, see below.

Definition at line 591 of file electrics.cc.

Here is the caller graph for this function:

◆ setup_IO()

bool opencarp::setup_IO ( int  argc,
char **  argv 
)

Definition at line 388 of file sim_utils.cc.

Here is the caller graph for this function:

◆ setup_meshes()

void opencarp::setup_meshes ( )

Read in the reference mesh and use its data to populate all meshes registered in the mesh registry.

Postcondition
The meshes in the mesh registry are set up

Definition at line 986 of file sim_utils.cc.

Here is the caller graph for this function:

◆ setup_petsc_err_log()

void opencarp::setup_petsc_err_log ( )

set up error logs for PETSc, so that it doesnt print errors to stderr.

Definition at line 1240 of file sim_utils.cc.

Here is the caller graph for this function:

◆ setup_phie_recovery_data()

void opencarp::setup_phie_recovery_data ( phie_recovery_data data)

Definition at line 2006 of file electrics.cc.

Here is the caller graph for this function:

◆ show_build_info()

void opencarp::show_build_info ( )

show the build info, exit if -buildinfo was provided. This code runs before MPI_Init().

Definition at line 219 of file sim_utils.cc.

Here is the caller graph for this function:

◆ simulate()

void opencarp::simulate ( )

Main simulate loop.

Definition at line 754 of file sim_utils.cc.

Here is the caller graph for this function:

◆ skip_comments()

char * opencarp::skip_comments ( FILE_SPEC  stream,
char *  readbuff,
size_t  buffsize,
MPI_Comm  comm 
)

Definition at line 143 of file fem_utils.cc.

Here is the caller graph for this function:

◆ sltlst_append()

void opencarp::sltlst_append ( Salt_list sl,
void *  p,
int  quantum 
)

append to a list, allocating more memory if necessary

Parameters
slthe list
pitem to add
quantumsize of items in bytes
Note
If the chunk size is 0, it will not work so the chunk size will be set to 1 automatically.

Definition at line 33 of file basics.cc.

◆ split_string()

template<class STRVEC >
void opencarp::split_string ( const std::string &  input,
const char  s,
STRVEC &  list 
)

Split a string holding a character-seperated list into a vector of strings.

Template Parameters
STRVECvector-of-string type, e.g. std::vector<std::string> or SF::vector<std::string>
Parameters
[in]inputstring holding list
[in]scharacter delimiting the list entries
[out]listthe parsed list

Definition at line 103 of file basics.h.

Here is the caller graph for this function:

◆ stimidx_from_timeridx()

int opencarp::stimidx_from_timeridx ( const SF::vector< stimulus > &  stimuli,
const int  timer_id 
)

determine link between timer and stimulus

figure out stimulus index linked to a given timer

Definition at line 750 of file electrics.cc.

Here is the caller graph for this function:

◆ stringify()

char * opencarp::stringify ( double  r)

convert a double into a string

Parameters
rthe number
Returns
a pointer to the string

Definition at line 54 of file basics.cc.

◆ time_to_string()

void opencarp::time_to_string ( float  time,
char *  str,
short  str_size 
)

Definition at line 717 of file sim_utils.cc.

Here is the caller graph for this function:

◆ timing()

template<typename V >
V opencarp::timing ( V &  t2,
const V &  t1 
)
inline

Definition at line 448 of file basics.h.

Here is the caller graph for this function:

◆ triple_prod()

template<typename V >
double opencarp::triple_prod ( vec3< V >  a,
vec3< V >  b,
vec3< V >  c 
)
inline

scalar triple product

Definition at line 308 of file vect.h.

◆ update_console_output()

void opencarp::update_console_output ( const timer_manager tm,
prog_stats p 
)

Definition at line 726 of file sim_utils.cc.

Here is the caller graph for this function:

◆ update_cwd()

void opencarp::update_cwd ( )

save the current working directory to curdir so that we can switch back to it if needed.

Definition at line 441 of file sim_utils.cc.

Here is the caller graph for this function:

◆ v_scale()

template<typename V >
double* opencarp::v_scale ( int  n,
double *  a,
double  k,
double *  b 
)
inline

Definition at line 209 of file vect.h.

◆ v_scale_f()

template<typename V >
float* opencarp::v_scale_f ( int  n,
float *  a,
double  k,
double *  b 
)
inline

Definition at line 220 of file vect.h.

◆ warn_when_passing_intra_vtx()

void opencarp::warn_when_passing_intra_vtx ( const std::string  filename)

Definition at line 224 of file fem_utils.cc.

Here is the caller graph for this function:

◆ write_bin_string()

void opencarp::write_bin_string ( FILE_SPEC  out,
const char *  s 
)

write the length of a string followed by the string to a binary file

Parameters
outthe stream
sthe string

Definition at line 219 of file basics.cc.

Here is the caller graph for this function:

Variable Documentation

◆ basetable

const uint16_t opencarp::basetable

Definition at line 23 of file short_float.cc.

◆ Data_Size

unsigned short opencarp::Data_Size
Initial value:
=
{
0, sizeof(Byte), sizeof(char), sizeof(short), sizeof(long), sizeof(float),
sizeof(double), 0, 0, 0, 0, sizeof(void *), 0, sizeof(int), sizeof(UInt),
sizeof(unsigned short),
3*sizeof(float), 3*sizeof(double), 4*sizeof(float), 4*sizeof(double),
sizeof(short_float), 9*sizeof(float), 9*sizeof(double)
}
uint16_t short_float
Definition: short_float.h:49
unsigned int UInt
Definition: IGBheader.h:138
unsigned char Byte
Definition: IGBheader.h:128

Definition at line 264 of file IGBheader.cc.

◆ deprecated

const char* opencarp::deprecated[]
Initial value:
= {
"fac_x", "fac_y", "fac_z", "fac_t"
}

list of deprecated keywords

Definition at line 259 of file IGBheader.cc.

◆ exponenttable

const uint32_t opencarp::exponenttable

Definition at line 3171 of file short_float.cc.

◆ Header_Message

char opencarp::Header_Message

Definition at line 247 of file IGBheader.cc.

◆ Header_Quiet

bool opencarp::Header_Quiet = false

Definition at line 246 of file IGBheader.cc.

◆ Header_Systeme

const char * opencarp::Header_Systeme
Initial value:
=
{
"big_endian",
"little_endian"
}

Definition at line 289 of file IGBheader.cc.

◆ Header_Systeme_No

unsigned long opencarp::Header_Systeme_No
Initial value:
=
{
}
#define IGB_BIG_ENDIAN
Definition: IGBheader.h:50
#define IGB_LITTLE_ENDIAN
Definition: IGBheader.h:51

Definition at line 282 of file IGBheader.cc.

◆ Header_Type

const char * opencarp::Header_Type
Initial value:
=
{
"", "byte", "char", "short", "long", "float", "double", "complex",
"double_complex", "rgba", "structure", "pointer", "list","int","uint",
"ushort",
"vec3f","vec3d","vec4f","vec4d","hfloat","vec9f","vec9d"
}

Definition at line 249 of file IGBheader.cc.

◆ mantissatable

const uint32_t opencarp::mantissatable

Definition at line 1053 of file short_float.cc.

◆ Num_Components

int opencarp::Num_Components
Initial value:
=
{
0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 3, 3, 4, 4, 1, 9, 9
}

the number of components for each data type

Definition at line 275 of file IGBheader.cc.

◆ offsettable

const uint16_t opencarp::offsettable

Definition at line 3104 of file short_float.cc.

◆ shifttable

const uint16_t opencarp::shifttable

Definition at line 538 of file short_float.cc.

◆ wfLabels

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

Definition at line 80 of file stimulate.h.