OpenLB 1.7
Loading...
Searching...
No Matches
superIndicatorBaseF2D.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 SUPER_INDICATOR_BASE_F_2D_H
25#define SUPER_INDICATOR_BASE_F_2D_H
26
27#include "functors/genericF.h"
30#include "core/superData.h"
32
33namespace olb {
34
35template<typename T, typename W> class SuperF2D;
36template<typename T, unsigned D> class SuperGeometry;
37template<typename T> class SuperIndicatorIdentity2D;
38
39template <typename T>
40class SuperIndicatorF2D : public SuperF2D<T,bool> {
41protected:
43 std::unique_ptr<SuperData<2,T,bool>> _cachedData;
44
45public:
46 using SuperF2D<T,bool>::operator();
48
70 bool operator() (const int input[]);
79 bool operator() (int iC, int iX, int iY);
80
82 void cache();
83};
84
85
86} // namespace olb
87
88#endif
Base block indicator functor (discrete)
represents all functors that operate on a SuperStructure<T,2> in general
Representation of a statistic for a parallel 2D geometry.
SuperIndicatorF2D(SuperGeometry< T, 2 > &geometry)
std::unique_ptr< SuperData< 2, T, bool > > _cachedData
BlockIndicatorF2D< T > & getBlockIndicatorF(int iCloc)
Get block indicator.
void cache()
Optional: initialize _cachedData for faster access.
SuperGeometry< T, 2 > & _superGeometry
bool operator()(const int input[])
Indicator specific function operator overload.
SuperGeometry< T, 2 > & getSuperGeometry()
Get underlying super geometry.
Indicator identity functor.
The description of a generic interface for all functor classes – header file.
Top level namespace for all of OpenLB.
Dynamics for a generic 2D super data – header file.