cro_control_type structure#
#include <galahad_cro.h> struct cro_control_type { // components bool f_indexing; ipc_ error; ipc_ out; ipc_ print_level; ipc_ max_schur_complement; rpc_ infinity; rpc_ feasibility_tolerance; bool check_io; bool refine_solution; bool space_critical; bool deallocate_error_fatal; char symmetric_linear_solver[31]; char unsymmetric_linear_solver[31]; char prefix[31]; struct sls_control_type sls_control; struct sbls_control_type sbls_control; struct uls_control_type uls_control; struct ir_control_type ir_control; };
detailed documentation#
control derived type as a C struct
components#
bool f_indexing
use C or Fortran sparse matrix indexing
ipc_ error
error and warning diagnostics occur on stream error
ipc_ out
general output occurs on stream out
ipc_ print_level
the level of output required is specified by print_level
ipc_ max_schur_complement
the maximum permitted size of the Schur complement before a refactorization is performed
rpc_ infinity
any bound larger than infinity in modulus will be regarded as infinite
rpc_ feasibility_tolerance
feasibility tolerance for KKT violation
bool check_io
if .check_io is true, the input (x,y,z) will be fully tested for consistency
bool refine_solution
if .refine solution is true, attempt to satisfy the KKT conditions as accurately as possible
bool space_critical
if .space_critical is true, every effort will be made to use as little space as possible. This may result in longer computation time
bool deallocate_error_fatal
if .deallocate_error_fatal is true, any array/pointer deallocation error will terminate execution. Otherwise, computation will continue
char symmetric_linear_solver[31]
the name of the symmetric-indefinite linear equation solver used. Possible choices are currently: ‘sils’, ‘ma27’, ‘ma57’, ‘ma77’, ‘ma86’, ‘ma97’, ‘ssids’, ‘mumps’, ‘pardiso’, ‘mkl_pardiso’, ‘pastix’, ‘wsmp’, and ‘sytr’, although only ‘sytr’ and, for OMP 4.0-compliant compilers, ‘ssids’ are installed by default; others are easily installed (see README.external). More details of the capabilities of each solver are provided in the documentation for galahad_sls.
char unsymmetric_linear_solver[31]
the name of the unsymmetric linear equation solver used. Possible choices are currently: ‘gls’, ‘ma48’ and ‘getr’, although only ‘getr’ is installed by default; others are easily installed (see README.external). More details of the capabilities of each solver are provided in the documentation for galahad_uls.
char prefix[31]
all output lines will be prefixed by .prefix(2:LEN(TRIM(.prefix))-1) where .prefix contains the required string enclosed in quotes, e.g. “string” or ‘string’
struct sls_control_type sls_control
control parameters for SLS
struct sbls_control_type sbls_control
control parameters for SBLS
struct uls_control_type uls_control
control parameters for ULS
struct ir_control_type ir_control
control parameters for iterative refinement