42 un_m1, un, pn_m1, pn, phin_m1, phin)
45 REAL(KIND=8),
INTENT(OUT):: time
46 REAL(KIND=8),
INTENT(IN) :: dt
47 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
48 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: un_m1, un
49 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: pn_m1, pn, phin_m1, phin
51 REAL(KIND=8),
DIMENSION(mesh_c%np) :: pn_m2
54 DO i= 1,
SIZE(list_mode)
58 un_m1(:,j,i) =
vv_exact(j,mesh_f%rr,mode,time-dt)
59 un(:,j,i) =
vv_exact(j,mesh_f%rr,mode,time)
63 pn_m2(:) =
pp_exact(j,mesh_c%rr,mode,time-2*dt)
64 pn_m1(:,j,i) =
pp_exact(j,mesh_c%rr,mode,time-dt)
65 pn(:,j,i) =
pp_exact(j,mesh_c%rr,mode,time)
66 phin_m1(:,j,i) = pn_m1(:,j,i) - pn_m2(:)
67 phin(:,j,i) = pn(:,j,i) - pn_m1(:,j,i)
76 REAL(KIND=8),
INTENT(OUT):: time
77 REAL(KIND=8),
INTENT(IN) :: dt
78 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
79 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: tempn_m1, tempn
83 DO i= 1,
SIZE(list_mode)
118 INTEGER ,
INTENT(IN) :: TYPE
119 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
120 INTEGER ,
INTENT(IN) :: mode, i
121 REAL(KIND=8),
INTENT(IN) :: time
122 REAL(KIND=8),
INTENT(IN) :: Re
123 CHARACTER(LEN=2),
INTENT(IN) :: ty
124 REAL(KIND=8),
DIMENSION(:,:,:),
OPTIONAL,
INTENT(IN) :: opt_density
125 REAL(KIND=8),
DIMENSION(:,:,:),
OPTIONAL,
INTENT(IN) :: opt_tempn
126 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z, nu
127 REAL(KIND=8) :: nu_bar
130 CHARACTER(LEN=2) :: np
132 IF (
PRESENT(opt_density))
CALL error_petsc(
'density should not be present for test 36')
133 IF (
PRESENT(opt_tempn)) m=i
139 nu = nu_bar - (nu_bar/2) * (r**3 + exp(z)) / (1.d0 + exp(1.d0)) * cos(time)**2
143 IF ((
TYPE == 3) .AND. (mode == 0))
THEN 144 vv = r**2 * cos(time - z)
151 IF ((
TYPE == 1) .AND. (mode == 0))
THEN 152 vv = vv - 3 * r**3 * sin(time - z)**2
153 ELSE IF ((
TYPE == 5) .AND. (mode == 0))
THEN 154 vv = vv + r**4 * cos(time - z) * sin(time - z)
159 IF ((
TYPE == 3) .AND. (mode == 0))
THEN 161 + (nu_bar/2)/(1.d0 + exp(1.d0)) * r**2*cos(time)**2 * (3*r*sin(time - z) - exp(z)*cos(time - z)) &
162 - nu * (3.d0 - r**2) * sin(time - z)
175 INTEGER ,
INTENT(IN) :: TYPE
176 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
177 INTEGER ,
INTENT(IN) :: m
178 REAL(KIND=8),
INTENT(IN) :: t
179 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z
184 IF ((
TYPE == 1) .AND. (m == 0))
THEN 185 vv = - (r**3 + exp(z)) / (1.d0 + exp(1.d0)) * sin(2 * t) &
186 -
inputs%temperature_diffusivity(1) * (9 * r + exp(z)) / (1.d0 + exp(1.d0)) * cos(t)**2
209 FUNCTION vv_exact(TYPE,rr,m,t) RESULT(vv)
211 INTEGER ,
INTENT(IN) :: TYPE
212 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
213 INTEGER,
INTENT(IN) :: m
214 REAL(KIND=8),
INTENT(IN) :: t
215 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z
220 IF ((
TYPE == 3) .AND. (m == 0))
THEN 221 vv = r**2 * sin(t - z)
246 FUNCTION pp_exact(TYPE,rr,m,t) RESULT (vv)
248 INTEGER ,
INTENT(IN) :: TYPE
249 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
250 INTEGER ,
INTENT(IN) :: m
251 REAL(KIND=8),
INTENT(IN) :: t
252 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
260 n=type; n=
SIZE(rr,1); n=m; r=t
267 INTEGER ,
INTENT(IN) :: TYPE
268 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
269 INTEGER ,
INTENT(IN) :: m
270 REAL(KIND=8),
INTENT(IN) :: t
271 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z
276 IF ((
TYPE == 1) .AND. (m == 0))
THEN 277 vv = (r**3 + exp(z)) / (1.d0 + exp(1.d0)) * cos(t)**2
324 INTEGER ,
INTENT(IN) ::
TYPE, n_start
325 INTEGER,
INTENT(IN) :: mode
326 REAL(KIND=8),
INTENT(IN) :: t
327 REAL(KIND=8),
DIMENSION(H_Mesh%np) :: vv
335 n=h_mesh%np; r=t; n=type; n=mode; n=n_start
495 REAL(KIND=8) :: nu_bar
499 vv = - nu_bar / 2 * temp
real(kind=8) function, dimension(size(rr, 2)), public source_in_ns_momentum(TYPE, rr, mode, i, time, Re, ty, opt_density, opt_tempn)
real(kind=8) function, dimension(size(rr, 2)), public temperature_exact(TYPE, rr, m, t)
real(kind=8) function, dimension(size(rr, 2)), public source_in_temperature(TYPE, rr, m, t)
subroutine error_petsc(string)
real(kind=8) function, dimension(h_mesh%np), public extension_velocity(TYPE, H_mesh, mode, t, n_start)
real(kind=8) function, public nu_tilde_law(temp)
real(kind=8) function, dimension(size(rr, 2)), public pp_exact(TYPE, rr, m, t)
subroutine, public init_temperature(mesh, time, dt, list_mode, tempn_m1, tempn)
subroutine, public init_velocity_pressure(mesh_f, mesh_c, time, dt, list_mode, un_m1, un, pn_m1, pn, phin_m1, phin)
real(kind=8) function, dimension(size(rr, 2)), public vv_exact(TYPE, rr, m, t)