52    real(kind=
rp), 
intent(inout) :: val
 
   54    integer, 
intent(in) :: lvl, i, j
 
   55    real(kind=
rp), 
allocatable :: u(:), v(:)
 
   57    n = amg%lvl(lvl+1)%fine_lvl_dofs
 
   66    if (lvl.eq.0) 
call amg%gs_h%op(u, n, gs_op_add)
 
   68    call amg%matvec(v, u, lvl)
 
 
   79    integer, 
intent(in) :: lvl
 
   82    real(kind=
rp), 
allocatable :: u(:), v(:)
 
   84    n = amg%lvl(lvl+1)%fine_lvl_dofs
 
   95          if (lvl.eq.0) 
call amg%gs_h%op(u, n, gs_op_add)
 
   97          call amg%matvec(v, u, lvl)
 
 
  113    integer, 
intent(in) :: lvl
 
  114    integer :: n, m, i, j
 
  116    real(kind=
rp), 
allocatable :: u(:), v(:)
 
  118    n = amg%lvl(lvl+1)%fine_lvl_dofs
 
  119    m = amg%lvl(lvl+2)%fine_lvl_dofs
 
  130          if (lvl.eq.0) 
call amg%gs_h%op(u, n, gs_op_add)
 
  132          call amg%interp_f2c(v, u, lvl+1)
 
 
  148    integer, 
intent(in) :: lvl
 
  149    integer :: n, m, i, j
 
  151    real(kind=
rp), 
allocatable :: u(:), v(:)
 
  153    n = amg%lvl(lvl+1)%fine_lvl_dofs
 
  154    m = amg%lvl(lvl+2)%fine_lvl_dofs
 
  167          call amg%interp_c2f(v, u, lvl+1)
 
 
integer, parameter, public rp
Global precision used in computations.
 
Implements utilities for the TreeAMG hierarchy structure.
 
subroutine tamg_print_restriction_matrix(amg, lvl)
never call this function also this does not account for duplicates/ghosts in dofs
 
subroutine tamg_print_matrix(amg, lvl)
never call this function also this does not account for duplicates/ghosts in dofs
 
subroutine tamg_print_prolongation_matrix(amg, lvl)
never call this function also this does not account for duplicates/ghosts in dofs
 
subroutine, public tamg_sample_matrix_val(val, amg, lvl, i, j)
Sample the values in a matix (expensive, use with caution)
 
Implements the base type for TreeAMG hierarchy structure.
 
Type for a TreeAMG hierarchy.