00001 #ifdef CH_LANG_CC 00002 /* 00003 * _______ __ 00004 * / ___/ / ___ __ _ / / ___ 00005 * / /__/ _ \/ _ \/ V \/ _ \/ _ \ 00006 * \___/_//_/\___/_/_/_/_.__/\___/ 00007 * Please refer to Copyright.txt, in Chombo's root directory. 00008 */ 00009 #endif 00010 00011 #ifndef WAVEIBC_H_ 00012 #define WAVEIBC_H_ 00013 00014 #include <iostream> 00015 00016 #include "RealVect.H" 00017 #include "LevelData.H" 00018 #include "FArrayBox.H" 00019 #include "Vector.H" 00020 #include "AMRIO.H" 00021 #include "PhysIBC.H" 00022 #include "UsingNamespace.H" 00023 00024 00026 00030 class WaveIBC:public PhysIBC 00031 { 00032 public: 00034 00036 WaveIBC(); 00037 00039 00041 ~WaveIBC() {}; 00042 00044 00046 void setParams(Real a_r0, RealVect a_x0=RealVect::Zero); 00047 00049 00054 PhysIBC *new_physIBC(); 00055 00057 00059 void initialize(LevelData<FArrayBox>& a_phi, LevelData<FArrayBox>& a_pi, 00060 Real a_dx); 00061 00062 protected: 00063 RealVect m_x0; 00064 Real m_rr0; 00065 bool m_params_are_set; 00066 }; 00067 00068 #endif