hemocell
Loading...
Searching...
No Matches
commonCellConstants.h
Go to the documentation of this file.
1/*
2This file is part of the HemoCell library
3
4HemoCell is developed and maintained by the Computational Science Lab
5in the University of Amsterdam. Any questions or remarks regarding this library
6can be sent to: info@hemocell.eu
7
8When using the HemoCell library in scientific work please cite the
9corresponding paper: https://doi.org/10.3389/fphys.2017.00563
10
11The HemoCell library is free software: you can redistribute it and/or
12modify it under the terms of the GNU Affero General Public License as
13published by the Free Software Foundation, either version 3 of the
14License, or (at your option) any later version.
15
16The library is distributed in the hope that it will be useful,
17but WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19GNU Affero General Public License for more details.
20
21You should have received a copy of the GNU Affero General Public License
22along with this program. If not, see <http://www.gnu.org/licenses/>.
23*/
24//Necessary since cellMechanics needs more than the forward declaration
25#include "cellMechanics.h"
26
27#ifndef Hemo_CommonCellConstants_H
28#define Hemo_CommonCellConstants_H
29
30namespace hemo {
31class CommonCellConstants;
32}
33#include "geometryUtils.h"
34#include "config.h"
35#include "hemoCellField.h"
36
37namespace hemo {
38
40 private:
42 std::vector<hemo::Array<plint,3>> triangle_list_,
43 std::vector<hemo::Array<plint,2>> edge_list_,
44 std::vector<T> edge_length_eq_list_,
45 std::vector<T> edge_angle_eq_list_,
47 std::vector<hemo::Array<plint,2>> edge_bending_triangles_list_,
48 std::vector<hemo::Array<plint,2>> edge_bending_triangles_outer_points_,
49 std::vector<T> triangle_area_eq_list_,
50 std::vector<hemo::Array<plint,6>> vertex_vertexes_,
51 std::vector<hemo::Array<plint,6>> vertex_edges_,
52 std::vector<hemo::Array<signed int,6>> vertex_edges_sign_,
53 std::vector<unsigned int> vertex_n_vertexes_,
54 std::vector<hemo::Array<hemo::Array<plint,2>,6>> vertex_outer_edges_per_vertex_,
55 std::vector<hemo::Array<hemo::Array<signed int,2>,6>> vertex_outer_edges_per_vertex_sign_,
56 T volume_eq_, T area_mean_eq_,
57 T edge_mean_eq_, T angle_mean_eq_,
58 std::vector<hemo::Array<plint,2>> inner_edge_list_,
59 std::vector<T> inner_edge_length_eq_list_);
60 public:
62
64 const std::vector<hemo::Array<plint,3>> triangle_list;
65 const std::vector<hemo::Array<plint,2>> edge_list;
66
67 const std::vector<T> edge_length_eq_list;
68 const std::vector<T> edge_angle_eq_list;
70 const std::vector<hemo::Array<plint,2>> edge_bending_triangles_list;
71 const std::vector<hemo::Array<plint,2>> edge_bending_triangles_outer_points;
72 const std::vector<T> triangle_area_eq_list;
73 const std::vector<hemo::Array<plint,6>> vertex_vertexes;
74 const std::vector<hemo::Array<plint,6>> vertex_edges;
75 const std::vector<hemo::Array<signed int,6>> vertex_edges_sign;
76 const std::vector<unsigned int> vertex_n_vertexes;
77 const std::vector<hemo::Array<hemo::Array<plint,2>,6>> vertex_outer_edges_per_vertex;
78 const std::vector<hemo::Array<hemo::Array<signed int,2>,6>> vertex_outer_edges_per_vertex_sign;
79
80 const T volume_eq;
84 const std::vector<hemo::Array<plint,2>> inner_edge_list;
85 const std::vector<T> inner_edge_length_eq_list;
86
87};
88}
89#endif
Definition commonCellConstants.h:39
const std::vector< hemo::Array< signed int, 6 > > vertex_edges_sign
Definition commonCellConstants.h:75
const std::vector< hemo::Array< hemo::Array< plint, 2 >, 6 > > vertex_outer_edges_per_vertex
Definition commonCellConstants.h:77
const std::vector< hemo::Array< plint, 3 > > triangle_list
Definition commonCellConstants.h:64
const std::vector< T > triangle_area_eq_list
Definition commonCellConstants.h:72
const std::vector< hemo::Array< plint, 2 > > inner_edge_list
Definition commonCellConstants.h:84
const std::vector< T > surface_patch_center_dist_eq_list
Definition commonCellConstants.h:69
const std::vector< T > inner_edge_length_eq_list
Definition commonCellConstants.h:85
HemoCellField & cellField
Definition commonCellConstants.h:63
const std::vector< T > edge_angle_eq_list
Definition commonCellConstants.h:68
const std::vector< hemo::Array< hemo::Array< signed int, 2 >, 6 > > vertex_outer_edges_per_vertex_sign
Definition commonCellConstants.h:78
const T area_mean_eq
Definition commonCellConstants.h:81
const T volume_eq
Definition commonCellConstants.h:80
const std::vector< hemo::Array< plint, 2 > > edge_bending_triangles_outer_points
Definition commonCellConstants.h:71
const T angle_mean_eq
Definition commonCellConstants.h:83
const std::vector< hemo::Array< plint, 2 > > edge_list
Definition commonCellConstants.h:65
const std::vector< hemo::Array< plint, 6 > > vertex_vertexes
Definition commonCellConstants.h:73
static CommonCellConstants CommonCellConstantsConstructor(HemoCellField &, hemo::Config &modelCfg_)
Definition commonCellConstants.cpp:70
const std::vector< unsigned int > vertex_n_vertexes
Definition commonCellConstants.h:76
const T edge_mean_eq
Definition commonCellConstants.h:82
const std::vector< hemo::Array< plint, 2 > > edge_bending_triangles_list
Definition commonCellConstants.h:70
const std::vector< T > edge_length_eq_list
Definition commonCellConstants.h:67
const std::vector< hemo::Array< plint, 6 > > vertex_edges
Definition commonCellConstants.h:74
Definition config.h:58
Definition hemoCellField.h:42
double T
Definition constant_defaults.h:118
Definition config.cpp:34
Definition array.h:39