OpenLB 1.7
Loading...
Searching...
No Matches
blockIndicatorF3D.h
Go to the documentation of this file.
1/* This file is part of the OpenLB library
2 *
3 * Copyright (C) 2017 Adrian Kummerlaender
4 * E-mail contact: info@openlb.net
5 * The most recent release of OpenLB can be downloaded at
6 * <http://www.openlb.net/>
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program 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
19 * License along with this program; if not, write to the Free
20 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301, USA.
22*/
23
24#ifndef BLOCK_INDICATOR_F_3D_H
25#define BLOCK_INDICATOR_F_3D_H
26
29
30namespace olb {
31
33template <typename T>
35protected:
37public:
44 BlockGeometry<T,3>& blockGeometry);
45
46 using BlockIndicatorF3D<T>::operator();
47 bool operator() (bool output[], const int input[]) override;
48
50 Vector<int,3> getMin() override;
52 Vector<int,3> getMax() override;
53};
54
55
57template <typename T, bool HLBM>
59protected:
61public:
68 BlockGeometry<T,3>& blockGeometry);
69
70 using BlockIndicatorF3D<T>::operator();
71 bool operator() (bool output[], const int input[]) override;
72
74 Vector<int,3> getMin() override;
76 Vector<int,3> getMax() override;
77};
78
79
81template <typename T>
83protected:
84 const std::vector<int> _materials;
85public:
91 std::vector<int> materials);
97 std::list<int> materials);
103 int material);
104
105 using BlockIndicatorF3D<T>::operator();
106 bool operator() (bool output[], const int input[]) override;
107
109 bool isEmpty() override;
111 Vector<int,3> getMin() override;
113 Vector<int,3> getMax() override;
114};
115
117template <typename T>
119protected:
121
122public:
127
128 using BlockIndicatorF3D<T>::operator();
129 bool operator() (bool output[], const int input[]) override;
130
132 Vector<int,3> getMin() override;
134 Vector<int,3> getMax() override;
135};
136
138template <typename T>
140protected:
142public:
147
148 using BlockIndicatorF3D<T>::operator();
149 bool operator() (bool output[], const int input[]) override;
150
152 Vector<int,3> getMin() override;
154 Vector<int,3> getMax() override;
155};
156
158template <typename T>
160protected:
163public:
169
170 using BlockIndicatorF3D<T>::operator();
171 bool operator() (bool output[], const int input[]) override;
172
174 Vector<int,3> getMin() override;
176 Vector<int,3> getMax() override;
177};
178
180template <typename T>
182protected:
185public:
187
188 using BlockIndicatorF3D<T>::operator();
189 bool operator() (bool output[], const int input[]) override;
190
192 Vector<int,3> getMin() override;
194 Vector<int,3> getMax() override;
195};
196
197} // namespace olb
198
199#endif
Representation of a block geometry.
Block indicator identifying neighbors of boundary cells.
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
BlockIndicatorBoundaryNeighbor3D(BlockIndicatorF3D< T > &indicatorF, int overlap)
Base block indicator functor.
BlockIndicatorF3D from IndicatorF3D.
bool operator()(bool output[], const int input[]) override
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorFfromIndicatorF3D(IndicatorF3D< T > &indicatorF, BlockGeometry< T, 3 > &blockGeometry)
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
BlockIndicatorF3D from SmoothIndicatorF3D.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
SmoothIndicatorF3D< T, T, HLBM > & _indicatorF
BlockIndicatorFfromSmoothIndicatorF3D(SmoothIndicatorF3D< T, T, HLBM > &indicatorF, BlockGeometry< T, 3 > &blockGeometry)
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
Block indicator identity.
bool operator()(bool output[], const int input[]) override
BlockIndicatorF3D< T > & _indicatorF
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
BlockIndicatorIdentity3D(BlockIndicatorF3D< T > &indicatorF)
Block indicator extended by a layer.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorLayer3D(BlockIndicatorF3D< T > &indicatorF)
BlockIndicatorF3D< T > & _indicatorF
Block indicator functor from material numbers.
const std::vector< int > _materials
BlockIndicatorMaterial3D(BlockGeometry< T, 3 > &blockGeometry, std::vector< int > materials)
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool isEmpty() override
Returns true iff indicated domain subset is empty.
bool operator()(bool output[], const int input[]) override
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Block indicator intersection.
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorMultiplication3D(BlockIndicatorF3D< T > &f, BlockIndicatorF3D< T > &g)
bool operator()(bool output[], const int input[]) override
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
IndicatorF3D is an application from .
Plain old scalar vector.
Definition vector.h:47
Top level namespace for all of OpenLB.