OpenLB 1.7
Loading...
Searching...
No Matches
superIndicatorF3D.h
Go to the documentation of this file.
1/* This file is part of the OpenLB library
2 *
3 * Copyright (C) 2016-2018 Benjamin Förster, 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 SUPER_INDICATOR_F_3D_H
25#define SUPER_INDICATOR_F_3D_H
26
27#include <list>
28
33
34namespace olb {
35
36
38template <typename T>
40protected:
42public:
48 SuperGeometry<T,3>& geometry);
49
50 using SuperIndicatorF3D<T>::operator();
51 bool operator() (bool output[], const int input[]) override;
52};
53
54
56
59template <typename T, bool HLBM>
61protected:
63public:
69 SuperGeometry<T,3>& geometry);
70
71 using SuperIndicatorF3D<T>::operator();
72 bool operator() (bool output[], const int input[]) override;
73};
74
75
77
80template <typename T>
82public:
88 SuperIndicatorMaterial3D(SuperGeometry<T,3>& geometry, std::vector<int> materials);
94 SuperIndicatorMaterial3D(SuperGeometry<T,3>& geometry, std::list<int> materials);
95
96 using SuperIndicatorF3D<T>::operator();
97 bool operator() (bool output[], const int input[]) override;
98};
99
101template <typename T>
103private:
105
106public:
108
109 using SuperIndicatorF3D<T>::operator();
110 bool operator() (bool output[], const int input[]) override;
111};
112
114
119template <typename T>
121protected:
123public:
125
126 using SuperIndicatorF3D<T>::operator();
127 bool operator() (bool output[], const int input[]) override;
128};
129
131template <typename T>
133protected:
136public:
139
140 using SuperIndicatorF3D<T>::operator();
141 bool operator() (bool output[], const int input[]) override;
142};
143
145
148template <typename T>
150protected:
153public:
155
156 using SuperIndicatorF3D<T>::operator();
157 bool operator() (bool output[], const int input[]) override;
158};
159} // namespace olb
160
161#endif
Smart pointer for managing the various ways of passing functors around.
Definition functorPtr.h:60
IndicatorF3D is an application from .
Representation of a statistic for a parallel 2D geometry.
Indicator identifying neighbors of boundary cells.
FunctorPtr< SuperIndicatorF3D< T > > _indicatorF
bool operator()(bool output[], const int input[]) override
SuperIndicatorBoundaryNeighbor3D(FunctorPtr< SuperIndicatorF3D< T > > &&indicatorF, int overlap)
Base indicator functor (discrete)
SuperIndicatorF3D from IndicatorF3D.
FunctorPtr< IndicatorF3D< T > > _indicatorF
SuperIndicatorFfromIndicatorF3D(FunctorPtr< IndicatorF3D< T > > &&indicatorF, SuperGeometry< T, 3 > &geometry)
bool operator()(bool output[], const int input[]) override
SuperIndicatorF3D from SmoothIndicatorF3D.
FunctorPtr< SmoothIndicatorF3D< T, T, HLBM > > _indicatorF
bool operator()(bool output[], const int input[]) override
SuperIndicatorFfromSmoothIndicatorF3D(FunctorPtr< SmoothIndicatorF3D< T, T, HLBM > > &&indicatorF, SuperGeometry< T, 3 > &geometry)
Indicator identity functor.
SuperIndicatorIdentity3D(FunctorPtr< SuperIndicatorF3D< T > > &&indicatorF)
bool operator()(bool output[], const int input[]) override
FunctorPtr< SuperIndicatorF3D< T > > _indicatorF
Indicator extended by a layer.
SuperIndicatorLayer3D(FunctorPtr< SuperIndicatorF3D< T > > &&indicatorF)
bool operator()(bool output[], const int input[]) override
Indicator functor from material numbers.
bool operator()(bool output[], const int input[]) override
SuperIndicatorMaterial3D(SuperGeometry< T, 3 > &geometry, std::vector< int > materials)
Indicator intersection functor.
FunctorPtr< SuperIndicatorF3D< T > > _f
FunctorPtr< SuperIndicatorF3D< T > > _g
SuperIndicatorMultiplication3D(FunctorPtr< SuperIndicatorF3D< T > > &&f, FunctorPtr< SuperIndicatorF3D< T > > &&g)
bool operator()(bool output[], const int input[]) override
Top level namespace for all of OpenLB.
Representation of a parallel 2D geometry – header file.