00001
00002
00003
00004
00005
00006 #ifndef AMROC_PROBLEM_H
00007 #define AMROC_PROBLEM_H
00008
00009 #include "acousticsv3.h"
00010 #include "ClpProblem.h"
00011
00012 #define OWN_AMRSOLVER
00013 #include "ClpStdProblem.h"
00014 #include "ClpF77FileOutput.h"
00015
00016 class SolverSpecific :
00017 public AMRSolver<VectorType,FixupType,FlagType,DIM> {
00018 typedef AMRSolver<VectorType,FixupType,FlagType,DIM> base;
00019 public:
00020 SolverSpecific(IntegratorSpecific& integ,
00021 base::initial_condition_type& init,
00022 base::boundary_conditions_type& bc) :
00023 AMRSolver<VectorType,FixupType,FlagType,DIM>(integ, init, bc) {
00024 SetLevelTransfer(new F77LevelTransfer<VectorType,DIM>(f_prolong, f_restrict));
00025 SetFileOutput(new ClpF77FileOutput<VectorType,AuxType,DIM>(integ,f_flgout));
00026 SetFixup(new FixupSpecific(integ));
00027 SetFlagging(new FlaggingSpecific(*this));
00028 }
00029
00030 ~SolverSpecific() {
00031 delete _LevelTransfer;
00032 delete _Flagging;
00033 delete _Fixup;
00034 delete _FileOutput;
00035 }
00036 };