OpenLB
1.7
Loading...
Searching...
No Matches
src
reaction
explicitFiniteDifference
fdPostProcessor3D.h
Go to the documentation of this file.
1
/* This file is part of the OpenLB library
2
*
3
* Copyright (C) 2020 Davide Dapelo
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
28
#ifndef AD_POST_PROCESSOR_3D_DEV03_H
29
#define AD_POST_PROCESSOR_3D_DEV03_H
30
31
namespace
olb
{
32
34
/*
35
* Virtual parent to all the finite-difference postprocessors.
36
* Its raison d'etre is to enforce all the finite-difference postprocessors
37
* to possess applySourceTerm().
38
*/
39
template
<
typename
T,
typename
DESCRIPTOR,
typename
FIELD=descriptors::AD_FIELD,
typename
SOURCE=
void
>
40
class
FdBasePostProcessor3D
{
41
protected
:
42
FdBasePostProcessor3D
();
43
template
<
typename
CELL>
44
void
applySourceTerm
(T* fNew, CELL& cell)
any_platform
;
45
};
46
48
/*
49
* Postprocessor to update the finite-difference advection-diffusion external field.
50
*/
51
template
<
typename
T,
typename
DESCRIPTOR,
typename
MODEL,
typename
PARAMS,
typename
FIELD=descriptors::AD_FIELD,
typename
SOURCE=
void
>
52
class
FdPostProcessor3D
:
public
FdBasePostProcessor3D
<T,DESCRIPTOR,FIELD,SOURCE> {
53
public
:
54
using
parameters
= PARAMS;
55
static
constexpr
OperatorScope
scope
=
OperatorScope::PerCellWithParameters
;
56
FdPostProcessor3D
();
57
int
getPriority
()
const
;
58
template
<
typename
CELL,
typename
PARAMETERS>
59
void
apply
(CELL& cell, PARAMETERS& vars)
any_platform
;
60
};
61
62
}
// namespace olb
63
64
#endif
olb::FdBasePostProcessor3D
Definition
fdPostProcessor3D.h:40
olb::FdBasePostProcessor3D::applySourceTerm
void applySourceTerm(T *fNew, CELL &cell) any_platform
Definition
fdPostProcessor3D.hh:45
olb::FdBasePostProcessor3D::FdBasePostProcessor3D
FdBasePostProcessor3D()
Definition
fdPostProcessor3D.hh:38
olb::FdPostProcessor3D
Definition
fdPostProcessor3D.h:52
olb::FdPostProcessor3D::apply
void apply(CELL &cell, PARAMETERS &vars) any_platform
Definition
fdPostProcessor3D.hh:69
olb::FdPostProcessor3D::scope
static constexpr OperatorScope scope
Definition
fdPostProcessor3D.h:55
olb::FdPostProcessor3D::getPriority
int getPriority() const
Definition
fdPostProcessor3D.hh:62
olb::FdPostProcessor3D::FdPostProcessor3D
FdPostProcessor3D()
Definition
fdPostProcessor3D.hh:56
olb::FdPostProcessor3D::parameters
PARAMS parameters
Definition
fdPostProcessor3D.h:54
olb
Top level namespace for all of OpenLB.
Definition
boundaryPostProcessors2D.h:34
olb::OperatorScope
OperatorScope
Block-wide operator application scopes.
Definition
operator.h:54
olb::OperatorScope::PerCellWithParameters
@ PerCellWithParameters
Per-cell application with parameters, i.e. OPERATOR::apply is passed a CELL concept implementation an...
any_platform
#define any_platform
Define preprocessor macros for device-side functions, constant storage.
Definition
platform.h:78
Generated on Tue Mar 5 2024 09:57:52 for OpenLB by
1.10.0