OpenLB 1.7
Loading...
Searching...
No Matches
superIndicatorBaseF3D.h
Go to the documentation of this file.
1/* This file is part of the OpenLB library
2 *
3 * Copyright (C) 2016-2017 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_BASE_F_3D_H
25#define SUPER_INDICATOR_BASE_F_3D_H
26
27#include "functors/genericF.h"
28#include "core/superData.h"
32
33namespace olb {
34
35
36template<typename T, typename W> class SuperF3D;
37template<typename T, unsigned D> class SuperGeometry;
38template<typename T> class SuperIndicatorIdentity3D;
39
40
42
48template <typename T>
49class SuperIndicatorF3D : public SuperF3D<T,bool> {
50protected:
52 std::unique_ptr<SuperData<3,T,bool>> _cachedData;
53
54public:
55 using SuperF3D<T,bool>::operator();
57
79 bool operator() (const int input[]);
88 bool operator() (int iC, int iX, int iY, int iZ);
89
91 void cache();
92};
93
94
95}
96
97#endif
Base block indicator functor.
represents all functors that operate on a SuperStructure<T,3> in general
Representation of a statistic for a parallel 2D geometry.
Base indicator functor (discrete)
SuperIndicatorF3D(SuperGeometry< T, 3 > &geometry)
bool operator()(const int input[])
Indicator specific function operator overload.
std::unique_ptr< SuperData< 3, T, bool > > _cachedData
void cache()
Optional: initialize _cachedData for faster access.
BlockIndicatorF3D< T > & getBlockIndicatorF(int iCloc)
Get block indicator.
SuperGeometry< T, 3 > & _superGeometry
SuperGeometry< T, 3 > & 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.