AMReX-Hydro
AMReX-based hydro routines for low Mach number flows
 
Loading...
Searching...
No Matches
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
15namespace Godunov {
16
17
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),
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
51void 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),
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
78void 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