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


Main Page   Class Hierarchy   Compound List   File List  

Problem.h

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


Quickstart     Users Guide     Programmers Reference     Installation      Examples     Download



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