1 | subroutine 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 |
---|
58 | if( 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 |
---|
69 | endif |
---|
70 | |
---|
71 | ! FACE 6: zeta=1 |
---|
72 | if( 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 | |
---|
82 | endif |
---|
83 | |
---|
84 | end subroutine set_BC_values |
---|