FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(nonlinear_terms_config_type), | intent(in), | optional | :: | nonlinear_terms_config_in |
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