Rheolef
7.1
an efficient C++ finite element environment
band.h
Go to the documentation of this file.
1
#ifndef _RHEOLEF_BAND_H
2
#define _RHEOLEF_BAND_H
3
//
4
// This file is part of Rheolef.
5
//
6
// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
7
//
8
// Rheolef is free software; you can redistribute it and/or modify
9
// it under the terms of the GNU General Public License as published by
10
// the Free Software Foundation; either version 2 of the License, or
11
// (at your option) any later version.
12
//
13
// Rheolef is distributed in the hope that it will be useful,
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
// GNU General Public License for more details.
17
//
18
// You should have received a copy of the GNU General Public License
19
// along with Rheolef; if not, write to the Free Software
20
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
//
22
// =========================================================================
23
24
namespace
rheolef
{
87
}
// namespace rheolef
88
89
#include "rheolef/field.h"
90
#include "rheolef/level_set.h"
91
92
namespace
rheolef
{
93
// [verbatim_band_basic]
94
template
<
class
T,
class
M = rheo_default_memory_model>
95
class
band_basic
{
96
public
:
97
98
typedef
typename
geo_basic<T,M>::size_type
size_type
;
99
100
// allocators:
101
102
band_basic
();
103
band_basic
(
const
field_basic<T,M>
& fh,
104
const
level_set_option
& opt =
level_set_option
());
105
106
// accessors:
107
108
const
geo_basic<T,M>
&
band
()
const
{
return
_band
; }
109
const
geo_basic<T,M>
&
level_set
()
const
{
return
_gamma
; }
110
size_type
sid_ie2bnd_ie
(
size_type
sid_ie)
const
{
return
_sid_ie2bnd_ie
[sid_ie]; }
111
size_type
n_connected_component
()
const
{
return
_ncc
; }
112
// [verbatim_band_basic]
113
114
// data:
115
protected
:
116
geo_basic<T,M>
_gamma
;
117
geo_basic<T,M>
_band
;
118
disarray<size_type,M>
_sid_ie2bnd_ie
;
119
size_type
_ncc
;
120
// [verbatim_band_basic_cont]
121
};
122
// [verbatim_band_basic_cont]
123
124
// [verbatim_band]
125
typedef
band_basic<Float>
band
;
126
// [verbatim_band]
127
128
// ----------------------------------------------------------------------------
129
// inlined
130
// ----------------------------------------------------------------------------
131
template
<
class
T,
class
M>
132
inline
133
band_basic<T,M>::band_basic
()
134
: _gamma(),
135
_band(),
136
_sid_ie2bnd_ie(),
137
_ncc(0)
138
{
139
}
140
141
}
// namespace
142
#endif // _RHEOLEF_BAND_H
rheolef::geo_basic
generic mesh with rerefence counting
Definition:
domain_indirect.h:64
rheolef::band_basic::level_set
const geo_basic< T, M > & level_set() const
Definition:
band.h:109
rheolef::band_basic::_ncc
size_type _ncc
Definition:
band.h:119
rheolef::band_basic::band_basic
band_basic()
Definition:
band.h:133
rheolef::level_set_option
Definition:
level_set.h:66
rheolef::band_basic::size_type
geo_basic< T, M >::size_type size_type
Definition:
band.h:98
rheolef::band_basic::band
const geo_basic< T, M > & band() const
Definition:
band.h:108
rheolef::field_basic
Definition:
field_expr_utilities.h:38
rheolef::band_basic::_band
geo_basic< T, M > _band
Definition:
band.h:117
rheolef::band_basic::_gamma
geo_basic< T, M > _gamma
Definition:
band.h:116
rheolef::band_basic
Definition:
band.h:95
rheolef
This file is part of Rheolef.
Definition:
compiler_eigen.h:37
rheolef::disarray< size_type, M >
rheolef::band_basic::sid_ie2bnd_ie
size_type sid_ie2bnd_ie(size_type sid_ie) const
Definition:
band.h:110
rheolef::band_basic::_sid_ie2bnd_ie
disarray< size_type, M > _sid_ie2bnd_ie
Definition:
band.h:118
rheolef::band
band_basic< Float > band
Definition:
band.h:125
rheolef::band_basic::n_connected_component
size_type n_connected_component() const
Definition:
band.h:111