OpenLB 1.7
Loading...
Searching...
No Matches
blockIndicatorF2D.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_2D_H
25#define BLOCK_INDICATOR_F_2D_H
26
27#include <list>
28
31
32namespace olb {
33
35template <typename T>
37protected:
39public:
46 BlockGeometry<T,2>& blockGeometry);
47
48 using BlockIndicatorF2D<T>::operator();
49 bool operator() (bool output[], const int input[]) override;
50
52 Vector<int,2> getMin() override;
54 Vector<int,2> getMax() override;
55};
56
57
59
63template <typename T, bool HLBM>
65protected:
67public:
74 BlockGeometry<T,2>& blockGeometry);
75
76 using BlockIndicatorF2D<T>::operator();
77 bool operator() (bool output[], const int input[]) override;
78
80 Vector<int,2> getMin() override;
82 Vector<int,2> getMax() override;
83};
84
85
87template <typename T>
89protected:
90 const std::vector<int> _materials;
91public:
97 std::vector<int> materials);
103 std::list<int> materials);
109 int material);
110
111 using BlockIndicatorF2D<T>::operator();
112 bool operator() (bool output[], const int input[]) override;
113
115 bool isEmpty() override;
117 Vector<int,2> getMin() override;
119 Vector<int,2> getMax() override;
120};
121
122
124template <typename T>
126protected:
128public:
133
134 using BlockIndicatorF2D<T>::operator();
135 bool operator() (bool output[], const int input[]) override;
136
138 Vector<int,2> getMin() override;
140 Vector<int,2> getMax() override;
141};
142
144template <typename T>
146protected:
149public:
151
152 using BlockIndicatorF2D<T>::operator();
153 bool operator() (bool output[], const int input[]) override;
154
156 Vector<int,2> getMin() override;
158 Vector<int,2> getMax() override;
159};
160
161} // namespace olb
162
163#endif
Representation of a block geometry.
Block indicator identifying neighbors of boundary cells.
Vector< int, 2 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorBoundaryNeighbor2D(BlockIndicatorF2D< T > &indicatorF, int overlap)
bool operator()(bool output[], const int input[]) override
Vector< int, 2 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
Base block indicator functor (discrete)
BlockIndicatorF2D from IndicatorF2D.
Vector< int, 2 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorFfromIndicatorF2D(IndicatorF2D< T > &indicatorF, BlockGeometry< T, 2 > &blockGeometry)
Vector< int, 2 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
BlockIndicatorF2D from SmoothIndicatorF2D.
bool operator()(bool output[], const int input[]) override
Vector< int, 2 > getMin() override
Returns a min lattice position of the indicated domain's bounding box.
SmoothIndicatorF2D< T, T, HLBM > & _indicatorF
Vector< int, 2 > getMax() override
Returns a max lattice position of the indicated domain's bounding box.
BlockIndicatorFfromSmoothIndicatorF2D(SmoothIndicatorF2D< T, T, HLBM > &indicatorF, BlockGeometry< T, 2 > &blockGeometry)
Block indicator identity.
bool operator()(bool output[], const int input[]) override
BlockIndicatorIdentity2D(BlockIndicatorF2D< T > &indicatorF)
BlockIndicatorF2D< T > & _indicatorF
Vector< int, 2 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
Vector< int, 2 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Block indicator functor from material numbers.
Vector< int, 2 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
bool isEmpty() override
Returns true iff indicated domain subset is empty.
BlockIndicatorMaterial2D(BlockGeometry< T, 2 > &blockGeometry, std::vector< int > materials)
const std::vector< int > _materials
Vector< int, 2 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
IndicatorF2D is an application from .
Plain old scalar vector.
Definition vector.h:47
Top level namespace for all of OpenLB.