initialize_type_iteration Subroutine

private subroutine initialize_type_iteration(self, input)

Type Bound

type_iteration

Arguments

Type IntentOptional Attributes Name
class(type_iteration), intent(out) :: self
type(type_input), intent(in) :: input

Source Code

    subroutine initialize_type_iteration(self, input)
        implicit none
        class(type_iteration), intent(out) :: self
        type(type_input), intent(in) :: input

        self%iter = 0
        self%step = 0
        self%is_converged = .false.

        self%algorithm = input%basic%solver_settings%nonlinear_solver%method
        select case (trim(self%algorithm))
        case ("newton", "modified_newton", "picard")
            self%config%max_iterations = input%basic%solver_settings%nonlinear_solver%max_iterations
            self%config%update_frequency = input%basic%solver_settings%nonlinear_solver%update_frequency
            self%config%convergence = input%basic%solver_settings%nonlinear_solver%convergence
        end select
    end subroutine initialize_type_iteration