openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
fem_types.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // openCARP is an open cardiac electrophysiology simulator.
3 //
4 // Copyright (C) 2020 openCARP project
5 //
6 // This program is licensed under the openCARP Academic Public License (APL)
7 // v1.0: You can use and redistribute it and/or modify it in non-commercial
8 // academic environments under the terms of APL as published by the openCARP
9 // project v1.0, or (at your option) any later version. Commercial use requires
10 // a commercial license (info@opencarp.org).
11 //
12 // This program is distributed without any warranty; see the openCARP APL for
13 // more details.
14 //
15 // You should have received a copy of the openCARP APL along with this program
16 // and can find it online: http://www.opencarp.org/license
17 // ----------------------------------------------------------------------------
18 
28 #ifndef _FEM_TYPES_H
29 #define _FEM_TYPES_H
30 
31 #include "basics.h"
32 #include "SF_vector.h"
33 
34 namespace opencarp {
35 
40 
42 enum cond_t {
44 };
45 
46 // typedef CondTensModifier bidmT;
47 
52 struct physMaterial {
54  double fluct;
55 };
56 
57 
60 {
61  double InVal[3];
62  double ExVal[3];
63  double BathVal[3];
65  int *augment;
66  int nAug;
67 };
68 
69 
72 {
73  double InVal[3];
74  double ExVal[3];
75  double BathVal[3];
76  double clearance;
77  double basal_conc;
78 };
79 
82 {
83  int mode;
84  double Dil[3];
85  double Dem[3];
86  double muAil;
87  double muAem;
88 };
89 
90 // TODO: Write destructor for Regions
91 
93 struct RegionSpecs {
94  char *regname;
95  int regID;
96  int nsubregs;
97  int *subregtags;
99  void *customize;
100 };
101 
102 
104 // struct rndFluct {
105 // long rseed; //!< random seed
106 // double var; //!<
107 // };
108 
110 struct MaterialType {
111  // rndFluct rfluct; //!< random material variations
112  // double *fluct = NULL; //!< random fluctuation vector
113 
117 };
118 
119 } // namespace opencarp
120 
121 #endif
double basal_conc
basal concentration
Definition: fem_types.h:77
int * subregtags
FEM tags forming this region.
Definition: fem_types.h:97
char * regname
name of region
Definition: fem_types.h:94
int mode
0=illumination, 1=emmission
Definition: fem_types.h:83
The vector class and related algorithms.
cond_t g
rule to build conductivity tensor
Definition: fem_types.h:64
description of materal properties in a mesh
Definition: fem_types.h:110
physMaterial * material
material parameter description
Definition: fem_types.h:98
physMat_t
identifier for physical material properties
Definition: fem_types.h:39
cond_t
description of electrical tissue properties
Definition: fem_types.h:42
physMat_t material_type
ID of physics material.
Definition: fem_types.h:53
double muAil
absorption coefficient illumination
Definition: fem_types.h:86
SF::vector< int > regionIDs
elemental region IDs (multiple tags are grouped in one region)
Definition: fem_types.h:114
int nAug
number of augmented elements
Definition: fem_types.h:66
region based variations of arbitrary material parameters
Definition: fem_types.h:93
void * customize
any data for further customization
Definition: fem_types.h:99
int * augment
augmented element list
Definition: fem_types.h:65
SF::vector< double > el_scale
optionally provided per-element params scale
Definition: fem_types.h:116
double fluct
random fluctuation around standard value
Definition: fem_types.h:54
double clearance
clearance rate (mol/s)
Definition: fem_types.h:76
double muAem
absorption coefficient emmission
Definition: fem_types.h:87
int regID
region ID
Definition: fem_types.h:95
int nsubregs
#subregions forming this region
Definition: fem_types.h:96
Basic utility structs and functions, mostly IO related.
SF::vector< RegionSpecs > regions
array with region params
Definition: fem_types.h:115