grid_params.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #if !defined(_GRID_PARAMS_H_)
00029 #define _GRID_PARAMS_H_ 1
00030
00031 #include "grid_atomic.h"
00032
00033 namespace Dft {
00034
00036 struct HiCuGridParams {
00037 ergo_real maxError;
00038 ergo_real box_size;
00039 ergo_real start_box_size_debug;
00040 int use_error_per_volume;
00041 int do_double_checking;
00042 int compare_to_refined;
00043 int use_energy_criterion;
00044 int use_energy_criterion_only;
00045 int do_variation_checking;
00046 };
00047
00049 struct GridParams {
00053 ergo_real boxSize;
00054 ergo_real radint;
00055 int angmin;
00056 int angmax;
00057 typedef enum { GC2, LMG, TURBO } RadialScheme;
00058 typedef enum { TYPE_STANDARD, TYPE_HICU } GridType;
00059 RadialScheme radialGridScheme;
00060 GridType gridType;
00061 bool cubicBoxes;
00063
00064 HiCuGridParams hicuParams;
00065 explicit GridParams(ergo_real r_ = 1e-9, int a1 = 6, int a2 = 30,
00066 ergo_real bs = 5.0, bool cubic = false,
00067 ergo_real hicume = 1e-7,
00068 ergo_real hicubs = 1.5, ergo_real hicusbsd = 0,
00069 int hicuerrpervol = 0,
00070 int hicudodoublecheck = 1,
00071 int hicuctr = 0, int hicuuec = 0,int hicuueco = 0,
00072 int hicudovarcheck = 0)
00073 : boxSize(bs), radint(r_), angmin(a1), angmax(a2), radialGridScheme(LMG),
00074 gridType(TYPE_STANDARD), cubicBoxes(cubic)
00075 {
00076 hicuParams.maxError = hicume;
00077 hicuParams.box_size = hicubs;
00078 hicuParams.start_box_size_debug = hicusbsd;
00079 hicuParams.use_error_per_volume = hicuerrpervol;
00080 hicuParams.do_double_checking = hicudodoublecheck;
00081 hicuParams.compare_to_refined = hicuctr;
00082 hicuParams.use_energy_criterion = hicuuec;
00083 hicuParams.use_energy_criterion_only = hicuueco;
00084 hicuParams.do_variation_checking = hicudovarcheck;
00085 }
00086 };
00087
00088 }
00089 #endif