AMROC Main     Blockstructured Adaptive Mesh Refinement in object-oriented C++


Main Page   Class Hierarchy   Compound List   File List  

Makefile  combl.f  cuser.i  init2.f  physbd2.f  rpn2euvlg.f  flx2eu.f  rec2eu.f  chk2eu.f  flg2eu.f  Problem.h  amr_main.C 

Problem.h

00001 #ifndef AMROC_PROBLEM_H
00002 #define AMROC_PROBLEM_H
00003 
00004 #include "euler2.h"
00005 // #undef  NAUX
00006 // #define NAUX 2
00007 
00008 typedef Vector(NAUX)<Data_type>   Aux_type;
00009 typedef Vector(NFIXUP)<Data_type> Fixup_type;
00010 typedef short Flag_type; 
00011 
00012 class IntegratorSpecific :  
00013   public ClpIntegrator(DIM)<Vector_type,Aux_type> {
00014 public:   
00015   IntegratorSpecific() : 
00016     ClpIntegrator(DIM)<Vector_type,Aux_type>(NEQUSED,NWAVES,GHOSTWIDTH) {}
00017 };
00018  
00019 class InitialConditionSpecific : 
00020   public ClpInitialCondition(DIM)<Vector_type> {
00021 public:    
00022   InitialConditionSpecific() : 
00023     ClpInitialCondition(DIM)<Vector_type>(GHOSTWIDTH) {}
00024 };
00025   
00026 class BoundaryConditionsSpecific : 
00027   public ClpBoundaryConditions(DIM)<Vector_type> {
00028 public:    
00029   BoundaryConditionsSpecific() : 
00030     ClpBoundaryConditions(DIM)<Vector_type>(GHOSTWIDTH) {}
00031 };
00032 
00033 class FixupSpecific : 
00034   public ClpFixup(DIM)<Vector_type,Fixup_type,Aux_type> {
00035 public:
00036   FixupSpecific(ClpIntegrator(DIM)<Vector_type,Aux_type>& integ) :
00037     ClpFixup(DIM)<Vector_type,Fixup_type,Aux_type>(integ) {}
00038 };
00039 
00040 class FlaggingSpecific : 
00041   public AMRFlaggingRel(DIM)<Vector_type,Fixup_type,Flag_type> {
00042   typedef AMRFlaggingRel(DIM)<Vector_type,Fixup_type,Flag_type> base_type;
00043 public:
00044   FlaggingSpecific(AMRSolver(DIM)<Vector_type,Fixup_type,Flag_type>& solver) : 
00045     base_type(solver) {}
00046 };
00047 
00048 class SolverSpecific : 
00049   public AMRSolver(DIM)<Vector_type,Fixup_type,Flag_type> {
00050 public:
00051   SolverSpecific(ClpIntegrator(DIM)<Vector_type,Aux_type>& integ, 
00052                  ClpInitialCondition(DIM)<Vector_type>& init,
00053                  ClpBoundaryConditions(DIM)<Vector_type>& bc) :
00054     AMRSolver(DIM)<Vector_type,Fixup_type,Flag_type>(integ, init, bc) {
00055     SetFlagging(new FlaggingSpecific(*this)); 
00056     SetFixup(new FixupSpecific(integ));
00057   }  
00058 
00059   ~SolverSpecific() {
00060     delete _Flagging;
00061     delete _Fixup;
00062   }
00063 }; 
00064  
00065 class SolverControlSpecific : 
00066   public AMRSolverControl(DIM)<Vector_type,Fixup_type,Flag_type> {
00067 public:
00068   SolverControlSpecific(AMRSolver(DIM)<Vector_type,Fixup_type,Flag_type>& solver) : 
00069     AMRSolverControl(DIM)<Vector_type,Fixup_type,Flag_type>(solver) {}
00070 }; 
00071  
00072 
00073 #endif
00074 


Quickstart     Users Guide     Programmers Reference     Installation      Examples     Download



AMROC Main      Home      Contact
last update: 06/01/04