![]() |
00001 // Copyright (C) 2002 Johan Hoffman and Anders Logg. 00002 // Licensed under the GNU GPL Version 2. 00003 00004 #ifndef __SETTINGS_H 00005 #define __SETTINGS_H 00006 00007 #include <dolfin/constants.h> 00008 #include <dolfin/ParameterList.h> 00009 00010 namespace dolfin { 00011 00013 00014 class Settings : public ParameterList { 00015 public: 00016 00017 Settings() : ParameterList() { 00018 00019 // General parameters 00020 00021 add(Parameter::REAL, "tolerance", 0.1); 00022 add(Parameter::REAL, "start time", 0.0); 00023 add(Parameter::REAL, "end time", 10.0); 00024 add(Parameter::REAL, "krylov tolerance", 1.0e-10); 00025 add(Parameter::REAL, "progress step", 0.1); 00026 00027 add(Parameter::INT, "max no krylov restarts", 100); 00028 add(Parameter::INT, "max no stored krylov vectors", 100); 00029 add(Parameter::INT, "max no cg iterations", 1000); 00030 add(Parameter::INT, "pc iterations", 5); 00031 00032 add(Parameter::STRING, "output", "curses"); 00033 add(Parameter::STRING, "temporary directory", "/tmp"); 00034 00035 add(Parameter::BCFUNCTION, "boundary condition", 0); 00036 00037 add(Parameter::BOOL, "save each mesh", false); 00038 00039 // Parameters for multi-adaptive solver 00040 00041 add(Parameter::BOOL, "fixed time step", false); 00042 add(Parameter::BOOL, "solve dual problem", true); 00043 add(Parameter::BOOL, "save solution", true); 00044 add(Parameter::BOOL, "adaptive samples", false); 00045 add(Parameter::BOOL, "debug time steps", false); 00046 add(Parameter::BOOL, "debug iterations", false); 00047 add(Parameter::BOOL, "automatic modeling", false); 00048 00049 add(Parameter::INT, "number of samples", 100); 00050 add(Parameter::INT, "sample density", 1); 00051 add(Parameter::INT, "element cache size", 32); 00052 add(Parameter::INT, "maximum iterations", 100); 00053 add(Parameter::INT, "order", 1); 00054 add(Parameter::INT, "average samples", 1000); 00055 00056 add(Parameter::REAL, "initial time step", 0.01); 00057 add(Parameter::REAL, "maximum time step", 0.1); 00058 add(Parameter::REAL, "partitioning threshold", 0.5); 00059 add(Parameter::REAL, "interval threshold", 0.9); 00060 add(Parameter::REAL, "sparsity check increment", 0.01); 00061 add(Parameter::REAL, "maximum divergence", 10.0); 00062 add(Parameter::REAL, "maximum convergence", 0.75); 00063 add(Parameter::REAL, "average length", 0.1); 00064 add(Parameter::REAL, "average tolerance", 0.1); 00065 00066 add(Parameter::STRING, "method", "cg"); 00067 add(Parameter::STRING, "stiffness", "non-stiff"); 00068 00069 // Parameters for multgrid solver 00070 00071 add(Parameter::REAL, "multigrid tolerance", 1.0e-10); 00072 add(Parameter::INT, "multigrid pre-smoothing", 9); 00073 add(Parameter::INT, "multigrid post-smoothing", 9); 00074 add(Parameter::INT, "multigrid iterations", 100); 00075 00076 } 00077 00078 }; 00079 00080 } 00081 00082 #endif
![]()
Documentation automatically generated with Doxygen on 10 Sep 2004.