read_parameters Subroutine

public subroutine read_parameters(nonlinear_terms_config_in)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(nonlinear_terms_config_type), intent(in), optional :: nonlinear_terms_config_in

Contents

Source Code


Source Code

  subroutine read_parameters(nonlinear_terms_config_in)
    use file_utils, only: error_unit
    use text_options, only: text_option, get_option_value
    implicit none
    type(nonlinear_terms_config_type), intent(in), optional :: nonlinear_terms_config_in
    type (text_option), dimension (4), parameter :: nonlinearopts = &
         [ text_option('default', nonlinear_mode_none), &
            text_option('none', nonlinear_mode_none), &
            text_option('off', nonlinear_mode_none), &
            text_option('on', nonlinear_mode_on) ]
    character(len = 20) :: nonlinear_mode
    integer :: ierr

    if (present(nonlinear_terms_config_in)) nonlinear_terms_config = nonlinear_terms_config_in

    call nonlinear_terms_config%init(name = 'nonlinear_terms_knobs', requires_index = .false.)

    ! Copy out internal values into module level parameters
    associate(self => nonlinear_terms_config)
#include "nonlinear_terms_copy_out_auto_gen.inc"
    end associate

    ierr = error_unit()
    call get_option_value &
         (nonlinear_mode, nonlinearopts, nonlinear_mode_switch, &
         ierr, "nonlinear_mode in nonlinear_terms_knobs",.true.)

    nonlin = nonlinear_mode_switch == nonlinear_mode_on
  end subroutine read_parameters