145 public :: r3tor3, r3tor, rtor, rntornxl
174 integer,
intent(in),
optional :: verb
179 if (
present(verb))
then 184 write(*,*)
"choral : choral_init = & 187 write(*,*)
" PREPROCESSOR OPTIONS" 190 write(*,*)
" REAL NUMBER PRECISION = SIMPLE" 193 write(*,*)
" REAL NUMBER PRECISION = DOUBLE" 196 write(*,*)
" REAL NUMBER PRECISION = TRIPLE" 199 write(*,*)
" REAL NUMBER PRECISION = QUADRUPLE" 202 write(*,*)
" REAL NUMBER PRECISION = DOUBLE" 203 call warning(
"VARIABLE 'RPC' reset", 1)
207 write(*,*)
" DEBUG MODE = ON" 209 write(*,*)
" DEBUG MODE = OFF" 213 write(*,*)
" OPENMP = ON" 215 rang = omp_get_num_threads()
217 write(*,*)
" number of threads =", int(rang,1)
220 rang = omp_get_thread_num()
221 write(*,*)
" Thread number ",&
222 & int(rang,1),
" = acitve" 226 write(*,*)
" OPENMP = OFF" 230 write(*,*)
" MMG = ON" 234 write(*,*)
" ARPACK = ON" 238 write(*,*)
" MUMPS = ON" 242 write(*,*)
" NO WARNING ALLOWED = ON" 244 write(*,*)
" NO WARNING ALLOWED = OFF" 251 write(*,*)
" GLOBAL VARIABLES" 252 write(*,*)
" REAL PRECISION (RP), KIND RP =", int(
rp,1)
253 write(*,*)
" VERBOSITY, CHORAL_VERB =", int(
choral_verb,1)
subroutine, public fe_init(b)
initialise FE_XXX arrays
subroutine, public diffusion_matrix_pattern(g, X_h, qdm)
Define the sparsity pattern for diffusion matrices
subroutine, public elasticity_massmat(mass, a, Y, qdm, dofToDof)
Assemble the mass matrix of the bilinear product:
is the csr matrix well defined ?
DEFINITION OF ABSTRACT_INTERFACES FOR THE LIBRARY CHORAL
Type ode_solution: data structure to solve ODE/PDE problems.
DERIVED TYPE graph: sparse matrices of boolean in CSR format
HANDLE THE COMMUNICATION WITH THE LIBRARY MMG
DERIVED TYPE eigen for eigenvalue / eigenvector problems
subroutine, public eval_scal_fe_at_points(val, P, u, X_h)
u is a finite element function on the finite element space X_h
real(rp) function, public f_c3(t)
C3 function with support [-1,1].
character(len=15) function, public name_ode_method_opsplt(method)
Get operator splitting method name.
subroutine, public choral_init(verb)
Initialisation for the CHORAL library
DERIVED TYPE ode_problem: definition of ODE/PDE problems
L2 product of a function with the basis functions.
TOP-LEVEL MODULE FOR THE LIBRARY CHORAL
The type precond defines preconditioning for linear systems.
real(rp) function, public s_prefactor(method, dt)
When discretising with two matrices, this function returns the prefactor Cs for the matrix S...
subroutine, public interp_scal_fe(u2, X_h2, u1, X_h1)
Interpolate a scalar finite element function u1 on a second finite element space X_h2.
QUADRATURE RULES ON REFERENCE CELLS
DERIVED TYPE ionicModel: cellular ionic models in electrophysiology
DEFINITION OF FINITE ELEMENT METHODS
subroutine, public diffusion_mixed_divmat(divMat, X_s, X_v, qdm)
Assemble the matrix of the bilinear product:
The type krylov defines the settings of a linear solver.
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.
subroutine, public cell_init(b)
Initialisation of all the arrays CELL_XXX.
real(rp) function, public l2_dist_vect(phi, phi_h, X_h, qdm)
Returns .
subroutine, public graph_prod(g, A, B)
Matrix product g = A*B.
subroutine, public define_interfaces(m)
Defines the mesh interfaces.
real(rp) function, public one_r3(x)
The function .
integer, parameter, public sp
simple precision for real numbers
The type feSpacexk defines for a finite element space.
real(rp) function, public f_c2(t)
C2 function with support [-1,1].
PRE-DEFINED NUMERIC FUNCTIONS
subroutine, public diffusion_massmat(mass, a, X_h, qdm, dofToDof)
Assemble the mass matrix of the bilinear product:
subroutine, public quad_init(b)
initialise QUAD_XXX arrays:
NEWTON NON LINEAR SOLVER.
addition of csr matrices (with the same pattern)
real(rp) function f_c1(t)
C1 function with support [-1,1].
real(rp) function, public celerity_l2_dist(u1, u2, X_h, qdm, weight)
returns || (c(u1) - c(u2)) * weight(x) ||_L2()
character(len=15) function, public name_ode_method(method)
Get ODE method name.
character(len=150), parameter, public gmsh_dir
path to 'gmsh' directory = CHORAL_DIR/ress/gmsh
conversion integers or rational to real
DERIVED TYPE feSpacexk: define for a finite element space.
real(rp) function, dimension(3), public vector_field_e_x(x)
constant vector field
character(len=100), parameter, public choral_dir
CHORAL_DIR = path to choral.
REAL NUMBERS PRECISION IN CHORAL: selects simple/double/quad
transpose matrix of a sparse csr matrix
DERIVED TYPE quadMesh: integration methods on meshes
IO: module for input/output
character(len=100), parameter, public home_dir
HOME_DIR = $HOME.
Derived type stimulation.
subroutine, public elasticity_dirichlet(K, rhs, Y, g1, g2, g3, f)
DIRICHLET BOUNDARY CONDITION FOR AN ELASTICITY PROBLEM
subroutine, public extract_component(u_c, u, Y, c)
Extract the component of a finite element function .
DERIVED TYPE feSpace: finite element spaces
DERIVED TYPE ode_solution: data straucture to solve ODEs
subroutine, public elasticity_stiffmat(stiff, lambda, mu, Y, qdm, dofToDof)
Assemble the stiffness matrix of the bilinear product:
MODULE FOR DIFFUSION PROBLEMS
logical function, public check_ode_method(method, pb_type, slv_type)
check whether the ode method 'method' is available for the problem type 'pb_type' and for the solver ...
Derived type for sparse matrices in CSR format.
real(rp) function, public celerity_l2_norm(u1, X_h, qdm, weight)
returns || c(u1) * weight(x) ||_L2
Integration of scalar functions.
real(rp) function, public l2_dist_grad_proj(phi, uh, X_h, qdm)
Returns .
subroutine, public diffusion_neumann_rhs(rhs, g, X_h, quad_type, f)
L2 scalar product of a scalar function with the basis functions fo the finite element space on a...
real(rp), parameter, public pi
REAL CONSTANT Pi.
MODULE FOR LINEAR ELASTICITY PROBLEMS
subroutine, public diffusion_dirichlet(K, rhs, g, X_h, rho, f)
DIRICHLET BOUNDARY CONDITION FOR A DIFFUSION PROBLEM
subroutine, public mumps_init()
Initialisation.
DERIVED TYPE ode_output: handles output for PDE/ODE simulations
DEFINE THE INTERFACES AND THE BOUNDARY CELLS OF A mesh
Derived type for eigenvalue problem resolution.
Derived type feSpace: finite element space on a mesh.
COMPUTATION OF INTEGRALS using a quadrature methods on a mesh.
real(rp) function, public f_c5(t)
C5 function with support [-1,1].
add a CSR matrix M1 with pattern P1 to a CSR matrix M with pattern P such that P1 is included in P ...
BOTTOM LEVEL MODULE FOR ODEs
TOP LEVEL MODULE FOR ODEs, derived type ode_solver
integer choral_verb
Verbosity level.
subroutine, public elasticity_neumann_rhs(rhs, Y, quad_type, g_1, g_2, g_3, f)
L2 scalar product of a vector function with the basis functions fo the finite element space on a...
subroutine, public scale_conductivities(cm, sc)
rescale the conductivities
DEFINITION OF DIRECTORY PATHS
integer, parameter, public dp
double precision for real numbers
character(len=20) function, public name_ode_solver_type(type)
name the type of ode_solver
subroutine, public diffusion_stiffmat(stiff, b, X_h, qdm, dofToDof)
Assemble the stiffness matrix of the bilinear product:
subroutine, public interp_scal_func(uh, u, X_h)
Interpolation of a scalar function to a scalar finite element function.
character(len=16), dimension(0:fe_tot_nb), public fe_name
Name for each fe method.
The type ode_output handles output for ODE simulations.
DERIVED TYPE mumps: to use the library MUMPS
real(rp) function, public f_c4(t)
C4 function with support [-1,1].
real(rp), parameter, public real_tol
DERIVED TYPE ionicModel: cellular ionic models in electrophysiology
subroutine, public set_ode_solver_output(slv, output)
Load a user defined output for ODE resolution
subroutine, public closest_node(V, dist, pt, m, nDToNd, start)
For each point X=pt(:,ii), determines a node V in the mesh m that minimises |X-V|.
DEFINITION OF GLOBAL VARIABLES FOR THE LIBRARY CHORAL
Factorisation of csr matrices with MUMPS.
short description for real arrays
The type quadMesh defines integration methods on meshes.
character(len=13), dimension(0:quad_tot_nb), public quad_name
QUAD_ARRAY.
DERIVED TYPE precond: preconditioning for linear systems
character(len=15) function, public name_ode_problem(type)
ode_problem name
subroutine, public diffusion_massmat_vect(mass, b, X_h, qdm, dofToDof)
Assemble the mass matrix of the bilinear product:
DERIVED TYPE ode_opSplt: operator splitting methods for ODEs.
real(rp) function, public f_c0(t)
real(rp) function, dimension(3), public crossprod_3d(u, v)
Cross product in R**3.
Type ode_problem: definition of ODE/PDE problems.
DERIVED TYPE csr for sparse matrices
subroutine, public elasticity_matrix_pattern(g, Y, qdm)
Define the sparsity pattern for elasticity matrices
character(len=150), parameter, public app_dir
path to 'applications' directory = CHORAL_DIR/applications
The type graph stores sparse matrices of boolean in CSR format.
DERIVED TYPE krylov: for the resolution of linear systems
DEFINITION OF GEOMETRICAL CELLS (for meshes)
subroutine, public remesh_levelset(m, val, verb, hausd, hMax)
real(rp) function, public emetric(x, u, v)
Euclidian metric on : This is the isotropic homogeneous metric equal to the usual scalar product ...
subroutine, public monodomain_assemble(M, S, cm, X_h, qd_M, qd_S)
Assemble the monodomain diffusion matrices.
subroutine, public gmsh_addview(X_h, v, fileName, vname, time, idx)
add a view to X_h output file gmesh file format
integer function, public order_ode_method(method)
order associated with a method