OpenLB 1.7
Loading...
Searching...
No Matches
superPlaneIntegralFluxMass2D.h
Go to the documentation of this file.
1/* This file is part of the OpenLB library
2 *
3 * Copyright (C) 2018 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_PLANE_INTEGRAL_FLUX_MASS_2D_H
25#define SUPER_PLANE_INTEGRAL_FLUX_MASS_2D_H
26
28
29namespace olb {
30
31
33
40template<typename T>
42private:
44 FunctorPtr<SuperF2D<T>> _velocityF;
46 FunctorPtr<SuperF2D<T>> _densityF;
47
49 const T _conversationFactorMass;
51 const T _conversationFactorTime;
52
53public:
55
81 FunctorPtr<SuperF2D<T>>&& densityF,
82 SuperGeometry<T,2>& geometry,
83 T conversationFactorMass,
84 T conversationFactorTime,
85 const HyperplaneLattice2D<T>& hyperplaneLattice,
86 FunctorPtr<SuperIndicatorF2D<T>>&& integrationIndicator,
87 FunctorPtr<IndicatorF2D<T>>&& subplaneIndicator,
90
113 FunctorPtr<SuperF2D<T>>&& densityF,
114 SuperGeometry<T,2>& geometry,
115 T conversationFactorMass,
116 T conversationFactorTime,
117 const Hyperplane2D<T>& hyperplane,
118 FunctorPtr<SuperIndicatorF2D<T>>&& integrationIndicator,
119 FunctorPtr<IndicatorF2D<T>>&& subplaneIndicator,
122
144 FunctorPtr<SuperF2D<T>>&& densityF,
145 SuperGeometry<T,2>& geometry,
146 T conversationFactorMass,
147 T conversationFactorTime,
148 const Hyperplane2D<T>& hyperplane,
149 FunctorPtr<SuperIndicatorF2D<T>>&& integrationIndicator,
151
153
164 FunctorPtr<SuperF2D<T>>&& densityF,
165 SuperGeometry<T,2>& geometry,
166 T conversationFactorMass,
167 T conversationFactorTime,
168 const Vector<T,2>& origin,
169 const Vector<T,2>& u,
170 std::vector<int> materials,
173
183 FunctorPtr<SuperF2D<T>>&& densityF,
184 SuperGeometry<T,2>& geometry,
185 T conversationFactorMass,
186 T conversationFactorTime,
187 const Vector<T,2>& origin,
188 const Vector<T,2>& u,
190
191 bool operator() (T output[], const int input[]) override;
192
193 void print(std::string regionName, std::string massFluxSiScaleName);
194
195};
196
197
198}
199
200#endif
Smart pointer for managing the various ways of passing functors around.
Definition functorPtr.h:60
Parametrization of a hyperplane lattice (i.e. a line lattice).
IndicatorF2D is an application from .
represents all functors that operate on a SuperStructure<T,2> in general
Representation of a statistic for a parallel 2D geometry.
Surface integral of a subset of a interpolated hyperplane.
void print(std::string regionName, std::string massFluxSiScaleName)
SuperPlaneIntegralFluxMass2D(FunctorPtr< SuperF2D< T > > &&velocityF, FunctorPtr< SuperF2D< T > > &&densityF, SuperGeometry< T, 2 > &geometry, T conversationFactorMass, T conversationFactorTime, const HyperplaneLattice2D< T > &hyperplaneLattice, FunctorPtr< SuperIndicatorF2D< T > > &&integrationIndicator, FunctorPtr< IndicatorF2D< T > > &&subplaneIndicator, BlockDataReductionMode mode)
Primary constructor.
bool operator()(T output[], const int input[]) override
Plain old scalar vector.
Definition vector.h:47
Top level namespace for all of OpenLB.
BlockDataReductionMode
Mode of reducing block data from given, possibly higher dimensional data.
Definition of a analytical line embedded in 2D space.