init_prc_tab Subroutine

public subroutine init_prc_tab(fe_f)


Arguments

Type IntentOptional AttributesName
type(FE_FILM), intent(inout) :: fe_f

Calls

proc~~init_prc_tab~~CallsGraph proc~init_prc_tab init_prc_tab proc~ni4 ni4 proc~init_prc_tab->proc~ni4

Contents

Source Code


Source Code

   subroutine init_prc_tab(fe_f)
   implicit none
   type(FE_FILM), intent(inout) :: fe_f         ! *FE film*

      integer(kind=I4) ::  i, j, k, ng
      real(kind=R8), dimension(:), allocatable :: pg, wg

      ! number of Gauss points
      ng = 2

      ! table allocation
      allocate(pg(ng), wg(ng))
      fe_f%prc%ng = ng
      allocate( fe_f%prc%pg(ng), &
                fe_f%prc%wg(ng), &
                fe_f%prc%vni4 (4, ng, ng), &
                fe_f%prc%vni4x(4, ng, ng), &
                fe_f%prc%vni4y(4, ng, ng), &
                fe_f%prc%vni4d(4, ng, ng), &
                fe_f%prc%vcal(20, ng, ng) )
      ! Gauss points definition
      pg(1) = - 1._R8 / sqrt(3._R8)
      pg(2) = - pg(1)
      wg    = 1._R8

      fe_f%prc%pg = pg
      fe_f%prc%wg = wg

      ! precomputation of shape functions and derivatives at the Gauss points
      do i = 1, ng
         do j = 1, ng
            do k = 1, 4
               fe_f%prc%vni4(k, i, j) = ni4(k, pg(i), pg(j))
            enddo
         enddo
      enddo
      deallocate(pg, wg)
   return
   endsubroutine init_prc_tab