4 #ifndef ERF_BOUNDARYPLANE_H
5 #define ERF_BOUNDARYPLANE_H
8 #include "AMReX_AmrCore.H"
9 #include <AMReX_BndryRegister.H>
51 amrex::Array<amrex::Array<amrex::Real, AMREX_SPACEDIM*2>, AMREX_SPACEDIM+
NBCVAR_max> m_bc_extdir_vals);
54 amrex::Vector<std::unique_ptr<PlaneVector>>& data_to_fill,
55 amrex::Array<amrex::Array<amrex::Real, AMREX_SPACEDIM*2>, AMREX_SPACEDIM+
NBCVAR_max> m_bc_extdir_vals);
58 amrex::Vector<std::unique_ptr<PlaneVector>>&
interp_in_time (
const double& time);
61 amrex::Vector<std::unique_ptr<PlaneVector>>&
get_tendency (
const double& time);
81 amrex::Vector<std::unique_ptr<PlaneVector>>
m_data_n;
#define NBCVAR_max
Definition: ERF_IndexDefines.H:42
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int idx(int i, int j, int k, int nx, int ny)
Definition: ERF_InitForEnsemble.cpp:404
amrex::Vector< amrex::FArrayBox > PlaneVector
Definition: ERF_NCWpsFile.H:17
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_ReadBndryPlanes.H:23
int ingested_q1() const
Definition: ERF_ReadBndryPlanes.H:69
amrex::Vector< double > m_in_times
The timesteps / times that we read from time.dat.
Definition: ERF_ReadBndryPlanes.H:108
int is_velocity_read
Definition: ERF_ReadBndryPlanes.H:125
ReadBndryPlanes(const amrex::Geometry &geom, const amrex::Real &rdOcp_in)
Definition: ERF_ReadBndryPlanes.cpp:221
void define_level_data(int lev)
Definition: ERF_ReadBndryPlanes.cpp:51
int is_q2_read
Definition: ERF_ReadBndryPlanes.H:131
double m_tnp1
Definition: ERF_ReadBndryPlanes.H:77
int is_theta_read
Definition: ERF_ReadBndryPlanes.H:128
bool m_use_real_bcs
Are real BCs being used?
Definition: ERF_ReadBndryPlanes.H:120
std::string m_filename
File name for IO.
Definition: ERF_ReadBndryPlanes.H:102
int is_temperature_read
Definition: ERF_ReadBndryPlanes.H:127
amrex::Vector< std::unique_ptr< PlaneVector > > & interp_in_time(const double &time)
Definition: ERF_ReadBndryPlanes.cpp:94
int is_density_read
Definition: ERF_ReadBndryPlanes.H:126
void read_input_files(double time, double dt, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_extdir_vals)
Definition: ERF_ReadBndryPlanes.cpp:369
amrex::Vector< std::unique_ptr< PlaneVector > > m_data_np2
Data at time m_tnp2.
Definition: ERF_ReadBndryPlanes.H:87
amrex::Vector< std::unique_ptr< PlaneVector > > m_data_interp
Data interpolated to the time requested.
Definition: ERF_ReadBndryPlanes.H:90
int ingested_scalar() const
Definition: ERF_ReadBndryPlanes.H:68
static int plane_slot(const std::string &var_name)
Definition: ERF_ReadBndryPlanes.H:29
int last_file_read
Definition: ERF_ReadBndryPlanes.H:134
int is_KE_read
Definition: ERF_ReadBndryPlanes.H:132
amrex::Vector< int > m_in_timesteps
Definition: ERF_ReadBndryPlanes.H:109
const amrex::Real m_rdOcp
R_d/c_p is needed for reading boundary files.
Definition: ERF_ReadBndryPlanes.H:123
std::string m_time_file
File name for file holding timesteps and times.
Definition: ERF_ReadBndryPlanes.H:105
int ingested_KE() const
Definition: ERF_ReadBndryPlanes.H:71
int ingested_velocity() const
Definition: ERF_ReadBndryPlanes.H:65
amrex::Vector< std::unique_ptr< PlaneVector > > m_data_tendency
Tendency between the n and np1 data.
Definition: ERF_ReadBndryPlanes.H:93
amrex::Vector< std::string > m_var_names
Variables to be read in.
Definition: ERF_ReadBndryPlanes.H:112
int is_scalar_read
Definition: ERF_ReadBndryPlanes.H:129
amrex::Vector< std::unique_ptr< PlaneVector > > & get_tendency(const double &time)
Definition: ERF_ReadBndryPlanes.cpp:159
int is_q1_read
Definition: ERF_ReadBndryPlanes.H:130
int ingested_density() const
Definition: ERF_ReadBndryPlanes.H:67
int ingested_q2() const
Definition: ERF_ReadBndryPlanes.H:70
int ingested_theta() const
Definition: ERF_ReadBndryPlanes.H:66
void read_time_file()
Definition: ERF_ReadBndryPlanes.cpp:299
const int m_out_rad
Definition: ERF_ReadBndryPlanes.H:116
amrex::Vector< std::unique_ptr< PlaneVector > > m_data_n
Data at time m_tn.
Definition: ERF_ReadBndryPlanes.H:81
double m_tnp2
Definition: ERF_ReadBndryPlanes.H:78
double m_tn
The times for which we currently have data.
Definition: ERF_ReadBndryPlanes.H:76
double tinterp() const
Definition: ERF_ReadBndryPlanes.H:63
const int m_extent_rad
Definition: ERF_ReadBndryPlanes.H:117
amrex::Vector< std::unique_ptr< PlaneVector > > m_data_np1
Data at time m_tnp1.
Definition: ERF_ReadBndryPlanes.H:84
int m_in_rad
Controls extents on native bndry output.
Definition: ERF_ReadBndryPlanes.H:115
amrex::Geometry m_geom
Geometry at level 0.
Definition: ERF_ReadBndryPlanes.H:99
double m_tinterp
Time for plane at interpolation.
Definition: ERF_ReadBndryPlanes.H:96
void read_file(int idx, amrex::Vector< std::unique_ptr< PlaneVector >> &data_to_fill, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_extdir_vals)
Definition: ERF_ReadBndryPlanes.cpp:443
@ RhoScalar_bc_comp
Definition: ERF_IndexDefines.H:114
@ RhoQ1_bc_comp
Definition: ERF_IndexDefines.H:115
@ RhoKE_bc_comp
Definition: ERF_IndexDefines.H:113
@ RhoTheta_bc_comp
Definition: ERF_IndexDefines.H:112
@ RhoQ2_bc_comp
Definition: ERF_IndexDefines.H:116
@ Rho_bc_comp
Definition: ERF_IndexDefines.H:111
@ xvel_bc
Definition: ERF_IndexDefines.H:126