Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

gstepper.hpp

Go to the documentation of this file.
00001 //************************************************************************************//
00002 // Module       : gstepper.hpp
00003 // Date         : 6/24/05 (DLR)
00004 // Copyright    : 2005-2006 Copyright University Corporation for Atmospheric
00005 //                Research
00006 // Description  : Encapsulates the methods and data associated with
00007 //                a stepper interface class. This is intended to serve as a
00008 //                (minimum) template for other time stepper objects.
00009 // Derived From : none.
00010 // Modifications: none.
00011 //************************************************************************************//
00012 #if !defined(GSTEPPER_HPP)
00013 #define GSTEPPER_HPP
00014 
00015 #include "cg.hpp"
00016 #include "gcomm.hpp"
00017 #include "gelemlist.hpp"
00018 #include "gfieldlist.hpp"
00019 
00020 class GStepper
00021 {
00022 public:
00023 
00024                                    GStepper(){};
00025                                    GStepper(GElemList *elems){};
00026                                    GStepper(GElemList *elems, GFieldList *ulist[], GINT  nlist,
00027                                             GFieldList **cadv, GINT  *iadv, GINT  nadv){};
00028                                    GStepper(GFieldList *ulist[], GINT nf, GElemList *uelems, 
00029                                             GElemList *pelems, GINT t){};
00030 
00031                                   ~GStepper(){};
00032 
00033          virtual GBOOL             Step(GDOUBLE dt)=0;                                              // Take one time step
00034          virtual void              SetComm(GS *ggs)=0;                                              // Set global gather scatter operator
00035          virtual GCHandle          SetCommHandle(GCHandle hIn)=0 ;                                  // Initializes comm with existing handle 
00036          virtual void              SetVBdyData (GINT  idir, GVecList *bdy_vals)=0;                  // Set bcs for component idir
00037          virtual void              SetTimestepHistory(GDBuffer *dthist)=0;                          // Set timestep hist. buffer
00038 
00039 //       virtual CG                *GetSolver(GINT  idir)=0;                                        // Get pointer to iterative solver
00040 //       virtual LinOp            *GetPreconditioner(GINT  idir, GINT  eid)=0;                      // Get preconditioner for component idir, element eid
00041 //       virtual GINT              GetNumIterations(GINT  idir)=0;                                  // Get no. solver iterations
00042 //       virtual GINT              GetErrorType(GINT  idir)=0;                                      // Get solver error type
00043 //       virtual GDOUBLE           GetError(GINT  idir)=0;                                          // Get solver error
00044 //       virtual GDOUBLE           GetMinError(GINT  idir)=0;                                       // Get solver min error
00045 //       virtual GDOUBLE           GetMaxError(GINT  idir)=0;                                       // Get solver max error
00046 //       virtual void              SetElemList(GElemList *elems)=0;                                 // Set element list
00047 //       virtual void              SetEvolType(TIME_EVOLTYPE itype)=0;                              // Set time stepping scheme
00048          virtual void              SetTime(GDOUBLE time)=0;                                         // Set integration start time
00049 //       virtual void              SetNSubcycles(GINT nsub)=0;                                      // Set number of OIFS subcycles
00050 //       virtual void              SetPreconditioner(GINT  idir, GPC itype)=0;                      // Set preconditioners
00051 
00052 private:
00053 };
00054 
00055 #endif

Generated on Wed Dec 21 16:00:48 2005 for Geophysics & Astrophysics Spectral Element Adaptive Refinement (GASpAR) 2D Code by  doxygen 1.4.4