ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
walberla/initialize.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2021-2023 The ESPResSo project
3
*
4
* This file is part of ESPResSo.
5
*
6
* ESPResSo is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* ESPResSo is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include <
config/config.hpp
>
21
22
#ifdef ESPRESSO_WALBERLA
23
24
#include "
LatticeWalberla.hpp
"
25
26
#include "
LBFluid.hpp
"
27
#include "
LBFluidNode.hpp
"
28
#include "
LBFluidSlice.hpp
"
29
30
#include "
EKContainer.hpp
"
31
#include "
EKFFT.hpp
"
32
#include "
EKNone.hpp
"
33
#include "
EKPoissonSolverNode.hpp
"
34
#include "
EKPoissonSolverSlice.hpp
"
35
36
#include "
EKSpecies.hpp
"
37
#include "
EKSpeciesNode.hpp
"
38
#include "
EKSpeciesSlice.hpp
"
39
40
#include "
EKReactant.hpp
"
41
#include "
EKReaction.hpp
"
42
#include "
EKReactions.hpp
"
43
44
#include <
script_interface/ObjectHandle.hpp
>
45
46
#include <
utils/Factory.hpp
>
47
48
#include <unordered_map>
49
50
#ifdef ESPRESSO_WALBERLA_STATIC_ASSERT
51
#error "waLBerla headers should not be visible to the ESPResSo script interface"
52
#endif
53
54
namespace
ScriptInterface::walberla
{
55
56
void
initialize
(
Utils::Factory<ObjectHandle>
*
om
) {
57
om
->register_new<
LatticeWalberla
>(
"walberla::Lattice"
);
58
59
om
->register_new<
LBFluid
>(
"walberla::LBFluid"
);
60
om
->register_new<
LBFluidNode
>(
"walberla::LBFluidNode"
);
61
om
->register_new<
LBFluidSlice
>(
"walberla::LBFluidSlice"
);
62
om
->register_new<
LBVTKHandle
>(
"walberla::LBVTKHandle"
);
63
64
om
->register_new<
EKContainer
>(
"walberla::EKContainer"
);
65
om
->register_new<
EKSpecies
>(
"walberla::EKSpecies"
);
66
om
->register_new<
EKSpeciesNode
>(
"walberla::EKSpeciesNode"
);
67
om
->register_new<
EKSpeciesSlice
>(
"walberla::EKSpeciesSlice"
);
68
#ifdef ESPRESSO_WALBERLA_FFT
69
om
->register_new<
EKFFT
>(
"walberla::EKFFT"
);
70
#endif
// WALBERLA_FFT
71
om
->register_new<
EKNone
>(
"walberla::EKNone"
);
72
om
->register_new<
EKPoissonSolverNode
>(
"walberla::EKPoissonSolverNode"
);
73
om
->register_new<
EKPoissonSolverSlice
>(
"walberla::EKPoissonSolverSlice"
);
74
om
->register_new<
EKVTKHandle
>(
"walberla::EKVTKHandle"
);
75
om
->register_new<
EKPoissonVTKHandle
>(
"walberla::EKPoissonVTKHandle"
);
76
77
om
->register_new<
EKReactant
>(
"walberla::EKReactant"
);
78
om
->register_new<
EKBulkReaction
>(
"walberla::EKBulkReaction"
);
79
om
->register_new<
EKIndexedReaction
>(
"walberla::EKIndexedReaction"
);
80
om
->register_new<
EKReactions
>(
"walberla::EKReactions"
);
81
}
82
83
#ifdef ESPRESSO_WALBERLA_FFT
84
std::unordered_map<std::string, int>
const
EKPoissonVTKHandle::obs_map = {
85
{
"potential"
,
static_cast<
int
>
(
EKPoissonOutputVTK::potential
)},
86
};
87
#else
88
std::unordered_map<std::string, int>
const
EKPoissonVTKHandle::obs_map = {};
89
#endif
90
91
}
// namespace ScriptInterface::walberla
92
93
#endif
// ESPRESSO_WALBERLA
EKFFT.hpp
EKPoissonSolverNode.hpp
EKPoissonSolverSlice.hpp
EKReaction.hpp
EKSpeciesNode.hpp
EKSpeciesSlice.hpp
EKSpecies.hpp
Factory.hpp
LBFluidNode.hpp
LBFluidSlice.hpp
LBFluid.hpp
ObjectHandle.hpp
ScriptInterface::walberla::EKBulkReaction
Definition
EKReaction.hpp:110
ScriptInterface::walberla::EKContainer
Definition
script_interface/walberla/EKContainer.hpp:51
ScriptInterface::walberla::EKFFT
Definition
EKFFT.hpp:48
ScriptInterface::walberla::EKIndexedReaction
Definition
EKReaction.hpp:136
ScriptInterface::walberla::EKNone
Definition
script_interface/walberla/EKNone.hpp:38
ScriptInterface::walberla::EKPoissonSolverNode
Definition
EKPoissonSolverNode.hpp:43
ScriptInterface::walberla::EKPoissonSolverSlice
Definition
EKPoissonSolverSlice.hpp:46
ScriptInterface::walberla::EKPoissonVTKHandle
Definition
EKPoissonSolver.hpp:39
ScriptInterface::walberla::EKReactant
Definition
script_interface/walberla/EKReactant.hpp:36
ScriptInterface::walberla::EKReactions
Definition
script_interface/walberla/EKReactions.hpp:40
ScriptInterface::walberla::EKSpeciesNode
Definition
EKSpeciesNode.hpp:45
ScriptInterface::walberla::EKSpeciesSlice
Definition
EKSpeciesSlice.hpp:113
ScriptInterface::walberla::EKSpecies
Definition
EKSpecies.hpp:64
ScriptInterface::walberla::EKVTKHandle
Definition
EKSpecies.hpp:48
ScriptInterface::walberla::LBFluidNode
Definition
LBFluidNode.hpp:47
ScriptInterface::walberla::LBFluidSlice
Definition
LBFluidSlice.hpp:101
ScriptInterface::walberla::LBFluid
Definition
LBFluid.hpp:70
ScriptInterface::walberla::LBVTKHandle
Definition
LBFluid.hpp:54
ScriptInterface::walberla::LatticeWalberla
Definition
script_interface/walberla/LatticeWalberla.hpp:42
Utils::Factory
Factory template.
Definition
Factory.hpp:78
config.hpp
ScriptInterface::walberla
Definition
script_interface/walberla/EKContainer.hpp:49
ScriptInterface::walberla::initialize
void initialize(Utils::Factory< ObjectHandle > *om)
Definition
walberla/initialize.cpp:56
ScriptInterface::get_value
T get_value(Variant const &v)
Extract value of specific type T from a Variant.
Definition
get_value.hpp:398
EKNone.hpp
EKReactions.hpp
LatticeWalberla.hpp
EKPoissonOutputVTK::potential
@ potential
EKContainer.hpp
EKReactant.hpp
src
script_interface
walberla
initialize.cpp
Generated on Thu Feb 12 2026 02:30:09 for ESPResSo by
1.9.8