openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
SF_base.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) NumeriCor GmbH
2 // SPDX-License-Identifier: Apache-2.0
3 
16 #ifndef _SF_BASE_H
17 #define _SF_BASE_H
18 
19 // C includes
20 #include <stdio.h>
21 #include <stdlib.h>
22 #include <unistd.h>
23 #include <string.h>
24 #include <assert.h>
25 #include <mpi.h>
26 
27 // external includes
28 #include "progress.hpp"
29 #include "asciiPlotter.hpp"
30 #include "dense_mat.hpp"
31 
32 // global SF definitions
33 #include "SF_globals.h"
34 
35 namespace SF {
47 template<typename V, typename W>
48 V clamp(const V val, const W start, const W end) {
49  if(val < start) return start;
50  if(val > end) return end;
51  return val;
52 }
53 
54 }
55 
56 // this are the mesh management modules
57 #include "SF_abstract_vector.h"
58 #include "SF_abstract_matrix.h"
59 #include "SF_abstract_lin_solver.h"
60 #include "SF_vector.h"
61 #include "SF_sort.h"
62 #include "SF_container.h"
63 #include "SF_network.h"
64 #include "SF_io_base.h"
65 #include "SF_parallel_utils.h"
66 #include "SF_mesh_io.h"
67 #include "SF_linalg_utils.h"
68 #include "SF_fem_utils.h"
69 #include "SF_partitioning.h"
70 #include "SF_parallel_layout.h"
71 #include "SF_numbering.h"
72 #include "SF_mesh_utils.h"
73 #if WITH_EMI_MODEL
74  #include "SF_mesh_io_emi.h"
75  #include "SF_fem_utils_emi.h"
76  #include "SF_mesh_utils_emi.h"
77 #endif
78 
79 #endif
Basic containers.
FEM utilities.
FEM utilities.
Sequential linear algebra kernels.
Functions related to mesh IO.
Functions related to EMI mesh IO.
Functions handling a distributed mesh.
EMI mesh utilities for interface extraction, mesh decoupling, and surface-mesh mappings.
Functions related to network communication.
Classes related to mesh node renumbering.
Classes and algorithms related to the layout of distributed meshes.
Simple utility functions for parallel data.
Partitioning classes.
Various sorting algorithms.
The vector class and related algorithms.
Class used to plot functions on the terminal.
Dense matrix class and associated funcs.
Definition: dense_mat.hpp:19
V clamp(const V val, const W start, const W end)
Clamp a value into an interval [start, end].
Definition: SF_base.h:48
CLI progress class.