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 #include "NamespaceHeader.H"
00018
00019
00020
00021
00022 class AMRLevelPolytropicGasFactory: public AMRLevelFactory
00023 {
00024 public:
00025
00026
00027
00028 AMRLevelPolytropicGasFactory();
00029
00030
00031
00032
00033 virtual ~AMRLevelPolytropicGasFactory();
00034
00035
00036
00037
00038 virtual void define(
00039 const Real& a_cfl,
00040
00041 const Real& a_domainLength,
00042
00043 const int& a_verbosity,
00044
00045 const Real& a_refineThresh,
00046
00047 const int& a_tagBufferSize,
00048
00049 const Real& a_initialDtMultiplier,
00050
00051 const GodunovPhysics* const a_godunovPhysics,
00052
00053 const int& a_normalPredOrder,
00054
00055 const bool& a_useFourthOrderSlopes,
00056
00057 const bool& a_usePrimLimiting,
00058
00059 const bool& a_useCharLimiting,
00060
00061 const bool& a_useFlattening,
00062
00063 const bool& a_useArtificialViscosity,
00064
00065 const Real& a_artificialViscosity,
00066
00067 const bool& a_useSourceTerm,
00068
00069 const Real& a_sourceTermScaling,
00070
00071 const bool& a_highOrderLimiter);
00072
00073
00074
00075
00076 virtual AMRLevel* new_amrlevel() const;
00077
00078
00079
00080
00081 bool isDefined() const;
00082
00083 protected:
00084
00085 Real m_cfl;
00086
00087
00088 Real m_domainLength;
00089
00090
00091 int m_verbosity;
00092
00093
00094 Real m_refineThresh;
00095
00096
00097 int m_tagBufferSize;
00098
00099
00100 Real m_initialDtMultiplier;
00101
00102
00103
00104 const GodunovPhysics* m_godunovPhysics;
00105
00106
00107 int m_normalPredOrder;
00108
00109
00110 bool m_useFourthOrderSlopes;
00111
00112
00113 bool m_usePrimLimiting;
00114 bool m_useCharLimiting;
00115
00116
00117 bool m_useFlattening;
00118
00119
00120 bool m_useArtificialViscosity;
00121 Real m_artificialViscosity;
00122
00123
00124 bool m_useSourceTerm;
00125 Real m_sourceTermScaling;
00126
00127
00128 bool m_highOrderLimiter;
00129
00130
00131 bool m_isDefined;
00132
00133 private:
00134
00135
00136 void operator=(const AMRLevelPolytropicGasFactory&);
00137 AMRLevelPolytropicGasFactory(const AMRLevelPolytropicGasFactory&);
00138 };
00139
00140 #include "NamespaceFooter.H"
00141
00142 #endif