source: trunk/00FlowSolve_PL/SRC/set_BC_values.f90 @ 2

Last change on this file since 2 was 2, checked in by xlvlod, 17 years ago

initial import from /home2/xlvlod/IDRIS/SVN_BASE_TRUNK

File size: 3.3 KB
Line 
1subroutine set_BC_values
2#define DEBUG_LEVEL 1
3
4! ****  Most arrays available via use statements ******
5 use grid_info
6 use boundary_information
7 use dependent_variables
8 use pde_parameters
9 use dimensional_scales
10 use mpi_parameters
11 use counters_flags_etc
12 use user_parameters
13 implicit none
14!******************************************************
15 include '../input/problem_size.h'
16 include 'mpif.h'
17!******************************************************
18 real dv_dzeta,f_of_t
19
20 if( istep > istart .and. steady_BCS=='yes' ) return
21#if DEBUG_LEVEL >= 1
22 if(myid==0) write(0,*) 'hello world from set_BC_values'
23#endif
24
25! FACE 1:  xi=0
26 BC_values1(:,:,1)=0.0    ! BC_vel1(:,:)='solid' => U
27 BC_values1(:,:,2)=0.0    ! BC_vel1(:,:)='specified_value' => v
28 BC_values1(:,:,3)=0.0    ! BC_vel1(:,:)='specified_value' => W
29 BC_values1(:,:,4)=0.0    ! BC_scalar1(:,:,1)='specified_gradient' => d/dxi (s1)
30 if(num_scalars>1)  &
31 BC_values1(:,:,5)=0.0    ! BC_scalar1(:,:,2)='specified_gradient' => d/dxi (s2)
32
33! FACE 2:  xi=1
34 BC_values2(:,:,1)=0.0    ! BC_vel1(:,:)='solid' => U
35 BC_values2(:,:,2)=0.0    ! BC_vel1(:,:)='specified_value' => v
36 BC_values2(:,:,3)=0.0    ! BC_vel1(:,:)='specified_value' => W
37 BC_values2(:,:,4)=0.0    ! BC_scalar1(:,:,1)='specified_gradient' => d/dxi (s1)
38 if(num_scalars>1)  &
39 BC_values2(:,:,5)=0.0    ! BC_scalar1(:,:,2)='specified_gradient' => d/dxi (s2)
40
41! FACE 3:  eta=0
42 BC_values3(:,:,1)=0.0    ! BC_vel3(:,:)='specified "stress"' => du/deta
43 BC_values3(:,:,2)=0.0    ! BC_vel3(:,:)='specified "stress"' => "dv/deta"
44 BC_values3(:,:,3)=0.0    ! BC_vel3(:,:)='specified "stress"' => dw/deta
45 BC_values3(:,:,4)=0.0    ! BC_scalar3(:,:,1)='specified_gradient' => ds1/deta
46 if(num_scalars>1)  &
47 BC_values3(:,:,5)=0.0    ! BC_scalar3(:,:,2)='specified_gradient' => ds2/deta
48
49! FACE 4:  eta=1
50 BC_values4(:,:,1)=0.0    ! BC_vel4(:,:)='specified "stress"' => du/deta
51 BC_values4(:,:,2)=0.0    ! BC_vel4(:,:)='specified "stress"' => "dv/deta"
52 BC_values4(:,:,3)=0.0    ! BC_vel3(:,:)='specified "stress"' => dw/deta
53 BC_values4(:,:,4)=0.0    ! BC_scalar4(:,:,1)='specified_gradient' => ds1/deta
54 if(num_scalars>1)  &
55 BC_values4(:,:,5)=0.0    ! BC_scalar4(:,:,2)='specified_gradient' => ds2/deta
56
57! FACE 5:  zeta=0   ! values set for free-slip wall
58if( myid == 0 ) then
59 BC_values5(:,:,1)=0.0    ! BC_vel5(:,:)='specified_stress' => dU/dzeta=0
60 BC_values5(:,:,2)=0.0    ! BC_vel5(:,:)='specified_stress' => dv/dzeta=0
61 BC_values5(:,:,3)=0.0    ! BC_vel5(:,:)='specified_value' => W=0
62 do j=1,ny
63! BC_values5(:,j,4)=-s1_bar_zeta(:,1)     ! BC_scalar5(:,:,1)='specified_gradient' => d/dzeta( s1 )
64! BC_values5(:,j,4)=0.0                   ! s1=0 IW test
65  BC_values5(:,j,4)=0.0                   ! d/dzeta( s1 )=0, total gradient=ambient value
66  if(num_scalars>1)  &
67  BC_values5(:,j,5)=0.0                   ! d/dzeta( s2 )=0, total gradient=ambient value
68 enddo
69endif
70
71! FACE 6:  zeta=1
72if( myid == numprocs-1 ) then
73 BC_values6(:,:,1)=0.0    ! BC_vel6(:,:)='specified_stress' => set dU/dzeta=0
74 BC_values6(:,:,2)=0.0    ! BC_vel6(:,:)='specified_stress' => set dV/dzeta=0
75 BC_values6(:,:,3)=0.0    ! solid => W=0
76 do j=1,ny
77  BC_values6(:,j,4)=-s1_bar_zeta(:,locnz)    ! BC_scalar6(:,:,1)='specified_gradient' => d/dzeta( s1 )
78  if(num_scalars>1)  &
79  BC_values6(:,j,5)=-s2_bar_zeta(:,locnz)    ! BC_scalar6(:,:,2)='specified_gradient' => d/dzeta( s2 )
80 enddo
81
82endif
83
84end subroutine set_BC_values
Note: See TracBrowser for help on using the repository browser.