MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
lbsrctermgravity.h
Go to the documentation of this file.
1// Copyright (C) 2024 The m-AIA AUTHORS
2//
3// This file is part of m-AIA (https://git.rwth-aachen.de/aia/m-AIA/m-AIA)
4//
5// SPDX-License-Identifier: LGPL-3.0-only
6
7#include "lbsolverdxqy.h"
8#include "lbsrcterm.h"
9
10namespace maia::lb {
11
12template <MInt nDim, MInt nDist, class SysEqn>
13class LbSrcTermGravity : public LbSrcTerm<nDim, nDist, SysEqn> {
14 public:
16
17 void readProperties() override;
18 void init() override;
19
20 void apply_preCollision() override{};
21 void apply_postCollision() override{};
22 void apply_postPropagation() override;
23
24 private:
26
27 enum struct Mode { DIRECT, GALILEO } m_mode;
28
29 std::array<MFloat, nDim> m_Ga{};
30
31 std::array<MFloat, nDim> m_acceleration{};
32 std::array<MFloat, nDist> m_forcing{};
33};
34
35} // namespace maia::lb
This class represents all LB models.
Definition: lbsolverdxqy.h:29
std::array< MFloat, nDim > m_acceleration
void apply_postPropagation() override
std::array< MFloat, nDist > m_forcing
LbSrcTermGravity(LbSolverDxQy< nDim, nDist, SysEqn > *p_solver)
enum maia::lb::LbSrcTermGravity::Mode m_mode
void apply_preCollision() override
void readProperties() override
std::array< MFloat, nDim > m_Ga
LbSolverDxQy< nDim, nDist, SysEqn > * m_solver
void apply_postCollision() override
Abstract class for lb source terms.
Definition: lbsrcterm.h:22