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 "NamespaceHeader.H"
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 class RampIBC: public PhysIBC
00036 {
00037 public:
00038
00039
00040
00041 RampIBC();
00042
00043
00044
00045
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
00053
00054
00055
00056 virtual ~RampIBC();
00057
00058
00059
00060
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
00068
00069
00070
00071
00072
00073
00074 void setFortranCommonSet();
00075
00076
00077
00078
00079
00080
00081
00082 PhysIBC *new_physIBC();
00083
00084
00085
00086
00087 virtual void initialize(LevelData<FArrayBox>& a_U);
00088
00089
00090
00091
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
00099
00100
00101
00102
00103
00104
00105 virtual
00106 void setBdrySlopes(FArrayBox& a_dW,
00107 const FArrayBox& a_W,
00108 const int& a_dir,
00109 const Real& a_time);
00110
00111
00112
00113
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 #include "NamespaceFooter.H"
00128
00129 #endif