00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _AMRLEVELPOLYTROPICGASFACTORY_H_
00012 #define _AMRLEVELPOLYTROPICGASFACTORY_H_
00013
00014 #include "AMRLevelFactory.H"
00015
00016 #include "AMRLevelPolytropicGas.H"
00017
00019
00021 class AMRLevelPolytropicGasFactory: public AMRLevelFactory
00022 {
00023 public:
00025
00027 AMRLevelPolytropicGasFactory();
00028
00030
00032 virtual ~AMRLevelPolytropicGasFactory();
00033
00035
00037 virtual void define(const Real& a_cfl,
00038 const Real& a_domainLength,
00039 const int& a_verbosity,
00040 const Real& a_refineThresh,
00041 const int& a_tagBufferSize,
00042 const Real& a_initialDtMultiplier,
00043 const GodunovPhysics* const a_godunovPhysics,
00044 const int& a_normalPredOrder,
00045 const bool& a_useFourthOrderSlopes,
00046 const bool& a_usePrimLimiting,
00047 const bool& a_useCharLimiting,
00048 const bool& a_useFlattening,
00049 const bool& a_useArtificialViscosity,
00050 const Real& a_artificialViscosity,
00051 const bool& a_useSourceTerm,
00052 const Real& a_sourceTermScaling,
00053 const bool& a_highOrderLimiter);
00054
00056
00058 virtual AMRLevel* new_amrlevel() const;
00059
00061
00063 bool isDefined() const;
00064
00065
00066 protected:
00067
00068 Real m_cfl;
00069
00070
00071 Real m_domainLength;
00072
00073
00074 int m_verbosity;
00075
00076
00077 Real m_refineThresh;
00078
00079
00080 int m_tagBufferSize;
00081
00082
00083 Real m_initialDtMultiplier;
00084
00085
00086
00087 const GodunovPhysics* m_godunovPhysics;
00088
00089
00090 int m_normalPredOrder;
00091
00092
00093 bool m_useFourthOrderSlopes;
00094
00095
00096 bool m_usePrimLimiting;
00097 bool m_useCharLimiting;
00098
00099
00100 bool m_useFlattening;
00101
00102
00103 bool m_useArtificialViscosity;
00104 Real m_artificialViscosity;
00105
00106
00107 bool m_useSourceTerm;
00108 Real m_sourceTermScaling;
00109
00110
00111 bool m_highOrderLimiter;
00112
00113
00114 bool m_isDefined;
00115
00116
00117 private:
00118
00119 void operator=(const AMRLevelPolytropicGasFactory& a_input)
00120 {
00121 MayDay::Error("invalid operator");
00122 }
00123
00124
00125 AMRLevelPolytropicGasFactory(const AMRLevelPolytropicGasFactory& a_input)
00126 {
00127 MayDay::Error("invalid operator");
00128 }
00129 };
00130
00131 #endif