8 #include "sll_working_precision.h" 
   25       procedure(signature_compute_phi_from_rho_2d), 
deferred, pass(poisson) :: &
 
   29       procedure(signature_compute_e_from_rho_2d), 
deferred, pass(poisson) :: &
 
   33       procedure(signature_norm_squared), 
deferred :: &
 
   36       procedure(signature_update_dofs_function), 
deferred :: &
 
   37          compute_rhs_from_function
 
   39       procedure(signature_empty), 
deferred :: &
 
   49          sll_real64, 
intent(in) :: x(:)
 
   53 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
   59       subroutine signature_compute_phi_from_rho_2d(poisson, phi, rho)
 
   65          sll_real64, 
dimension(:, :), 
intent(in)  :: rho
 
   66          sll_real64, 
dimension(:, :), 
intent(out) :: phi
 
   68       end subroutine signature_compute_phi_from_rho_2d
 
   74       subroutine signature_compute_e_from_rho_2d(poisson, E1, E2, rho)
 
   80          sll_real64, 
dimension(:, :), 
intent(in)  :: rho
 
   81          sll_real64, 
dimension(:, :), 
intent(out) :: e1
 
   82          sll_real64, 
dimension(:, :), 
intent(out) :: e2
 
   84       end subroutine signature_compute_e_from_rho_2d
 
   89       function signature_norm_squared(poisson, coefs_dofs) 
result(r)
 
   93          sll_real64, 
intent(in)                    :: coefs_dofs(:, :) 
 
   95       end function signature_norm_squared
 
  100       subroutine signature_update_dofs_function(poisson, func, coefs_dofs)
 
  106          sll_real64, 
intent(out)                  :: coefs_dofs(:) 
 
  107       end subroutine signature_update_dofs_function
 
  114       subroutine signature_empty(poisson)
 
  118       end subroutine signature_empty
 
  122 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 
Module interface to solve Poisson equation in 2D.
 
Module to select the kind parameter.