Hex  1.0
Hydrogen-electron collision solver
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Data Fields
CommandLine Class Reference

Command line parameters. More...

#include <input.h>

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...
std::string zipfile
 A B-spline expansion of a solution to "zip". See Bspline::zip . More...
int zipcount
 How many equidistant samples on each axis to use. More...
double zipmax
 Radial cutoff for solution zipping useful if one is interested only in the near-origin behaviour. More...
bool parallel
 Whether to use MPI. More...
int preconditioner
 Preconditioner to use. See Preconditioners::AvailableTypes for available types. More...
double 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...
double itertol
 Tolerance for terminating iterative solution. More...
bool parallel_dot
 Whether to use OpenMP parallelization in SymDiaMatrix::dot. More...
bool parallel_block
 Whether to use OpenMP parallelization to run preconditioner for several blocks simultaneously. More...

Detailed Description

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.

Member Enumeration Documentation

Different stages of the computations, used to reflect user's choice from the command line. The corresponding mapping is:

Command line optionProgram itinerary
(none)StgRadial | StgSolve | StgExtract
–stg-integ-solveStgRadial | StgSolve

Do not start any intensive computations.


Compute only the radial integrals necessary for the construction of the equations.


Solve the equations.


Extract the T-matrices.

Constructor & Destructor Documentation

CommandLine::CommandLine ( int  argc,
char *  argv[] 

Member Function Documentation

void CommandLine::parse ( int  argc,
char *  argv[] 

Field Documentation

double CommandLine::droptol
std::ifstream CommandLine::inputfile
double CommandLine::itertol
int CommandLine::itinerary
bool CommandLine::outofcore
bool CommandLine::parallel
bool CommandLine::parallel_block
bool CommandLine::parallel_dot
int CommandLine::preconditioner
int CommandLine::zipcount
std::string CommandLine::zipfile
double CommandLine::zipmax

The documentation for this class was generated from the following files: