![]() |
Hex
2.2
Hydrogen-electron collision solver
|
Command line parameters. More...
#include <io.h>

Data Structures | |
| struct | s_zipdata |
| A B-spline expansion of a solution to "zip". See Bspline::zip . More... | |
Public Types | |
| enum | HexEcsStg { StgNone = 0x00, StgRadial = 0x01, StgSolve = 0x02, StgExtract = 0x04 } |
| Stages of the computations. More... | |
Public Member Functions | |
| CommandLine (int argc, char *argv[]) | |
| void | parse (int argc, char *argv[]) |
| Read options from command line. More... | |
Data Fields | |
| std::ifstream | inputfile |
| Alternative name for the input file. Default is "hex.inp". More... | |
| bool | writegrid |
| struct CommandLine::s_zipdata | zipdata |
| bool | parallel |
| Whether to use MPI. More... | |
| std::string | preconditioner |
| Preconditioner to use. More... | |
| Real | droptol |
| Drop tolerance for the ILU preconditioner. More... | |
| int | itinerary |
| Which parts of the computation to run. More... | |
| bool | outofcore |
| Whether to keep precomputed data only on disk and spare RAM. More... | |
| bool | cont |
| Whether to continue out-of-core computation from last computed solution (needs corresponding ooc files). More... | |
| bool | wholematrix |
| Whether to load full matrix from scratch disk at once when calculating dot product (and not by parts). More... | |
| bool | cache_all_radint |
| Whether to keep radial integrals in memory. More... | |
| bool | cache_own_radint |
| Real | itertol |
| Tolerance for terminating iterative solution. More... | |
| Real | prec_itertol |
| Tolerance for terminating block preconditioner. More... | |
| bool | parallel_precondition |
| Whether to use OpenMP parallelization to run preconditioner for several blocks simultaneously. More... | |
| bool | gpu_large_data |
| Keep large data in RAM instead of copying to the OpenCL compute device. More... | |
| bool | lightweight_full |
| Whether to avoid explicitly calculating big matrices and only apply them on the fly. More... | |
| bool | lightweight_radial_cache |
| bool | shared_scratch |
| Whether to compute only a subset of radial integrals in shared scratch architecture. More... | |
| bool | reuse_dia_blocks |
| Whether to use diagonal blocks as present in the scratch directory. (For debugging purposes only.) More... | |
| bool | kpa_simple_rad |
| Use simplified radial integral matrix for nested KPA iterations (experimental). More... | |
| unsigned | ocl_platform |
| Index of OpenCL platform to use. More... | |
| unsigned | ocl_device |
| Index of OpenCL device to use. More... | |
| std::string | factorizer |
| LU-factorizer. More... | |
| int | groupsize |
| Size of the local MPI communicator, used for distributed SuperLU. More... | |
| int | parallel_factorization |
| Allow parallel factorization. More... | |
| int | parallel_extraction |
| Allow parallel extraction. More... | |
| int | ilu_max_iter |
| Maximal number of ILU iterations for hybrid preconditioner. More... | |
| int | max_sub_iter |
| Maximal number of sub-preconditioner iterations. More... | |
| bool | fail_on_sub_iter |
| Stop with error message when sub-preconditioner fails to converge. More... | |
| bool | carry_initial_guess |
| Whether to use previous-energy solution as an initial guess. More... | |
| bool | gpu_multiply |
| Do the sparse matrix multiplication on the OpenCL device (memory intensive!). More... | |
| bool | extract_extrapolate |
| Whether to radially extrapolate the extracted T-matrix. More... | |
| Real | extract_rho |
| Extraction radius. More... | |
| Real | extract_rho_begin |
| Radial distance where to start radial averaging/extrapolation of the T-matrix. More... | |
| int | extract_samples |
| Extraction averaging/extrapolation sample count. More... | |
| bool | refine_solution |
| Load also existing solutions and check that they are within tolerance. More... | |
| std::vector< std::string > | map_solution |
| Map solution between different B-spline bases. More... | |
| std::string | map_solution_target |
| Target mapping basis. More... | |
| Real | ssor |
| Apply SSOR coupling. More... | |
| bool | noluupdate |
| Keep calculated LU also for next energy. More... | |
| int | coupling_limit |
| Maximal multipole considered by the coupled preconditioner. More... | |
| bool | gpu_host_multiply |
| Keep vectors in host memory when doing multiplication on GPU. More... | |
| bool | mumps_outofcore |
| MUMPS out of core. More... | |
| int | mumps_verbose |
| MUMPS diagnostic information. More... | |
| Real | kpa_drop |
| Whether to use drop tolerance for KPA preconditioner. More... | |
| bool | write_intermediate_solutions |
| Write intermediate solutions. More... | |
| bool | fast_bessel |
| Use faster Bessel function evaluation routine (not the Steed/Barnett) when calculating RHS. More... | |
| int | hyb_additional_levels |
| Additional levels to be solved by ILU preconditioner when using HYB preconditioner. More... | |
| int | multigrid_depth |
| Depth of the geometric multigrid. More... | |
| int | multigrid_coarse_prec |
| What preconditioner to use for solution of the coarse problem. More... | |
| int | dom_x_panels |
| Domain decomposition panels. More... | |
| int | dom_y_panels |
| std::string | dom_preconditioner |
| Domain preconditioner. More... | |
| int | dom_sweeps |
| Domain decomposition sweeps. More... | |
| std::string | scratch |
| Scratch directory for out-of-core data. More... | |
| bool | analytic_eigenstates |
| Use analytic eigenstates instead of those obtained by diagonalization. More... | |
| bool | runtime_postprocess |
| Calculate T-matrices after every iteration. More... | |
| bool | sub_prec_verbose |
| Verbosity of the sub-preconditioner. More... | |
This class uses ParseCommandLine for parsing of the command line. The information on valid switches can be retrieved by executing
hex-ecs --help
Some more general comments on the switches are in the above mentioned class.
Different stages of the computations, used to reflect user's choice from the command line. The corresponding mapping is:
| Command line option | Program itinerary |
|---|---|
| (none) | StgRadial | StgSolve | StgExtract |
| --stg-integ | StgRadial |
| --stg-integ-solve | StgRadial | StgSolve |
| --stg-extract | StgiExtract |
|
inline |
| void CommandLine::parse | ( | int | argc, |
| char * | argv[] | ||
| ) |
| bool CommandLine::analytic_eigenstates |
| bool CommandLine::cache_all_radint |
| bool CommandLine::cache_own_radint |
| bool CommandLine::carry_initial_guess |
| bool CommandLine::cont |
| int CommandLine::coupling_limit |
| std::string CommandLine::dom_preconditioner |
| int CommandLine::dom_sweeps |
| int CommandLine::dom_x_panels |
| int CommandLine::dom_y_panels |
| Real CommandLine::droptol |
| bool CommandLine::extract_extrapolate |
| Real CommandLine::extract_rho |
| Real CommandLine::extract_rho_begin |
| int CommandLine::extract_samples |
| std::string CommandLine::factorizer |
| bool CommandLine::fail_on_sub_iter |
| bool CommandLine::fast_bessel |
| bool CommandLine::gpu_host_multiply |
| bool CommandLine::gpu_large_data |
| bool CommandLine::gpu_multiply |
| int CommandLine::groupsize |
| int CommandLine::hyb_additional_levels |
| int CommandLine::ilu_max_iter |
| std::ifstream CommandLine::inputfile |
| Real CommandLine::itertol |
| int CommandLine::itinerary |
| Real CommandLine::kpa_drop |
| bool CommandLine::kpa_simple_rad |
| bool CommandLine::lightweight_full |
| bool CommandLine::lightweight_radial_cache |
| std::vector<std::string> CommandLine::map_solution |
| std::string CommandLine::map_solution_target |
| int CommandLine::max_sub_iter |
| int CommandLine::multigrid_coarse_prec |
| int CommandLine::multigrid_depth |
| bool CommandLine::mumps_outofcore |
| int CommandLine::mumps_verbose |
| bool CommandLine::noluupdate |
| unsigned CommandLine::ocl_device |
| unsigned CommandLine::ocl_platform |
| bool CommandLine::outofcore |
| bool CommandLine::parallel |
| int CommandLine::parallel_extraction |
| int CommandLine::parallel_factorization |
| bool CommandLine::parallel_precondition |
| Real CommandLine::prec_itertol |
| std::string CommandLine::preconditioner |
| bool CommandLine::refine_solution |
| bool CommandLine::reuse_dia_blocks |
| bool CommandLine::runtime_postprocess |
| std::string CommandLine::scratch |
| bool CommandLine::shared_scratch |
| Real CommandLine::ssor |
| bool CommandLine::sub_prec_verbose |
| bool CommandLine::wholematrix |
| bool CommandLine::write_intermediate_solutions |
| bool CommandLine::writegrid |
| struct CommandLine::s_zipdata CommandLine::zipdata |
1.8.13