set_rhs Subroutine

private subroutine set_rhs(mg, f1, f2)

Arguments

Type IntentOptional Attributes Name
type(mg_t), intent(inout) :: mg
real(kind=dp), intent(in) :: f1
real(kind=dp), intent(in) :: f2

Called by

proc~~set_rhs~3~~CalledByGraph proc~set_rhs~3 set_rhs proc~diffusion_solve_acoeff~3 diffusion_solve_acoeff proc~diffusion_solve_acoeff~3->proc~set_rhs~3 proc~diffusion_solve_vcoeff~3 diffusion_solve_vcoeff proc~diffusion_solve_vcoeff~3->proc~set_rhs~3 proc~diffusion_solve~3 diffusion_solve proc~diffusion_solve~3->proc~set_rhs~3

Source Code

  subroutine set_rhs(mg, f1, f2)
    type(mg_t), intent(inout) :: mg
    real(dp), intent(in)      :: f1, f2
    integer                   :: lvl, i, id, nc

    do lvl = 1, mg%highest_lvl
       nc = mg%box_size_lvl(lvl)
       do i = 1, size(mg%lvls(lvl)%my_leaves)
          id = mg%lvls(lvl)%my_leaves(i)
          mg%boxes(id)%cc(1:nc, 1:nc, 1:nc,&
              mg_irhs) = f1 * mg%boxes(id)%cc(1:nc, 1:nc, 1:nc,&
              mg_iphi) + f2 * mg%boxes(id)%cc(1:nc, 1:nc, 1:nc, mg_irhs)
       end do
    end do
  end subroutine set_rhs