MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
lbinterface.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#ifndef LBINTERFACE_H
8#define LBINTERFACE_H
9#include <iostream>
10#include <vector>
11
12#include "enums.h"
13#include "variables.h"
14
15template <class T>
16class Collector;
17template <MInt nDim>
18class LbSolver;
19class LbInterfaceCell;
20class LbParentCell;
21template <MInt nDim>
22class CartesianGrid;
23
30template <MInt nDim>
32 public:
33 template <MInt nDim_>
34 friend class LbSolver;
35
36 public:
38 virtual ~LbInterface();
39
40 // Main adaptation functions
41 virtual void refineCell(const MInt parentId, const MInt* childIds) = 0;
42 virtual void removeChildren(const MInt parentId) = 0;
43
44 // Debug Functions:
45 virtual void printInterfaceCells();
47 void colorInterface();
48
49 protected:
51
53
54 std::vector<Collector<LbInterfaceCell>*> m_interfaceChildren;
55 std::vector<Collector<LbParentCell>*> m_interfaceParents;
56
57 // Use an external pressure force
61
63
66
68
69
70 // Flow variables for prolongation and restriction
72
76
79
81};
82
83#endif
MFloat m_nu
Definition: lbinterface.h:71
void colorInterface()
Sets the interface cells to defined values (to be watched e.g. in DX)
Definition: lbinterface.cpp:91
virtual void removeChildren(const MInt parentId)=0
MPrimitiveVariables< nDim > * PV
Definition: lbinterface.h:67
MBool m_cellDependentForcing
Definition: lbinterface.h:58
MInt m_isThermal
Definition: lbinterface.h:77
MInt m_methodId
Definition: lbinterface.h:62
MBool m_externalForcing
Definition: lbinterface.h:59
MInt m_noDistributions
Definition: lbinterface.h:52
MInt m_interfaceId
Definition: lbinterface.h:50
virtual ~LbInterface()
Destructor.
Definition: lbinterface.cpp:54
MBool m_isEELiquid
Definition: lbinterface.h:60
std::vector< Collector< LbParentCell > * > m_interfaceParents
Definition: lbinterface.h:55
MFloat * m_Fg
Definition: lbinterface.h:65
MString m_interfaceMethod
Definition: lbinterface.h:73
MFloat * m_Fext
Definition: lbinterface.h:64
virtual void printInterfaceCells()
Definition: lbinterface.cpp:60
virtual void refineCell(const MInt parentId, const MInt *childIds)=0
MInt m_innerEnergy
Definition: lbinterface.h:78
MString m_adaptationInitMethod
Definition: lbinterface.h:74
MInt m_noCoefficients
Definition: lbinterface.h:75
LbSolver< nDim > * m_solver
Definition: lbinterface.h:80
std::vector< Collector< LbInterfaceCell > * > m_interfaceChildren
Definition: lbinterface.h:54
Storage of the Position of the Primitive Variables (u, v, w, T, p) in the value vectors of the solver...
Definition: variables.h:110
int32_t MInt
Definition: maiatypes.h:62
std::basic_string< char > MString
Definition: maiatypes.h:55
double MFloat
Definition: maiatypes.h:52
bool MBool
Definition: maiatypes.h:58