vtf-logo

clawpack/applications/testing/1d/FixupTest/src/Problem.h

00001 // -*- C++ -*-
00002 
00003 // Copyright (C) 2002 Ralf Deiterding
00004 // Brandenburgische Universitaet Cottbus
00005 
00006 #ifndef AMROC_PROBLEM_H
00007 #define AMROC_PROBLEM_H
00008 
00009 #include "advection1.h"
00010 
00011 #define OWN_AMRSOLVER
00012 #include "ClpStdProblem.h"
00013 
00014 class SolverSpecific : 
00015   public AMRPreAdaptSolver<VectorType,FixupType,FlagType,DIM> {
00016   typedef AMRSolver<VectorType,FixupType,FlagType,DIM> base;
00017 public:
00018   SolverSpecific(IntegratorSpecific& integ, 
00019                  base::initial_condition_type& init,
00020                  base::boundary_conditions_type& bc) :
00021     AMRPreAdaptSolver<VectorType,FixupType,FlagType,DIM>(integ, init, bc) {
00022     SetLevelTransfer(new F77LevelTransfer<VectorType,DIM>(f_prolong, f_restrict));
00023 #ifdef f_flgout
00024     SetFileOutput(new F77FileOutput<VectorType,DIM>(f_flgout)); 
00025 #else   
00026     SetFileOutput(new FileOutput<VectorType,DIM>()); 
00027 #endif
00028     SetFixup(new FixupSpecific(integ));
00029     SetFlagging(new FlaggingSpecific(*this)); 
00030   }  
00031 
00032   ~SolverSpecific() {
00033     delete _LevelTransfer;
00034     delete _Flagging;
00035     delete _Fixup;
00036     delete _FileOutput;
00037   }
00038 };