00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _EBAMRGODUNOVFACTORY_H_
00012 #define _EBAMRGODUNOVFACTORY_H_
00013
00014 #include "EBAMRGodunov.H"
00015 #include "AMRLevelFactory.H"
00016 #include "EBPatchGodunovFactory.H"
00017 #include "NamespaceHeader.H"
00018
00019
00020
00021
00022 class EBAMRGodunovFactory : public AMRLevelFactory
00023 {
00024 public:
00025
00026 AMRLevel* new_amrlevel() const;
00027
00028
00029 EBAMRGodunovFactory(const Real& a_initialDtMultiplier,
00030 const Real& a_cfl,
00031 const int & a_redistRad,
00032 const RealVect& a_domainLength,
00033 const Real& a_refineThresh,
00034 const int & a_tagBufferSize,
00035 const int & a_verbosity,
00036 const bool& a_useMassRedist,
00037 const bool& a_doSmushing,
00038 const bool& a_doRZCoords,
00039 const bool& a_hasSourceTerm,
00040 const EBPatchGodunovFactory* const a5_patchGodunov,
00041 bool a_tagAll = false);
00042
00043
00044 virtual ~EBAMRGodunovFactory();
00045
00046 protected:
00047 bool m_tagAll;
00048 Real m_initialDtMultiplier;
00049 Real m_cfl;
00050 int m_redistRad;
00051 RealVect m_domainLength;
00052 Real m_refineThresh;
00053 int m_tagBufferSize;
00054 int m_verbosity;
00055 bool m_useMassRedist;
00056 bool m_doSmushing;
00057 bool m_doRZCoords;
00058 bool m_hasSourceTerm;
00059 const EBPatchGodunovFactory* m_patchGodunov;
00060
00061
00062 private:
00063 EBAMRGodunovFactory()
00064 {
00065 MayDay::Error("invalid operator");
00066 }
00067
00068
00069 void operator=(const EBAMRGodunovFactory& a_input)
00070 {
00071 MayDay::Error("invalid operator");
00072 }
00073 EBAMRGodunovFactory(const EBAMRGodunovFactory& a_input)
00074 {
00075 MayDay::Error("invalid operator");
00076 }
00077
00078 };
00079
00080 #include "NamespaceFooter.H"
00081 #endif