Loading [MathJax]/extensions/TeX/AMSmath.js
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
LBNone.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 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#pragma once
21
22#include "utils.hpp"
23
24namespace System {
25class System;
26}
27
28namespace LB {
29
30struct LBNone {
31 void propagate() { throw NoLBActive{}; }
32 void ghost_communication() { throw NoLBActive{}; }
35 double get_agrid() const { throw NoLBActive{}; }
36 double get_tau() const { throw NoLBActive{}; }
37 double get_kT() const { throw NoLBActive{}; }
39 bool is_gpu() const { throw NoLBActive{}; }
40 std::optional<Utils::Vector3d> get_velocity_at_pos(Utils::Vector3d const &,
41 bool) const {
42 throw NoLBActive{};
43 }
44 std::optional<double> get_density_at_pos(Utils::Vector3d const &,
45 bool) const {
46 throw NoLBActive{};
47 }
49 Utils::Vector3d const &) const {
50 throw NoLBActive{};
51 }
52 void add_forces_at_pos(std::vector<Utils::Vector3d> const &,
53 std::vector<Utils::Vector3d> const &) const {
54 throw NoLBActive{};
55 }
56 std::vector<Utils::Vector3d>
57 get_velocities_at_pos(std::vector<Utils::Vector3d> const &) const {
58 throw NoLBActive{};
59 }
61 void veto_time_step(double) const { throw NoLBActive{}; }
62 void veto_kT(double) const { throw NoLBActive{}; }
63 void sanity_checks(System::System const &) const { throw NoLBActive{}; }
64 void lebc_sanity_checks(unsigned int, unsigned int) const {
65 throw NoLBActive{};
66 }
67 void veto_boxl_change() const { throw NoLBActive{}; }
68 void on_cell_structure_change() const { throw NoLBActive{}; }
69 void on_boxl_change() const { throw NoLBActive{}; }
70 void on_node_grid_change() const { throw NoLBActive{}; }
71 void on_timestep_change() const { throw NoLBActive{}; }
72 void on_temperature_change() const { throw NoLBActive{}; }
73 void on_lees_edwards_change() const { throw NoLBActive{}; }
74 void update_collision_model() const { throw NoLBActive{}; }
75};
76
77} // namespace LB
Main system class.
void ghost_communication_vel()
Definition LBNone.hpp:34
void ghost_communication()
Definition LBNone.hpp:32
void on_lees_edwards_change() const
Definition LBNone.hpp:73
void veto_time_step(double) const
Definition LBNone.hpp:61
void veto_boxl_change() const
Definition LBNone.hpp:67
bool add_force_at_pos(Utils::Vector3d const &, Utils::Vector3d const &) const
Definition LBNone.hpp:48
std::optional< double > get_density_at_pos(Utils::Vector3d const &, bool) const
Definition LBNone.hpp:44
Utils::VectorXd< 9 > get_pressure_tensor() const
Definition LBNone.hpp:38
double get_kT() const
Definition LBNone.hpp:37
void on_temperature_change() const
Definition LBNone.hpp:72
bool is_gpu() const
Definition LBNone.hpp:39
Utils::Vector3d get_momentum() const
Definition LBNone.hpp:60
double get_tau() const
Definition LBNone.hpp:36
void on_boxl_change() const
Definition LBNone.hpp:69
std::optional< Utils::Vector3d > get_velocity_at_pos(Utils::Vector3d const &, bool) const
Definition LBNone.hpp:40
void add_forces_at_pos(std::vector< Utils::Vector3d > const &, std::vector< Utils::Vector3d > const &) const
Definition LBNone.hpp:52
void on_node_grid_change() const
Definition LBNone.hpp:70
void lebc_sanity_checks(unsigned int, unsigned int) const
Definition LBNone.hpp:64
void propagate()
Definition LBNone.hpp:31
void ghost_communication_pdf()
Definition LBNone.hpp:33
double get_agrid() const
Definition LBNone.hpp:35
void on_cell_structure_change() const
Definition LBNone.hpp:68
void sanity_checks(System::System const &) const
Definition LBNone.hpp:63
void on_timestep_change() const
Definition LBNone.hpp:71
void veto_kT(double) const
Definition LBNone.hpp:62
std::vector< Utils::Vector3d > get_velocities_at_pos(std::vector< Utils::Vector3d > const &) const
Definition LBNone.hpp:57
void update_collision_model() const
Definition LBNone.hpp:74