00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _RAMPIBC_H_
00012 #define _RAMPIBC_H_
00013
00014 #include "FArrayBox.H"
00015 #include "REAL.H"
00016 #include "LevelData.H"
00017 #include "ProblemDomain.H"
00018 #include "PhysIBC.H"
00019
00020 #include "UsingNamespace.H"
00021
00023
00035 class RampIBC: public PhysIBC
00036 {
00037 public:
00039
00041 RampIBC();
00042
00044
00046 RampIBC(Real& a_smallPressure,
00047 const Real& a_gamma,
00048 const Real& a_alpha,
00049 const Real& a_ms,
00050 const Real& a_xcorner,
00051 const Real& a_artvisc);
00052
00054
00056 virtual ~RampIBC();
00057
00059
00061 void setFortranCommon(Real& a_smallPressure,
00062 const Real& a_gamma,
00063 const Real& a_alpha,
00064 const Real& a_ms,
00065 const Real& a_xcorner,
00066 const Real& a_artvisc);
00067
00069
00074 void setFortranCommonSet();
00075
00077
00082 PhysIBC *new_physIBC();
00083
00085
00087 virtual void initialize(LevelData<FArrayBox>& a_U);
00088
00090
00092 virtual void primBC(FArrayBox& a_WGdnv,
00093 const FArrayBox& a_Wextrap,
00094 const FArrayBox& a_W,
00095 const int& a_dir,
00096 const Side::LoHiSide& a_side,
00097 const Real& a_time);
00098
00100
00105 virtual
00106 void setBdrySlopes(FArrayBox& a_dW,
00107 const FArrayBox& a_W,
00108 const int& a_dir,
00109 const Real& a_time);
00110
00112
00114 virtual
00115 void artViscBC(FArrayBox& a_F,
00116 const FArrayBox& a_U,
00117 const FArrayBox& a_divVel,
00118 const int& a_dir,
00119 const Real& a_time);
00120
00121
00122 protected:
00123
00124 bool m_isFortranCommonSet;
00125 };
00126
00127 #endif