apply_roughness Subroutine

private subroutine apply_roughness(fe_f, tab_s)


Arguments

Type IntentOptional AttributesName
type(FE_FILM), intent(inout) :: fe_f
real(kind=R8), intent(in), dimension(:,:):: tab_s

Called by

proc~~apply_roughness~~CalledByGraph proc~apply_roughness apply_roughness proc~apply_roughness_ms apply_roughness_MS proc~apply_roughness_ms->proc~apply_roughness proc~test_rough_fe test_rough_fe proc~test_rough_fe->proc~apply_roughness proc~run_test run_test proc~run_test->proc~test_rough_fe proc~test_rough_ms test_rough_ms proc~run_test->proc~test_rough_ms proc~test_rough_ms->proc~apply_roughness_ms program~main main program~main->proc~run_test

Contents

Source Code


Source Code

   subroutine apply_roughness(fe_f, tab_s)
   implicit none
   type(FE_FILM), intent(inout)                 :: fe_f
   real(kind=R8), intent(in   ), dimension(:,:) :: tab_s

      real(kind=R8)    :: xp, yp
      integer(kind=I4) :: k, i, j

      do k = 1, fe_f%m%n
         xp = fe_f%m%x(k)
         yp = fe_f%m%y(k)
         i = int((fe_f%m%nx - 1) * xp / fe_f%m%lx) + 1
         j = int((fe_f%m%ny - 1) * yp / fe_f%m%ly) + 1
         fe_f%vn(k, H2_N) = fe_f%data_f%h_0 - tab_s(i, j)
      enddo
      fe_f%vn(:, H_N) = fe_f%vn(:, H2_N) - fe_f%vn(:, H1_N)

   return
   endsubroutine apply_roughness