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)
 
void AddGravityFlux ()
 
void AddGravityFluxWithGflx ()
 
void CalculateGravityFlux (AthenaArray< Real > &phi_in)
 
void CheckHydro ()
 

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
 
AthenaArray< Realcoarse_cons_
 
AthenaArray< Realcoarse_prim_
 
int refinement_idx {-1}
 
AthenaArray< Realu_cc
 
AthenaArray< Realw_cc
 
HydroBoundaryVariable hbvar
 
HydroSourceTerms hsrc
 
HydroDiffusion hdif
 
Decompositionpdec
 
ImplicitSolverpimp
 

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 33 of file hydro.hpp.

Constructor & Destructor Documentation

◆ Hydro()

Hydro::Hydro ( MeshBlock pmb,
ParameterInput pin 
)

Definition at line 35 of file hydro.cpp.

◆ ~Hydro()

Hydro::~Hydro ( )

Definition at line 183 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 
)

◆ 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 483 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 
)

Definition at line 17 of file lmars.cpp.

◆ AddGravityFlux()

void Hydro::AddGravityFlux ( )

◆ AddGravityFluxWithGflx()

void Hydro::AddGravityFluxWithGflx ( )

◆ CalculateGravityFlux()

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

◆ CheckHydro()

void Hydro::CheckHydro ( )

Definition at line 188 of file hydro.cpp.

◆ AddDiffusionFluxes()

void Hydro::AddDiffusionFluxes ( )
private

Definition at line 487 of file calculate_fluxes.cpp.

◆ GetWeightForCT()

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

Definition at line 177 of file hydro.cpp.

Friends And Related Function Documentation

◆ Field

friend class Field
friend

Definition at line 34 of file hydro.hpp.

◆ EquationOfState

friend class EquationOfState
friend

Definition at line 35 of file hydro.hpp.

Member Data Documentation

◆ pmy_block

MeshBlock* Hydro::pmy_block

Definition at line 42 of file hydro.hpp.

◆ u

AthenaArray<Real> Hydro::u

Definition at line 45 of file hydro.hpp.

◆ w

AthenaArray<Real> Hydro::w

Definition at line 45 of file hydro.hpp.

◆ u1

AthenaArray<Real> Hydro::u1

Definition at line 46 of file hydro.hpp.

◆ w1

AthenaArray<Real> Hydro::w1

Definition at line 46 of file hydro.hpp.

◆ u2

AthenaArray<Real> Hydro::u2

Definition at line 47 of file hydro.hpp.

◆ flux

AthenaArray<Real> Hydro::flux[3]

Definition at line 50 of file hydro.hpp.

◆ du

AthenaArray<Real> Hydro::du

Definition at line 51 of file hydro.hpp.

◆ implicit_flag

int Hydro::implicit_flag

Definition at line 53 of file hydro.hpp.

◆ limit_to_advection

bool Hydro::limit_to_advection

Definition at line 54 of file hydro.hpp.

◆ min_tem

Real Hydro::min_tem

Definition at line 55 of file hydro.hpp.

◆ coarse_cons_

AthenaArray<Real> Hydro::coarse_cons_

Definition at line 59 of file hydro.hpp.

◆ coarse_prim_

AthenaArray<Real> Hydro::coarse_prim_

Definition at line 59 of file hydro.hpp.

◆ refinement_idx

int Hydro::refinement_idx {-1}

Definition at line 60 of file hydro.hpp.

◆ u_cc

AthenaArray<Real> Hydro::u_cc

Definition at line 63 of file hydro.hpp.

◆ w_cc

AthenaArray<Real> Hydro::w_cc

Definition at line 63 of file hydro.hpp.

◆ hbvar

HydroBoundaryVariable Hydro::hbvar

Definition at line 65 of file hydro.hpp.

◆ hsrc

HydroSourceTerms Hydro::hsrc

Definition at line 66 of file hydro.hpp.

◆ hdif

HydroDiffusion Hydro::hdif

Definition at line 67 of file hydro.hpp.

◆ pdec

Decomposition* Hydro::pdec

Definition at line 68 of file hydro.hpp.

◆ pimp

ImplicitSolver* Hydro::pimp

Definition at line 69 of file hydro.hpp.

◆ dt1_

AthenaArray<Real> Hydro::dt1_
private

Definition at line 99 of file hydro.hpp.

◆ dt2_

AthenaArray<Real> Hydro::dt2_
private

Definition at line 99 of file hydro.hpp.

◆ dt3_

AthenaArray<Real> Hydro::dt3_
private

Definition at line 99 of file hydro.hpp.

◆ dxw_

AthenaArray<Real> Hydro::dxw_
private

Definition at line 101 of file hydro.hpp.

◆ x1face_area_

AthenaArray<Real> Hydro::x1face_area_
private

Definition at line 102 of file hydro.hpp.

◆ x2face_area_

AthenaArray<Real> Hydro::x2face_area_
private

Definition at line 102 of file hydro.hpp.

◆ x3face_area_

AthenaArray<Real> Hydro::x3face_area_
private

Definition at line 102 of file hydro.hpp.

◆ x2face_area_p1_

AthenaArray<Real> Hydro::x2face_area_p1_
private

Definition at line 103 of file hydro.hpp.

◆ x3face_area_p1_

AthenaArray<Real> Hydro::x3face_area_p1_
private

Definition at line 103 of file hydro.hpp.

◆ cell_volume_

AthenaArray<Real> Hydro::cell_volume_
private

Definition at line 104 of file hydro.hpp.

◆ wl_

AthenaArray<Real> Hydro::wl_
private

Definition at line 106 of file hydro.hpp.

◆ wr_

AthenaArray<Real> Hydro::wr_
private

Definition at line 106 of file hydro.hpp.

◆ wlb_

AthenaArray<Real> Hydro::wlb_
private

Definition at line 106 of file hydro.hpp.

◆ dflx_

AthenaArray<Real> Hydro::dflx_
private

Definition at line 107 of file hydro.hpp.

◆ bb_normal_

AthenaArray<Real> Hydro::bb_normal_
private

Definition at line 108 of file hydro.hpp.

◆ lambdas_p_l_

AthenaArray<Real> Hydro::lambdas_p_l_
private

Definition at line 109 of file hydro.hpp.

◆ lambdas_m_l_

AthenaArray<Real> Hydro::lambdas_m_l_
private

Definition at line 110 of file hydro.hpp.

◆ lambdas_p_r_

AthenaArray<Real> Hydro::lambdas_p_r_
private

Definition at line 111 of file hydro.hpp.

◆ lambdas_m_r_

AthenaArray<Real> Hydro::lambdas_m_r_
private

Definition at line 112 of file hydro.hpp.

◆ g_

AthenaArray<Real> Hydro::g_
private

Definition at line 114 of file hydro.hpp.

◆ gi_

AthenaArray<Real> Hydro::gi_
private

Definition at line 114 of file hydro.hpp.

◆ cons_

AthenaArray<Real> Hydro::cons_
private

Definition at line 115 of file hydro.hpp.

◆ gflx

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

Definition at line 118 of file hydro.hpp.

◆ gflx_old

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

Definition at line 118 of file hydro.hpp.

◆ scr1_nkji_

AthenaArray<Real> Hydro::scr1_nkji_
private

Definition at line 122 of file hydro.hpp.

◆ scr2_nkji_

AthenaArray<Real> Hydro::scr2_nkji_
private

Definition at line 122 of file hydro.hpp.

◆ wl3d_

AthenaArray<Real> Hydro::wl3d_
private

Definition at line 123 of file hydro.hpp.

◆ wr3d_

AthenaArray<Real> Hydro::wr3d_
private

Definition at line 123 of file hydro.hpp.

◆ laplacian_l_fc_

AthenaArray<Real> Hydro::laplacian_l_fc_
private

Definition at line 125 of file hydro.hpp.

◆ laplacian_r_fc_

AthenaArray<Real> Hydro::laplacian_r_fc_
private

Definition at line 125 of file hydro.hpp.

◆ UserTimeStep_

TimeStepFunc Hydro::UserTimeStep_
private

Definition at line 127 of file hydro.hpp.


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