save_profile_x_comp_air_pocket Subroutine

public subroutine save_profile_x_comp_air_pocket(fe_f, file_name, lx, zy, bc)


Arguments

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

FE_FILM element

character(len=*), intent(in) :: file_name

filename

real(kind=R8), intent(in) :: lx

pocket length

real(kind=R8), intent(in) :: zy

distance from a border

real(kind=R8), intent(in), dimension(4):: bc

pressure boundaries


Calls

proc~~save_profile_x_comp_air_pocket~~CallsGraph proc~save_profile_x_comp_air_pocket save_profile_x_comp_air_pocket proc~get_unit get_unit proc~save_profile_x_comp_air_pocket->proc~get_unit

Contents


Source Code

   subroutine save_profile_x_comp_air_pocket(fe_f, file_name, lx, zy, bc)
   implicit none
   type(FE_FILM),    intent(in)               :: fe_f          !! [[FE_FILM]] *element*
   character(len=*), intent(in)               :: file_name     !! *filename*
   real(kind=R8),    intent(in)               :: lx            !! *pocket length*
   real(kind=R8),    intent(in)               :: zy            !! *distance from a border*
   real(kind=R8),    intent(in), dimension(4) :: bc            !! *pressure boundaries*

      real(kind=R8)    :: dr, hr, hb, p0
      integer(kind=I4) :: i, k

      dr = lx / fe_f%m%n
      dr = dr / 10
      hr = minval(fe_f%vn(:, H_N))
      p0 = bc(1)
      call get_unit(k)
      open(k, file = file_name, status = 'unknown')
      do i = 1, fe_f%m%n
         if (((fe_f%m%y(i) - zy)**2) < (dr ** 2)) then
            hb = (fe_f%vn(i, H_N) + fe_f%vc(i, HG_C))/hr
            write (k, *) fe_f%m%x(i)/lx, hb, fe_f%vn(i, P_N) / p0, hb
         endif
      enddo
      close(k)

   return
   endsubroutine save_profile_x_comp_air_pocket