ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_SBMBulkProjection.H
Go to the documentation of this file.
1 #ifndef ERF_SBM_BULK_PROJECTION_H_
2 #define ERF_SBM_BULK_PROJECTION_H_
3 
4 #include "ERF_SBMLayout.H"
5 
6 #include <AMReX_MultiFab.H>
7 
8 #include <vector>
9 
10 namespace erf_sbm {
11 
15 };
16 
17 /** Fixed cloud/rain projection from the liquid population's mass bins. */
19 public:
20  explicit SBMBulkProjection (const SBMLayout& layout);
21 
22  [[nodiscard]] BulkProjection apply (const std::vector<amrex::Real>& auxiliary) const;
23  void apply_to_core (const amrex::Box& box,
24  const amrex::Array4<const amrex::Real>& auxiliary,
25  const amrex::Array4<amrex::Real>& core,
26  int qc_component, int qr_component) const;
27 
28  [[nodiscard]] int cloud_offset () const noexcept { return m_cloud_offset; }
29  [[nodiscard]] int cloud_count () const noexcept { return m_cloud_count; }
30  [[nodiscard]] int rain_offset () const noexcept { return m_rain_offset; }
31  [[nodiscard]] int rain_count () const noexcept { return m_rain_count; }
32 
33 private:
35  int m_cloud_count{0};
36  int m_rain_offset{0};
37  int m_rain_count{0};
38 };
39 
40 } // namespace erf_sbm
41 
42 #endif
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_SBMBulkProjection.H:18
void apply_to_core(const amrex::Box &box, const amrex::Array4< const amrex::Real > &auxiliary, const amrex::Array4< amrex::Real > &core, int qc_component, int qr_component) const
Definition: ERF_SBMBulkProjection.cpp:43
int cloud_count() const noexcept
Definition: ERF_SBMBulkProjection.H:29
int m_rain_count
Definition: ERF_SBMBulkProjection.H:37
int cloud_offset() const noexcept
Definition: ERF_SBMBulkProjection.H:28
SBMBulkProjection(const SBMLayout &layout)
Definition: ERF_SBMBulkProjection.cpp:12
int m_rain_offset
Definition: ERF_SBMBulkProjection.H:36
int rain_count() const noexcept
Definition: ERF_SBMBulkProjection.H:31
int rain_offset() const noexcept
Definition: ERF_SBMBulkProjection.H:30
BulkProjection apply(const std::vector< amrex::Real > &auxiliary) const
Definition: ERF_SBMBulkProjection.cpp:28
int m_cloud_count
Definition: ERF_SBMBulkProjection.H:35
int m_cloud_offset
Definition: ERF_SBMBulkProjection.H:34
Definition: ERF_SBMLayout.H:94
Definition: ERF.H:108
Definition: ERF_SBMBulkProjection.H:12
amrex::Real qc
Definition: ERF_SBMBulkProjection.H:13
amrex::Real qr
Definition: ERF_SBMBulkProjection.H:14