00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef _LevelHelmholtzSolver_H_
00033 #define _LevelHelmholtzSolver_H_
00034
00035 #include <LevelSolver.H>
00036 #include <HelmholtzOp.H>
00037
00039
00043 class LevelHelmholtzSolver: public LevelSolver
00044 {
00045
00046 public:
00048 LevelHelmholtzSolver();
00049
00050 virtual ~LevelHelmholtzSolver();
00051
00053 LevelHelmholtzSolver(const DisjointBoxLayout& a_grids,
00054 const DisjointBoxLayout* a_baseGrids,
00055 const ProblemDomain& a_domain,
00056 Real a_dxLevel,
00057 int a_nRefCrse);
00058
00060 LevelHelmholtzSolver(const DisjointBoxLayout& a_grids,
00061 const DisjointBoxLayout* a_baseGrids,
00062 const Box& a_domain,
00063 Real a_dxLevel,
00064 int a_nRefCrse);
00065
00067 LevelHelmholtzSolver(const DisjointBoxLayout& a_grids,
00068 const DisjointBoxLayout* a_baseGrids,
00069 const ProblemDomain& a_domain,
00070 Real a_dxLevel,
00071 int a_nRefCrse,
00072 const HelmholtzOp* const a_opin);
00073
00075 LevelHelmholtzSolver(const DisjointBoxLayout& a_grids,
00076 const DisjointBoxLayout* a_baseGrids,
00077 const Box& a_domain,
00078 Real a_dxLevel,
00079 int a_nRefCrse,
00080 const HelmholtzOp* const a_opin);
00081
00083 void define(const DisjointBoxLayout& a_grids,
00084 const DisjointBoxLayout* a_baseGrids,
00085 const ProblemDomain& a_domain,
00086 Real a_dxLevel,
00087 int a_nRefCrse);
00088
00090 void define(const DisjointBoxLayout& a_grids,
00091 const DisjointBoxLayout* a_baseGrids,
00092 const Box& a_domain,
00093 Real a_dxLevel,
00094 int a_nRefCrse);
00095
00097 virtual void define(const DisjointBoxLayout& a_grids,
00098 const DisjointBoxLayout* a_baseGrids,
00099 const ProblemDomain& a_domain,
00100 Real a_dxLevel,
00101 int a_nRefCrse,
00102 const HelmholtzOp* const a_opin);
00103
00104
00106 virtual void define(const DisjointBoxLayout& a_grids,
00107 const DisjointBoxLayout* a_baseGrids,
00108 const Box& a_domain,
00109 Real a_dxLevel,
00110 int a_nRefCrse,
00111 const HelmholtzOp* const a_opin);
00112
00113
00115 virtual void define(const DisjointBoxLayout& a_grids,
00116 const DisjointBoxLayout* a_baseGrids,
00117 const ProblemDomain& a_domain,
00118 Real a_dxLevel,
00119 int a_nRefCrse,
00120 const LevelOp* const a_opin);
00121
00123 virtual void define(const DisjointBoxLayout& a_grids,
00124 const DisjointBoxLayout* a_baseGrids,
00125 const Box& a_domain,
00126 Real a_dxLevel,
00127 int a_nRefCrse,
00128 const LevelOp* const a_opin);
00129
00130
00132 void setBeta(Real a_beta);
00133
00135 void setBC(const DomainGhostBC& a_BC);
00136
00137
00138
00139 };
00140
00141
00142 #endif
00143
00144