ir_control_type structure#
#include <galahad_ir.h> struct ir_control_type { // fields bool f_indexing; ipc_ error; ipc_ out; ipc_ print_level; ipc_ itref_max; rpc_ acceptable_residual_relative; rpc_ acceptable_residual_absolute; rpc_ required_residual_relative; bool record_residuals; bool space_critical; bool deallocate_error_fatal; char prefix[31]; };
detailed documentation#
control derived type as a C struct
components#
bool f_indexing
use C or Fortran sparse matrix indexing
ipc_ error
unit for error messages
ipc_ out
unit for monitor output
ipc_ print_level
controls level of diagnostic output
ipc_ itref_max
maximum number of iterative refinements allowed
rpc_ acceptable_residual_relative
refinement will cease as soon as the residual \(\|Ax-b\|\) falls below max( acceptable_residual_relative \* \(\|b\|\), acceptable_residual_absolute )
rpc_ acceptable_residual_absolute
see acceptable_residual_relative
rpc_ required_residual_relative
refinement will be judged to have failed if the residual \(\|Ax-b\| \geq\) required_residual_relative \* \(\|b\|\). No checking if required_residual_relative < 0
bool record_residuals
record the initial and final residual
bool space_critical
if space is critical, ensure allocated arrays are no bigger than needed
bool deallocate_error_fatal
exit if any deallocation fails
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’