ir_control_type structure#

    struct ir_control_type{T,INT}
      f_indexing::Bool
      error::INT
      out::INT
      print_level::INT
      itref_max::INT
      acceptable_residual_relative::T
      acceptable_residual_absolute::T
      required_residual_relative::T
      record_residuals::Bool
      space_critical::Bool
      deallocate_error_fatal::Bool
      prefix::NTuple{31,Cchar}

detailed documentation#

control derived type as a Julia structure

components#

Bool f_indexing

use C or Fortran sparse matrix indexing

INT error

unit for error messages

INT out

unit for monitor output

INT print_level

controls level of diagnostic output

INT itref_max

maximum number of iterative refinements allowed

T acceptable_residual_relative

refinement will cease as soon as the residual \(\|Ax-b\|\) falls below max( acceptable_residual_relative \* \(\|b\|\), acceptable_residual_absolute )

T acceptable_residual_absolute

see acceptable_residual_relative

T 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

NTuple{31,Cchar} prefix

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’