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 // gpar.h 00019 // 00020 // ------------------------------------------------------------ 00021 00022 // Parameter for grid generation 00023 00024 00025 #ifndef GPAR_H_ 00026 #define GPAR_H_ 00027 00028 class Grid_gen_parameters { 00029 public: 00030 Grid_gen_parameters(); 00031 // Set parameters 00032 void Set_r_parallel(int rp) { r_parallel = rp; }; 00033 void Set_offset_square(double os) { offset_square = os; }; 00034 void Set_stretch_square(double ss) { stretch_square = ss; }; 00035 void Set_grid_point(D3vector gp); 00036 00037 // Give parameters 00038 int Give_r_parallel() { return r_parallel; }; 00039 double Give_offset_square() { return offset_square; }; 00040 double Give_stretch_square() { return stretch_square; }; 00041 D3vector Give_grid_point() { return grid_point; }; 00042 bool Is_there_grid_point() { return is_there_grid_point; }; 00043 00044 private: 00045 int r_parallel; 00046 double offset_square; 00047 double stretch_square; 00048 00049 // this point must be grid point 00050 bool is_there_grid_point; 00051 D3vector grid_point; 00052 }; 00053 00054 00055 00056 inline Grid_gen_parameters::Grid_gen_parameters() { 00057 offset_square = standard_offset_square; 00058 stretch_square = standard_stretch_square; 00059 r_parallel = standard_r_parallel; 00060 is_there_grid_point = false; 00061 } 00062 00063 00064 inline void Grid_gen_parameters::Set_grid_point(D3vector gp) { 00065 grid_point = gp; 00066 is_there_grid_point = true; 00067 }; 00068 00069 00070 #endif 00071