/home/runner/work/amr-wind/amr-wind/amr-wind/overset/TiogaInterface.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/overset/TiogaInterface.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
TiogaInterface.H
Go to the documentation of this file.
1#ifndef TIOGAINTERFACE_H
2#define TIOGAINTERFACE_H
3
4#include <vector>
7
8namespace amr_wind {
9
10class IntField;
11class ScratchField;
12class IntScratchField;
13
47
48class TiogaInterface : public OversetManager::Register<TiogaInterface>
49{
50public:
51 static std::string identifier() { return "TIOGA"; }
52
53 explicit TiogaInterface(CFDSim& sim);
54
60 void post_init_actions() override;
61
64 void post_regrid_actions() override;
65
73 void pre_overset_conn_work() override;
74
80 void post_overset_conn_work() override;
81
88 const std::vector<std::string>& cell_vars,
89 const std::vector<std::string>& node_vars) override;
90
93 void update_solution() override;
94
96
98 {
99 AMREX_ALWAYS_ASSERT(m_qcell_host);
100 return *m_qcell_host;
101 }
103 {
104 AMREX_ALWAYS_ASSERT(m_qnode_host);
105 return *m_qnode_host;
106 }
107
108private:
109 void amr_to_tioga_mesh();
110
111 void amr_to_tioga_iblank();
112
114
117
120
122 std::unique_ptr<IntScratchField> m_iblank_cell_host;
123
125 std::unique_ptr<IntScratchField> m_iblank_node_host;
126
129
131
132 std::unique_ptr<AMROversetInfo> m_amr_data;
133
134 std::unique_ptr<ScratchField> m_qcell;
135 std::unique_ptr<ScratchField> m_qnode;
136
137 std::unique_ptr<ScratchField> m_qcell_host;
138 std::unique_ptr<ScratchField> m_qnode_host;
139
140 std::vector<std::string> m_cell_vars;
141 std::vector<std::string> m_node_vars;
142};
143
144} // namespace amr_wind
145
146#endif /* TIOGAINTERFACE_H */
Definition CFDSim.H:54
Definition IntField.H:20
Definition ScratchField.H:30
Definition TiogaInterface.H:49
AMROversetInfo & amr_overset_info()
Definition TiogaInterface.H:95
void pre_overset_conn_work() override
Definition TiogaInterface.cpp:70
void post_init_actions() override
Definition TiogaInterface.cpp:51
IntField & m_mask_cell
AMReX mask for linear system solves.
Definition TiogaInterface.H:128
void amr_to_tioga_iblank()
Definition TiogaInterface.cpp:367
void post_regrid_actions() override
Definition TiogaInterface.cpp:60
std::unique_ptr< AMROversetInfo > m_amr_data
Definition TiogaInterface.H:132
TiogaInterface(CFDSim &sim)
Definition TiogaInterface.cpp:33
std::unique_ptr< IntScratchField > m_iblank_node_host
IBLANK for nodal fields on host.
Definition TiogaInterface.H:125
ScratchField & qvars_cell()
Definition TiogaInterface.H:97
std::unique_ptr< ScratchField > m_qcell
Definition TiogaInterface.H:134
IntField & m_iblank_cell
IBLANK on cell centered fields.
Definition TiogaInterface.H:116
void register_solution(const std::vector< std::string > &cell_vars, const std::vector< std::string > &node_vars) override
Definition TiogaInterface.cpp:114
std::vector< std::string > m_cell_vars
Definition TiogaInterface.H:140
std::vector< std::string > m_node_vars
Definition TiogaInterface.H:141
IntField & m_iblank_node
IBLANK for nodal fields.
Definition TiogaInterface.H:119
std::unique_ptr< ScratchField > m_qnode
Definition TiogaInterface.H:135
static std::string identifier()
Definition TiogaInterface.H:51
void post_overset_conn_work() override
Definition TiogaInterface.cpp:89
void update_solution() override
Definition TiogaInterface.cpp:238
CFDSim & m_sim
Definition TiogaInterface.H:113
std::unique_ptr< IntScratchField > m_iblank_cell_host
IBLANK on cell centered fields on host.
Definition TiogaInterface.H:122
std::unique_ptr< ScratchField > m_qnode_host
Definition TiogaInterface.H:138
std::unique_ptr< ScratchField > m_qcell_host
Definition TiogaInterface.H:137
ScratchField & qvars_node()
Definition TiogaInterface.H:102
IntField & m_mask_node
Definition TiogaInterface.H:130
void amr_to_tioga_mesh()
Definition TiogaInterface.cpp:286
Definition BCInterface.cpp:7
Definition TiogaInterface.H:17
AType< amrex::Real * > qnode
Definition TiogaInterface.H:42
AType< int > level
Definition TiogaInterface.H:28
const int ngrids_global
Definition TiogaInterface.H:44
AType< amrex::Real * > qcell
Definition TiogaInterface.H:41
AMROversetInfo(const int nglobal, const int nlocal)
Definition TiogaInterface.cpp:14
AType< int > global_idmap
Definition TiogaInterface.H:38
AType< amrex::Real > xlo
Definition TiogaInterface.H:34
AType< amrex::Real > dx
Definition TiogaInterface.H:35
AType< int > dims
Definition TiogaInterface.H:33
AType< int * > iblank_cell
Definition TiogaInterface.H:40
const int ngrids_local
Definition TiogaInterface.H:45
AType< int > mpi_rank
Definition TiogaInterface.H:29
AType< int > ilow
Definition TiogaInterface.H:31
AType< int > local_id
Definition TiogaInterface.H:30
AType< int * > iblank_node
Definition TiogaInterface.H:39
AType< int > ihigh
Definition TiogaInterface.H:32
Definition overset_types.H:12