41 un_m1, un, pn_m1, pn, phin_m1, phin)
44 REAL(KIND=8),
INTENT(OUT):: time
45 REAL(KIND=8),
INTENT(IN) :: dt
46 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
47 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: un_m1, un
48 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: pn_m1, pn, phin_m1, phin
50 REAL(KIND=8),
DIMENSION(mesh_c%np) :: pn_m2
53 DO i= 1,
SIZE(list_mode)
57 un_m1(:,j,i) =
vv_exact(j,mesh_f%rr,mode,time-dt)
58 un(:,j,i) =
vv_exact(j,mesh_f%rr,mode,time)
62 pn_m2(:) =
pp_exact(j,mesh_c%rr,mode,time-2*dt)
63 pn_m1(:,j,i) =
pp_exact(j,mesh_c%rr,mode,time-dt)
64 pn(:,j,i) =
pp_exact(j,mesh_c%rr,mode,time)
65 phin_m1(:,j,i) = pn_m1(:,j,i) - pn_m2(:)
66 phin(:,j,i) = pn(:,j,i) - pn_m1(:,j,i)
75 REAL(KIND=8),
INTENT(OUT):: time
76 REAL(KIND=8),
INTENT(IN) :: dt
77 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
78 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: tempn_m1, tempn
82 DO i= 1,
SIZE(list_mode)
119 INTEGER ,
INTENT(IN) :: TYPE
120 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
121 INTEGER ,
INTENT(IN) :: mode, i
122 REAL(KIND=8),
INTENT(IN) :: time
123 REAL(KIND=8),
INTENT(IN) :: Re
124 CHARACTER(LEN=2),
INTENT(IN) :: ty
125 REAL(KIND=8),
DIMENSION(:,:,:),
OPTIONAL,
INTENT(IN) :: opt_density
126 REAL(KIND=8),
DIMENSION(:,:,:),
OPTIONAL,
INTENT(IN) :: opt_tempn
127 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
130 CHARACTER(LEN=2) :: np
132 IF (
PRESENT(opt_density))
CALL error_petsc(
'density should not be present for test 15')
135 vv =
inputs%gravity_coefficient*opt_tempn(:,1,i)
136 ELSE IF (type==6)
THEN 137 vv =
inputs%gravity_coefficient*opt_tempn(:,2,i)
144 n=
SIZE(rr,1); n=mode; r=time; r=re; np=ty
151 INTEGER ,
INTENT(IN) :: TYPE
152 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
153 INTEGER ,
INTENT(IN) :: m
154 REAL(KIND=8),
INTENT(IN) :: t
155 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
163 n=type; n=
SIZE(rr,1); n=m; r=t
182 FUNCTION vv_exact(TYPE,rr,m,t) RESULT(vv)
184 INTEGER ,
INTENT(IN) :: TYPE
185 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
186 INTEGER,
INTENT(IN) :: m
187 REAL(KIND=8),
INTENT(IN) :: t
188 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
196 n=type; n=
SIZE(rr,1); n=m; r=t
217 FUNCTION pp_exact(TYPE,rr,m,t) RESULT (vv)
219 INTEGER ,
INTENT(IN) :: TYPE
220 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
221 INTEGER ,
INTENT(IN) :: m
222 REAL(KIND=8),
INTENT(IN) :: t
223 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
231 n=type; n=
SIZE(rr,1); n=m; r=t
238 INTEGER ,
INTENT(IN) :: TYPE
239 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
240 INTEGER ,
INTENT(IN) :: m
241 REAL(KIND=8),
INTENT(IN) :: t
242 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
243 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: r, z
249 IF (m==0 .AND. type==1)
THEN 250 vv(:)= - z - (z-5d-1)*(z+5d-1)
251 ELSE IF (m.GE.1)
THEN 252 vv= -(z-5d-1)*(z+5d-1)
303 INTEGER ,
INTENT(IN) ::
TYPE, n_start
304 INTEGER,
INTENT(IN) :: mode
305 REAL(KIND=8),
INTENT(IN) :: t
306 REAL(KIND=8),
DIMENSION(H_Mesh%np) :: vv
314 n=h_mesh%np; r=t; n=type; n=mode; n=n_start
real(kind=8) function, dimension(h_mesh%np), public extension_velocity(TYPE, H_mesh, mode, t, n_start)
subroutine, public init_temperature(mesh, time, dt, list_mode, tempn_m1, 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(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 pp_exact(TYPE, rr, m, t)
real(kind=8) function, dimension(size(rr, 2)), public vv_exact(TYPE, rr, m, t)
subroutine, public init_velocity_pressure(mesh_f, mesh_c, time, dt, list_mode, un_m1, un, pn_m1, pn, phin_m1, phin)