/home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/temperature/source_terms/BodyForce.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/temperature/source_terms/BodyForce.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
BodyForce.H
Go to the documentation of this file.
1#ifndef BODYFORCE2_H
2#define BODYFORCE2_H
3// This must be BODYFORCE2_H because another BODYFORCE_H exists
4
5#include <cstddef>
8#include "AMReX_GpuContainers.H"
9#include "AMReX_REAL.H"
10#include "AMReX_Vector.H"
11
13
14class BodyForce : public TemperatureSource::Register<BodyForce>
15{
16
17public:
18 static std::string identifier() { return "BodyForce"; }
19
20 explicit BodyForce(const CFDSim& /*sim*/);
21
22 ~BodyForce() override;
23
24 void operator()(
25 int lev,
26 const amrex::MFIter& /*mfi*/,
27 const amrex::Box& bx,
28 FieldState /*fstate*/,
29 const amrex::Array4<amrex::Real>& src_term) const override;
30
31 void read_bforce_profile(const std::string& filename);
32
33private:
35 const amrex::AmrCore& m_mesh;
36
37 std::string m_type{"height_varying"};
38 std::string m_bforce_file;
40
41 amrex::Gpu::DeviceVector<amrex::Real> m_prof_theta;
42 amrex::Gpu::DeviceVector<amrex::Real> m_ht;
43};
44
45} // namespace amr_wind::pde::temperature
46
47#endif
Definition CFDSim.H:54
Definition SimTime.H:33
amrex::Gpu::DeviceVector< amrex::Real > m_ht
Definition BodyForce.H:42
const SimTime & m_time
Definition BodyForce.H:34
size_t m_bforce_profile_nhts
Definition BodyForce.H:39
std::string m_bforce_file
Definition BodyForce.H:38
void read_bforce_profile(const std::string &filename)
Definition BodyForce.cpp:40
std::string m_type
Definition BodyForce.H:37
const amrex::AmrCore & m_mesh
Definition BodyForce.H:35
amrex::Gpu::DeviceVector< amrex::Real > m_prof_theta
Definition BodyForce.H:41
static std::string identifier()
Definition BodyForce.H:18
void operator()(int lev, const amrex::MFIter &, const amrex::Box &bx, FieldState, const amrex::Array4< amrex::Real > &src_term) const override
Definition BodyForce.cpp:68
BodyForce(const CFDSim &)
Definition BodyForce.cpp:22
FieldState
Definition FieldDescTypes.H:16
Definition ABLMesoForcingTemp.cpp:16