Subroutine to save the pressures along a line following the flow, at distance from a border
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
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