00001
00002 #ifndef SEQUENCER_H_
00003 #define SEQUENCER_H_
00004 #include "dynamicbase.h"
00005 #include "transportbase.h"
00006 #include "flashbase.h"
00007 #include "conservativemethodforsystem.h"
00008 #include "compressibledynamic.h"
00009 #include "diffusivestep.h"
00010 #include "monitorwells.h"
00011
00017 class Sequencer
00018 {
00019 private:
00020 MonitorWells &_monitor_wells;
00021 public:
00022 Sequencer(MonitorWells&);
00023 virtual ~Sequencer();
00024 void testDynamicModule(DynamicBase &dynMod,TransportBase &transMod) ;
00025 void testTransport(DynamicBase &dynMod,TransportBase &transMod,double tEnd,double nOutputs);
00026 void alternateIteration(DynamicBase &dynMod,TransportBase &transMod,DiffusiveStep *pDiff,double tEnd,unsigned nDynIterations,unsigned nOutputsPerDynIt) ;
00027 void alternateIteration(DynamicBase &dynMod,ConservativeMethodForSystem &transMod,FlashBase &flashMod,DiffusiveStep *diff,double tEnd,double nDynIterations, double nOutputs);
00028 void alternateIterationProportionControl(CompressibleDynamic &dynMod,ConservativeMethodForSystem &transMod,FlashBase &flashMod,DiffusiveStep *diff,double tEnd,int maxTransSteps, int maxTransStepsTol, double initialDynDt,double nOutputs);
00029 void diffusiveStepTest(DiffusiveStep &diff,unsigned nIt,double tEnd,unsigned nOutputs);
00030
00031
00032 };
00033
00034 #endif
00035