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 00012 #ifndef _BASEFUNCTIONHOLDER_H_ 00013 #define _BASEFUNCTIONHOLDER_H_ 00014 00015 #include "EBCellFAB.H" 00016 #include "EBISLayout.H" 00017 #include "EBFaceFAB.H" 00018 #include "REAL.H" 00019 #include "EBIBC.H" 00020 #include "LevelData.H" 00021 #include "ProblemDomain.H" 00022 #include "RefCountedPtr.H" 00023 #include "EBIBC.H" 00024 #include "EBIBCFactory.H" 00025 #include "BaseEBBC.H" 00026 #include "DirichletPoissonEBBC.H" 00027 #include "NamespaceHeader.H" 00028 00029 00031 00034 class BaseFunctionHolder 00035 { 00036 public: 00037 00038 BaseFunctionHolder() 00039 {;} 00040 00041 virtual ~BaseFunctionHolder() 00042 {;} 00043 00045 virtual RefCountedPtr<BaseBCValue> getPressureBCFunction(int a_idir, Side::LoHiSide a_side) = 0; 00046 00048 virtual RefCountedPtr<BaseBCValue> getVelocityBCFunction(int a_idir, Side::LoHiSide a_side, int a_velComp) = 0; 00049 00051 virtual RefCountedPtr<BaseBCValue> getVelocityEBBCFunction(int a_velComp) = 0; 00052 00054 virtual RefCountedPtr<BaseBCValue> getPressureEBBCFunction() = 0; 00055 00057 virtual RefCountedPtr<BaseBCValue> getScalarEBBCFunction(int a_scaComp) = 0; 00058 00060 virtual RefCountedPtr<BaseBCValue> getScalarBCFunction(int a_idir, Side::LoHiSide a_side, int a_scaComp) = 0; 00061 00063 virtual RefCountedPtr<BaseBCValue> getScalarInteriorFunction(int a_scaComp) = 0; 00064 00066 virtual RefCountedPtr<BaseBCValue> getVelocityInteriorFunction(int a_velComp) = 0; 00067 00069 virtual RefCountedPtr<BaseBCValue> getPressureInteriorFunction() = 0; 00070 00071 }; 00072 00073 #include "NamespaceFooter.H" 00074 #endif 00075