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

Settings.h

Go to the documentation of this file.
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.