Flow123d
JS_before_hm-1804-gf2ad740aa
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
Functions
_
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
w
Variables
Typedefs
Enumerations
Enumerator
a
b
c
d
f
g
h
i
m
n
o
p
r
s
u
w
y
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
z
Enumerations
a
b
c
d
f
h
i
m
n
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Functions
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
Files
File List
File Members
All
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
_
a
c
d
f
i
k
l
m
n
o
p
r
s
t
v
Variables
_
a
c
d
g
m
n
p
q
s
u
v
Typedefs
_
a
d
e
f
g
i
j
l
m
o
q
r
s
t
u
v
Enumerations
Enumerator
a
b
c
d
e
f
i
m
n
o
p
r
s
u
v
w
Macros
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
q
r
s
t
w
z
src
mesh
elements.cc
Go to the documentation of this file.
1
/*!
2
*
3
* Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4
*
5
* This program is free software; you can redistribute it and/or modify it under
6
* the terms of the GNU General Public License version 3 as published by the
7
* Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
*
13
*
14
* @file elements.cc
15
* @ingroup mesh
16
* @brief Various element oriented stuff, should be restricted to purely geometric functions
17
*/
18
19
#include <vector>
20
#include <string>
21
22
#include "
system/system.hh
"
23
#include "
mesh/accessors.hh
"
24
#include "
elements.h
"
25
#include "
mesh/mesh.h
"
26
#include "
mesh/ref_element.hh
"
27
28
// following deps. should be removed
29
//#include "materials.hh"
30
#include "
mesh/accessors.hh
"
31
#include "
la/distribution.hh
"
32
33
34
35
Element::Element
()
36
: boundary_idx_(NULL),
37
neigh_vb(NULL),
38
inverted(false),
39
pid_(0),
40
n_neighs_vb_(0),
41
dim_(0)
42
{
43
}
44
45
46
Element::Element
(
unsigned
int
dim,
RegionIdx
reg)
47
{
48
init
(
dim
, reg);
49
}
50
51
52
53
void
Element::init
(
unsigned
int
dim,
RegionIdx
reg) {
54
inverted
=
false
;
55
pid_
=0;
56
n_neighs_vb_
=0;
57
neigh_vb
=NULL;
58
dim_
=
dim
;
59
region_idx_
=reg;
60
61
edge_idx_
.resize(
n_sides
() );
62
permutation_idx_
.resize(
n_sides
() );
63
boundary_idx_
= NULL;
64
65
for
(
unsigned
int
si=0; si<this->
n_sides
(); si++) {
66
edge_idx_
[ si ]=
undef_idx
;
67
permutation_idx_
[si] =
undef_idx
;
68
}
69
}
70
71
72
Element::~Element
() {
73
// Can not make deallocation here since then resize of
74
// vectors of elements deallocates what should be keeped.
75
}
76
77
78
/**
79
* Count element sides of the space dimension @p side_dim.
80
*/
81
82
/* If we use this method, it will be moved to mesh accessor class.
83
unsigned int Element::n_sides_by_dim(unsigned int side_dim)
84
{
85
if (side_dim == dim()) return 1;
86
87
unsigned int n = 0;
88
for (unsigned int i=0; i<n_sides(); i++)
89
if (side(i)->dim() == side_dim) n++;
90
return n;
91
}*/
92
93
94
95
//-----------------------------------------------------------------------------
96
// vim: set cindent:
Element::edge_idx_
std::vector< unsigned int > edge_idx_
Edges on sides.
Definition:
elements.h:105
ref_element.hh
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc.
Element::inverted
bool inverted
Inverted permutation of element nodes, negative Jacobian.
Definition:
elements.h:101
Element::dim
unsigned int dim() const
Definition:
elements.h:127
distribution.hh
Support classes for parallel programing.
Element::pid_
int pid_
Id # of mesh partition.
Definition:
elements.h:104
system.hh
Element::permutation_idx_
std::vector< unsigned int > permutation_idx_
Definition:
elements.h:98
Element::~Element
~Element()
Definition:
elements.cc:72
accessors.hh
Element::dim_
unsigned int dim_
Definition:
elements.h:114
elements.h
undef_idx
const unsigned int undef_idx
Definition:
index_types.hh:32
Element::n_neighs_vb_
unsigned int n_neighs_vb_
Definition:
elements.h:106
Element::init
void init(unsigned int dim, RegionIdx reg)
Definition:
elements.cc:53
mesh.h
Element::region_idx_
RegionIdx region_idx_
Definition:
elements.h:113
Element::neigh_vb
Neighbour ** neigh_vb
Definition:
elements.h:86
Element::Element
Element()
Definition:
elements.cc:35
Element::n_sides
unsigned int n_sides() const
Definition:
elements.h:138
RegionIdx
Definition:
region.hh:67
Element::boundary_idx_
unsigned int * boundary_idx_
Definition:
elements.h:82
Generated by
1.8.17