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


Main Page   Class Hierarchy   Compound List   File List  

Makefile  combl.f  cuser.i  init3.f  physbd3.f  rpn3eug.f  flx3eu.f  rec3eu.f  chk3eu.f  flg3eu.f  Problem.h  amr_main.C 

Problem.h

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


Quickstart     Users Guide     Programmers Reference     Installation      Examples     Download



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