Athena++/Atmosphere
Planetary Atmosphere Simulator
Hydro Class Reference

#include <hydro.hpp>

Public Member Functions

 Hydro (MeshBlock *pmb, ParameterInput *pin)
 
 ~Hydro ()
 
void NewBlockTimeStep ()
 
void AddFluxDivergence (const Real wght, AthenaArray< Real > &u_out)
 
void CalculateFluxes (AthenaArray< Real > &w, FaceField &b, AthenaArray< Real > &bcc, const int order)
 
void CalculateFluxes_STS ()
 
void RiemannSolver (const int k, const int j, const int il, const int iu, const int ivx, AthenaArray< Real > &wl, AthenaArray< Real > &wr, AthenaArray< Real > &flx, const AthenaArray< Real > &dxw)
 The HLLC Riemann solver for adiabatic hydrodynamics (use HLLE for isothermal) More...
 
void AddGravityFlux ()
 
void AddGravityFluxWithGflx ()
 
void CalculateGravityFlux (AthenaArray< Real > &phi_in)
 
void CheckHydro ()
 
void VaporConcentrationLimiter (AthenaArray< Real > &u)
 

Public Attributes

MeshBlockpmy_block
 
AthenaArray< Realu
 
AthenaArray< Realw
 
AthenaArray< Realu1
 
AthenaArray< Realw1
 
AthenaArray< Realu2
 
AthenaArray< Realflux [3]
 
AthenaArray< Realdu
 
int implicit_flag
 
bool limit_to_advection
 
Real min_tem
 
Real scale_height
 
Real reference_pressure
 
AthenaArray< Realcoarse_cons_
 
AthenaArray< Realcoarse_prim_
 
int refinement_idx {-1}
 
AthenaArray< Realu_cc
 
AthenaArray< Realw_cc
 
HydroBoundaryVariable hbvar
 
HydroSourceTerms hsrc
 
HydroDiffusion hdif
 
Decompositionpdec
 
ImplicitSolverpimp
 
RingFilterpfilter
 

Private Member Functions

void AddDiffusionFluxes ()
 
Real GetWeightForCT (Real dflx, Real rhol, Real rhor, Real dx, Real dt)
 

Private Attributes

AthenaArray< Realdt1_
 
AthenaArray< Realdt2_
 
AthenaArray< Realdt3_
 
AthenaArray< Realdxw_
 
AthenaArray< Realx1face_area_
 
AthenaArray< Realx2face_area_
 
AthenaArray< Realx3face_area_
 
AthenaArray< Realx2face_area_p1_
 
AthenaArray< Realx3face_area_p1_
 
AthenaArray< Realcell_volume_
 
AthenaArray< Realwl_
 
AthenaArray< Realwr_
 
AthenaArray< Realwlb_
 
AthenaArray< Realdflx_
 
AthenaArray< Realbb_normal_
 
AthenaArray< Reallambdas_p_l_
 
AthenaArray< Reallambdas_m_l_
 
AthenaArray< Reallambdas_p_r_
 
AthenaArray< Reallambdas_m_r_
 
AthenaArray< Realg_
 
AthenaArray< Realgi_
 
AthenaArray< Realcons_
 
AthenaArray< Realgflx [3]
 
AthenaArray< Realgflx_old [3]
 
AthenaArray< Realscr1_nkji_
 
AthenaArray< Realscr2_nkji_
 
AthenaArray< Realwl3d_
 
AthenaArray< Realwr3d_
 
AthenaArray< Reallaplacian_l_fc_
 
AthenaArray< Reallaplacian_r_fc_
 
TimeStepFunc UserTimeStep_
 

Friends

class Field
 
class EquationOfState
 

Detailed Description

Definition at line 34 of file hydro.hpp.

Constructor & Destructor Documentation

◆ Hydro()

Hydro::Hydro ( MeshBlock pmb,
ParameterInput pin 
)

Definition at line 36 of file hydro.cpp.

◆ ~Hydro()

Hydro::~Hydro ( )

Definition at line 200 of file hydro.cpp.

Member Function Documentation

◆ NewBlockTimeStep()

void Hydro::NewBlockTimeStep ( )

Definition at line 41 of file new_blockdt.cpp.

◆ AddFluxDivergence()

void Hydro::AddFluxDivergence ( const Real  wght,
AthenaArray< Real > &  u_out 
)

Definition at line 38 of file add_flux_divergence.cpp.

◆ CalculateFluxes()

void Hydro::CalculateFluxes ( AthenaArray< Real > &  w,
FaceField b,
AthenaArray< Real > &  bcc,
const int  order 
)

Definition at line 40 of file calculate_fluxes.cpp.

◆ CalculateFluxes_STS()

void Hydro::CalculateFluxes_STS ( )

Definition at line 487 of file calculate_fluxes.cpp.

◆ RiemannSolver()

void Hydro::RiemannSolver ( const int  k,
const int  j,
const int  il,
const int  iu,
const int  ivx,
AthenaArray< Real > &  wl,
AthenaArray< Real > &  wr,
AthenaArray< Real > &  flx,
const AthenaArray< Real > &  dxw 
)

The HLLC Riemann solver for adiabatic hydrodynamics (use HLLE for isothermal)

Definition at line 34 of file hllc.cpp.

◆ AddGravityFlux()

void Hydro::AddGravityFlux ( )

◆ AddGravityFluxWithGflx()

void Hydro::AddGravityFluxWithGflx ( )

◆ CalculateGravityFlux()

void Hydro::CalculateGravityFlux ( AthenaArray< Real > &  phi_in)

◆ CheckHydro()

void Hydro::CheckHydro ( )

Definition at line 206 of file hydro.cpp.

◆ VaporConcentrationLimiter()

void Hydro::VaporConcentrationLimiter ( AthenaArray< Real > &  u)

Definition at line 5 of file vapor_concentration_limiter.cpp.

◆ AddDiffusionFluxes()

void Hydro::AddDiffusionFluxes ( )
private

Definition at line 491 of file calculate_fluxes.cpp.

◆ GetWeightForCT()

Real Hydro::GetWeightForCT ( Real  dflx,
Real  rhol,
Real  rhor,
Real  dx,
Real  dt 
)
private

Definition at line 194 of file hydro.cpp.

Friends And Related Function Documentation

◆ Field

friend class Field
friend

Definition at line 35 of file hydro.hpp.

◆ EquationOfState

friend class EquationOfState
friend

Definition at line 36 of file hydro.hpp.

Member Data Documentation

◆ pmy_block

MeshBlock* Hydro::pmy_block

Definition at line 43 of file hydro.hpp.

◆ u

AthenaArray<Real> Hydro::u

Definition at line 46 of file hydro.hpp.

◆ w

AthenaArray<Real> Hydro::w

Definition at line 46 of file hydro.hpp.

◆ u1

AthenaArray<Real> Hydro::u1

Definition at line 47 of file hydro.hpp.

◆ w1

AthenaArray<Real> Hydro::w1

Definition at line 47 of file hydro.hpp.

◆ u2

AthenaArray<Real> Hydro::u2

Definition at line 48 of file hydro.hpp.

◆ flux

AthenaArray<Real> Hydro::flux[3]

Definition at line 51 of file hydro.hpp.

◆ du

AthenaArray<Real> Hydro::du

Definition at line 52 of file hydro.hpp.

◆ implicit_flag

int Hydro::implicit_flag

Definition at line 54 of file hydro.hpp.

◆ limit_to_advection

bool Hydro::limit_to_advection

Definition at line 55 of file hydro.hpp.

◆ min_tem

Real Hydro::min_tem

Definition at line 56 of file hydro.hpp.

◆ scale_height

Real Hydro::scale_height

Definition at line 59 of file hydro.hpp.

◆ reference_pressure

Real Hydro::reference_pressure

Definition at line 60 of file hydro.hpp.

◆ coarse_cons_

AthenaArray<Real> Hydro::coarse_cons_

Definition at line 64 of file hydro.hpp.

◆ coarse_prim_

AthenaArray<Real> Hydro::coarse_prim_

Definition at line 64 of file hydro.hpp.

◆ refinement_idx

int Hydro::refinement_idx {-1}

Definition at line 65 of file hydro.hpp.

◆ u_cc

AthenaArray<Real> Hydro::u_cc

Definition at line 68 of file hydro.hpp.

◆ w_cc

AthenaArray<Real> Hydro::w_cc

Definition at line 68 of file hydro.hpp.

◆ hbvar

HydroBoundaryVariable Hydro::hbvar

Definition at line 70 of file hydro.hpp.

◆ hsrc

HydroSourceTerms Hydro::hsrc

Definition at line 71 of file hydro.hpp.

◆ hdif

HydroDiffusion Hydro::hdif

Definition at line 72 of file hydro.hpp.

◆ pdec

Decomposition* Hydro::pdec

Definition at line 73 of file hydro.hpp.

◆ pimp

ImplicitSolver* Hydro::pimp

Definition at line 74 of file hydro.hpp.

◆ pfilter

RingFilter* Hydro::pfilter

Definition at line 75 of file hydro.hpp.

◆ dt1_

AthenaArray<Real> Hydro::dt1_
private

Definition at line 107 of file hydro.hpp.

◆ dt2_

AthenaArray<Real> Hydro::dt2_
private

Definition at line 107 of file hydro.hpp.

◆ dt3_

AthenaArray<Real> Hydro::dt3_
private

Definition at line 107 of file hydro.hpp.

◆ dxw_

AthenaArray<Real> Hydro::dxw_
private

Definition at line 109 of file hydro.hpp.

◆ x1face_area_

AthenaArray<Real> Hydro::x1face_area_
private

Definition at line 110 of file hydro.hpp.

◆ x2face_area_

AthenaArray<Real> Hydro::x2face_area_
private

Definition at line 110 of file hydro.hpp.

◆ x3face_area_

AthenaArray<Real> Hydro::x3face_area_
private

Definition at line 110 of file hydro.hpp.

◆ x2face_area_p1_

AthenaArray<Real> Hydro::x2face_area_p1_
private

Definition at line 111 of file hydro.hpp.

◆ x3face_area_p1_

AthenaArray<Real> Hydro::x3face_area_p1_
private

Definition at line 111 of file hydro.hpp.

◆ cell_volume_

AthenaArray<Real> Hydro::cell_volume_
private

Definition at line 112 of file hydro.hpp.

◆ wl_

AthenaArray<Real> Hydro::wl_
private

Definition at line 114 of file hydro.hpp.

◆ wr_

AthenaArray<Real> Hydro::wr_
private

Definition at line 114 of file hydro.hpp.

◆ wlb_

AthenaArray<Real> Hydro::wlb_
private

Definition at line 114 of file hydro.hpp.

◆ dflx_

AthenaArray<Real> Hydro::dflx_
private

Definition at line 115 of file hydro.hpp.

◆ bb_normal_

AthenaArray<Real> Hydro::bb_normal_
private

Definition at line 116 of file hydro.hpp.

◆ lambdas_p_l_

AthenaArray<Real> Hydro::lambdas_p_l_
private

Definition at line 117 of file hydro.hpp.

◆ lambdas_m_l_

AthenaArray<Real> Hydro::lambdas_m_l_
private

Definition at line 118 of file hydro.hpp.

◆ lambdas_p_r_

AthenaArray<Real> Hydro::lambdas_p_r_
private

Definition at line 119 of file hydro.hpp.

◆ lambdas_m_r_

AthenaArray<Real> Hydro::lambdas_m_r_
private

Definition at line 120 of file hydro.hpp.

◆ g_

AthenaArray<Real> Hydro::g_
private

Definition at line 122 of file hydro.hpp.

◆ gi_

AthenaArray<Real> Hydro::gi_
private

Definition at line 122 of file hydro.hpp.

◆ cons_

AthenaArray<Real> Hydro::cons_
private

Definition at line 123 of file hydro.hpp.

◆ gflx

AthenaArray<Real> Hydro::gflx[3]
private

Definition at line 126 of file hydro.hpp.

◆ gflx_old

AthenaArray<Real> Hydro::gflx_old[3]
private

Definition at line 126 of file hydro.hpp.

◆ scr1_nkji_

AthenaArray<Real> Hydro::scr1_nkji_
private

Definition at line 130 of file hydro.hpp.

◆ scr2_nkji_

AthenaArray<Real> Hydro::scr2_nkji_
private

Definition at line 130 of file hydro.hpp.

◆ wl3d_

AthenaArray<Real> Hydro::wl3d_
private

Definition at line 131 of file hydro.hpp.

◆ wr3d_

AthenaArray<Real> Hydro::wr3d_
private

Definition at line 131 of file hydro.hpp.

◆ laplacian_l_fc_

AthenaArray<Real> Hydro::laplacian_l_fc_
private

Definition at line 133 of file hydro.hpp.

◆ laplacian_r_fc_

AthenaArray<Real> Hydro::laplacian_r_fc_
private

Definition at line 133 of file hydro.hpp.

◆ UserTimeStep_

TimeStepFunc Hydro::UserTimeStep_
private

Definition at line 135 of file hydro.hpp.


The documentation for this class was generated from the following files: