101 procedure(r3tor3) :: fibre
102 real(RP) ,
intent(in) :: am
103 integer ,
intent(in) :: conduc_type
106 &
"cardioModel_mod : create" 113 &cm%GIT, cm%GEL, cm%GET, conduc_type)
121 real(RP),
intent(out) :: gil, git,gel,get
122 integer ,
intent(in) :: type
125 &
" cardioModel_mod : set_conduct. = " 149 call quit(
"cardioModel_mod: set_conductivities: 1")
160 real(RP) ,
intent(in) :: sc
175 write(*,*)
"cardioModel_mod : print " 176 write(*,*)
" Am =", cm%am
177 write(*,*)
" Intra conduc. GIL =", cm%GIL
178 write(*,*)
" GIT =", cm%GIT
179 write(*,*)
" Extra conduc. GEL =", cm%GEL
180 write(*,*)
" GET =", cm%GET
198 type(
csr) ,
intent(out):: M, S
200 type(
fespace) ,
intent(in) :: X_h
201 integer ,
intent(in) :: qd_M, qd_S
207 &
"cardioModel_mod : monodomain" 210 gl = 2._rp / (1._rp/cm%GIL + 1._rp/cm%GEL )
211 gt = 2._rp / (1._rp/cm%GIT + 1._rp/cm%GET )
213 &
" conduc. long/trans =", &
214 &
real(gl,SP),
real(gt,SP) 227 call scale(s, 1._rp/cm%Am)
231 function b(x, w1, w2)
233 real(RP),
dimension(3),
intent(in) :: x, w1, w2
235 real(RP),
dimension(3) :: fd
238 b =
usigmav(w1, w2, fd, gl, gt)
255 function usigmav(u, v, fd, gl, gt)
result(r)
257 real(RP),
dimension(3),
intent(in) :: u, v, fd
258 real(RP) ,
intent(in) :: gl, gt
260 real(RP),
dimension(3) :: e1, e2, e3
263 nrm = sqrt(sum(fd*fd))
266 e2(1) = e1(3) - e1(2)
267 e2(2) = e1(1) - e1(3)
268 e2(3) = e1(2) - e1(1)
270 nrm = sqrt(sum(e2*e2))
275 r = sum(u*e1) * sum(v*e1) * gl
276 r = r + sum(u*e2) * sum(v*e2) * gt
277 r = r + sum(u*e3) * sum(v*e3) * gt
DEFINITION OF ABSTRACT_INTERFACES FOR THE LIBRARY CHORAL
integer, parameter, public rp
real(kind=RP) = real precision in the code REAL_TOL = epsilon to test real equality ...
Derived type for tissue properties in cardiac electrophysiology.
integer, parameter le_guyader_2
real(rp) function, public one_r3(x)
The function .
PRE-DEFINED NUMERIC FUNCTIONS
subroutine, public diffusion_massmat(mass, a, X_h, qdm, dofToDof)
Assemble the mass matrix of the bilinear product:
real(rp) function, dimension(3), public vector_field_e_x(x)
constant vector field
REAL NUMBERS PRECISION IN CHORAL: selects simple/double/quad
DERIVED TYPE quadMesh: integration methods on meshes
DERIVED TYPE feSpace: finite element spaces
MODULE FOR DIFFUSION PROBLEMS
type(cardiomodel) function cardiomodel_create(fibre, Am, conduc_type)
constructor for cardioModel type
real(rp) function usigmav(u, v, fd, gl, gt)
scalar product u^T Sigma v
Derived type for sparse matrices in CSR format.
print a short description
integer, parameter cond_iso_1
Derived type feSpace: finite element space on a mesh.
integer choral_verb
Verbosity level.
subroutine, public scale_conductivities(cm, sc)
rescale the conductivities
subroutine, public diffusion_stiffmat(stiff, b, X_h, qdm, dofToDof)
Assemble the stiffness matrix of the bilinear product:
integer, parameter le_guyader
DEFINITION OF GLOBAL VARIABLES FOR THE LIBRARY CHORAL
The type quadMesh defines integration methods on meshes.
real(rp) function, dimension(3), public crossprod_3d(u, v)
Cross product in R**3.
subroutine cardiomodel_print(cm)
print cardio model
DERIVED TYPE csr for sparse matrices
subroutine set_conductivities(gil, git, gel, get, type)
set conductivities
subroutine, public monodomain_assemble(M, S, cm, X_h, qd_M, qd_S)
Assemble the monodomain diffusion matrices.
real(rp) function b(x, w1, w2)