src/expde/grid/mgcoeff.h

Go to the documentation of this file.
00001 //    expde: expression templates for partial differential equations.
00002 //    Copyright (C) 2001  Christoph Pflaum
00003 //    This program is free software; you can redistribute it and/or modify
00004 //    it under the terms of the GNU General Public License as published by
00005 //    the Free Software Foundation; either version 2 of the License, or
00006 //    (at your option) any later version.
00007 //
00008 //    This program is distributed in the hope that it will be useful,
00009 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00011 //    GNU General Public License for more details.
00012 //
00013 //                 SEE  Notice1.doc made by 
00014 //                 LAWRENCE LIVERMORE NATIONAL LABORATORY
00015 //
00016 
00017 // ------------------------------------------------------------
00018 //
00019 // mgcoeff.h
00020 //
00021 // ------------------------------------------------------------
00022 
00023 #ifndef MGCOEFF_H_
00024 #define MGCOEFF_H_
00025         
00026 
00028 //  Prolongation part not implemented
00030 
00031 class Point_mg_coeff_nearb {
00032  private:
00033   Point_mg_coeff_nearb *next_res;
00034   //  Point_mg_coeff_nearb *next_prol;
00035   double *vars;
00036   Index3D ind;
00037   double weight;
00038  public:
00039   Point_mg_coeff_nearb(Index3D I, double* v, double w,
00040                        Point_mg_coeff_nearb* old) :
00041      vars(v), ind(I), weight(w) /* , next_prol(NULL) */ {
00042     next_res=old;
00043   }
00044   Point_mg_coeff_nearb *Next_res()  { return next_res; }
00045   //  Point_mg_coeff_nearb *Next_prol() { return next_prol; }
00046   double* Give_var()    { return vars;   }
00047   double  Give_weight() { return weight; }
00048   Index3D I() const { return ind; }
00049 };
00050 
00051 
00052 class Point_mg_coeff_bo {
00053  private:
00054   Point_mg_coeff_bo *next_res;
00055   //  Point_mg_coeff_bo *next_prol;
00056   double *vars;
00057   Index3D ind;
00058   dir_3D  dir;
00059   double weight;
00060  public:
00061   Point_mg_coeff_bo(Index3D I, dir_3D  d, double* v, double w,
00062                        Point_mg_coeff_bo* old) :
00063     vars(v), ind(I), dir(d), weight(w) /* , next_prol(NULL) */ {
00064     next_res=old;
00065   }
00066   Point_mg_coeff_bo *Next_res()  { return next_res; }
00067   //  Point_mg_coeff_bo *Next_prol() { return next_prol; }
00068   double* Give_var()    { return vars;   }
00069   double  Give_weight() { return weight; }
00070   Index3D I() const { return ind; }
00071   dir_3D  d() const { return dir; }
00072 };
00073 
00074 
00075 #endif
00076       

Generated on Mon Jan 16 13:23:41 2006 for IPPL by  doxygen 1.4.6