helmholtz_set_methods Subroutine

public subroutine helmholtz_set_methods(mg)

Arguments

Type IntentOptional Attributes Name
type(mg_t), intent(inout) :: mg

Called by

proc~~helmholtz_set_methods~~CalledByGraph proc~helmholtz_set_methods helmholtz_set_methods proc~mg_set_methods mg_set_methods proc~mg_set_methods->proc~helmholtz_set_methods proc~check_methods check_methods proc~check_methods->proc~mg_set_methods proc~diffusion_solve diffusion_solve proc~diffusion_solve->proc~mg_set_methods proc~mg_fas_fmg mg_fas_fmg proc~diffusion_solve->proc~mg_fas_fmg proc~mg_fas_vcycle mg_fas_vcycle proc~diffusion_solve->proc~mg_fas_vcycle proc~diffusion_solve_acoeff diffusion_solve_acoeff proc~diffusion_solve_acoeff->proc~mg_set_methods proc~diffusion_solve_acoeff->proc~mg_fas_fmg proc~diffusion_solve_acoeff->proc~mg_fas_vcycle proc~diffusion_solve_vcoeff diffusion_solve_vcoeff proc~diffusion_solve_vcoeff->proc~mg_set_methods proc~diffusion_solve_vcoeff->proc~mg_fas_fmg proc~diffusion_solve_vcoeff->proc~mg_fas_vcycle proc~mg_fas_fmg->proc~check_methods proc~mg_fas_fmg->proc~mg_fas_vcycle proc~mg_fas_vcycle->proc~check_methods

Source Code

  subroutine helmholtz_set_methods(mg)
    type(mg_t), intent(inout) :: mg

    mg%subtract_mean = .false.

    select case (mg%geometry_type)
    case (mg_cartesian)
       mg%box_op => box_helmh

       select case (mg%smoother_type)
       case (mg_smoother_gs, mg_smoother_gsrb)
          mg%box_smoother => box_gs_helmh
       case default
          error stop "helmholtz_set_methods: unsupported smoother type"
       end select
    case default
       error stop "helmholtz_set_methods: unsupported geometry"
    end select

  end subroutine helmholtz_set_methods