AMReX-Hydro
AMReX-based hydro routines for low Mach number flows
hydro_godunov.H
Go to the documentation of this file.
1 /**
2  * \file hydro_godunov.H
3  *
4  * \addtogroup Godunov
5  * @{
6  */
7 
8 #ifndef HYDRO_GODUNOV_H
9 #define HYDRO_GODUNOV_H
10 
11 #include <AMReX_MultiFabUtil.H>
12 #include <AMReX_BCRec.H>
13 #include <hydro_godunov_ppm.H>
14 
15 namespace Godunov {
16 
17 
18 void ExtrapVelToFaces ( amrex::MultiFab const& a_vel,
19  amrex::MultiFab const& a_forces,
21  amrex::MultiFab& a_vmac,
22  amrex::MultiFab& a_wmac ),
23  const amrex::Vector<amrex::BCRec> & h_bcrec,
24  const amrex::BCRec * d_bcrec,
25  const amrex::Geometry& geom, amrex::Real l_dt,
26  bool use_ppm, bool use_forces_in_trans,
27  int limiter_type = PPM::VanLeer,
28  bool allow_inflow_on_outflow = false,
29  amrex::iMultiFab const* BC_MF = nullptr);
30 
32  amrex::Box const& ybx,
33  amrex::Box const& zbx),
35  amrex::Array4<amrex::Real> const& v_ad,
36  amrex::Array4<amrex::Real> const& w_ad),
45  const amrex::Box& domain,
46  amrex::Real dt,
47  amrex::BCRec const* pbc,
48  bool use_forces_in_trans,
49  amrex::Array4<int const> const& bc_arr = {});
50 
51 void ExtrapVelToFacesOnBox (amrex::Box const& bx, int ncomp,
52  AMREX_D_DECL(amrex::Box const& xbx,
53  amrex::Box const& ybx,
54  amrex::Box const& zbx),
57  amrex::Array4<amrex::Real> const& qz),
63  amrex::Array4<amrex::Real> const& Imy,
64  amrex::Array4<amrex::Real> const& Imz),
66  amrex::Array4<amrex::Real> const& Ipy,
67  amrex::Array4<amrex::Real> const& Ipz),
69  const amrex::Box& domain,
70  const amrex::Real* dx,
71  amrex::Real dt,
72  amrex::BCRec const* pbc,
73  bool use_forces_in_trans,
74  amrex::Real* p,
75  bool allow_inflow_on_outflow = false,
76  amrex::Array4<int const> const& bc_arr = {});
77 
78 void ComputeEdgeState ( amrex::Box const& bx, int ncomp,
82  amrex::Array4<amrex::Real> const& yedge,
83  amrex::Array4<amrex::Real> const& zedge),
89  amrex::Geometry geom,
90  amrex::Real dt,
91  amrex::BCRec const* pbc,
92  int const* iconserv,
93  bool use_ppm, bool use_forces_in_trans,
94  bool is_velocity,
95  int limiter_type = PPM::VanLeer,
96  bool allow_inflow_on_outflow = false,
97  amrex::Array4<int const> const& bc_arr = {});
98 }
99 
100 #endif
101 /** @} */
#define AMREX_D_DECL(a, b, c)
Definition: hydro_godunov.H:15
void ExtrapVelToFacesOnBox(amrex::Box const &bx, int ncomp, AMREX_D_DECL(amrex::Box const &xbx, amrex::Box const &ybx, amrex::Box const &zbx), AMREX_D_DECL(amrex::Array4< amrex::Real > const &qx, amrex::Array4< amrex::Real > const &qy, amrex::Array4< amrex::Real > const &qz), amrex::Array4< amrex::Real const > const &q, AMREX_D_DECL(amrex::Array4< amrex::Real const > const &u_ad, amrex::Array4< amrex::Real const > const &v_ad, amrex::Array4< amrex::Real const > const &w_ad), AMREX_D_DECL(amrex::Array4< amrex::Real > const &Imx, amrex::Array4< amrex::Real > const &Imy, amrex::Array4< amrex::Real > const &Imz), AMREX_D_DECL(amrex::Array4< amrex::Real > const &Ipx, amrex::Array4< amrex::Real > const &Ipy, amrex::Array4< amrex::Real > const &Ipz), amrex::Array4< amrex::Real const > const &f, const amrex::Box &domain, const amrex::Real *dx, amrex::Real dt, amrex::BCRec const *pbc, bool use_forces_in_trans, amrex::Real *p, bool allow_inflow_on_outflow=false, amrex::Array4< int const > const &bc_arr={})
void ExtrapVelToFaces(amrex::MultiFab const &a_vel, amrex::MultiFab const &a_forces, AMREX_D_DECL(amrex::MultiFab &a_umac, amrex::MultiFab &a_vmac, amrex::MultiFab &a_wmac), const amrex::Vector< amrex::BCRec > &h_bcrec, const amrex::BCRec *d_bcrec, const amrex::Geometry &geom, amrex::Real l_dt, bool use_ppm, bool use_forces_in_trans, int limiter_type=PPM::VanLeer, bool allow_inflow_on_outflow=false, amrex::iMultiFab const *BC_MF=nullptr)
void ComputeAdvectiveVel(AMREX_D_DECL(amrex::Box const &xbx, amrex::Box const &ybx, amrex::Box const &zbx), AMREX_D_DECL(amrex::Array4< amrex::Real > const &u_ad, amrex::Array4< amrex::Real > const &v_ad, amrex::Array4< amrex::Real > const &w_ad), AMREX_D_DECL(amrex::Array4< amrex::Real const > const &Imx, amrex::Array4< amrex::Real const > const &Imy, amrex::Array4< amrex::Real const > const &Imz), AMREX_D_DECL(amrex::Array4< amrex::Real const > const &Ipx, amrex::Array4< amrex::Real const > const &Ipy, amrex::Array4< amrex::Real const > const &Ipz), amrex::Array4< amrex::Real const > const &vel, amrex::Array4< amrex::Real const > const &f, const amrex::Box &domain, amrex::Real dt, amrex::BCRec const *pbc, bool use_forces_in_trans, amrex::Array4< int const > const &bc_arr={})
void ComputeEdgeState(amrex::Box const &bx, int ncomp, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &qnph, AMREX_D_DECL(amrex::Array4< amrex::Real > const &xedge, amrex::Array4< amrex::Real > const &yedge, amrex::Array4< amrex::Real > const &zedge), AMREX_D_DECL(amrex::Array4< amrex::Real const > const &umac, amrex::Array4< amrex::Real const > const &vmac, amrex::Array4< amrex::Real const > const &wmac), amrex::Array4< amrex::Real const > const &divu, amrex::Array4< amrex::Real const > const &fq, amrex::Geometry geom, amrex::Real dt, amrex::BCRec const *pbc, int const *iconserv, bool use_ppm, bool use_forces_in_trans, bool is_velocity, int limiter_type=PPM::VanLeer, bool allow_inflow_on_outflow=false, amrex::Array4< int const > const &bc_arr={})
@ VanLeer
Definition: hydro_godunov_ppm.H:84