43 un_m1, un, pn_m1, pn, phin_m1, phin)
46 REAL(KIND=8),
INTENT(OUT):: time
47 REAL(KIND=8),
INTENT(IN) :: dt
48 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
49 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: un_m1, un
50 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: pn_m1, pn, phin_m1, phin
52 REAL(KIND=8),
DIMENSION(mesh_c%np) :: pn_m2
55 DO i= 1,
SIZE(list_mode)
59 un_m1(:,j,i) =
vv_exact(j,mesh_f%rr,mode,time-dt)
60 un(:,j,i) =
vv_exact(j,mesh_f%rr,mode,time)
64 pn_m2(:) =
pp_exact(j,mesh_c%rr,mode,time-2*dt)
65 pn_m1(:,j,i) =
pp_exact(j,mesh_c%rr,mode,time-dt)
66 pn(:,j,i) =
pp_exact(j,mesh_c%rr,mode,time)
67 phin_m1(:,j,i) = pn_m1(:,j,i) - pn_m2(:)
68 phin(:,j,i) = pn(:,j,i) - pn_m1(:,j,i)
77 REAL(KIND=8),
INTENT(OUT):: time
78 REAL(KIND=8),
INTENT(IN) :: dt
79 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
80 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: tempn_m1, tempn
84 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, r, z
128 REAL(KIND=8) :: alpha, r0 = 0.5d0
129 CHARACTER(LEN=2) :: np
131 IF (
PRESENT(opt_density))
CALL error_petsc(
'density should not be present for test 33')
133 alpha =
inputs%gravity_coefficient
139 ELSE IF (type==6)
THEN 147 vv = vv -(2*r*(r**4 - 2*r**3*r0 + r0**2 + r**2*(-3 + r0**2))*cos(time)*cos(z) + &
148 (r - r0)*re*cos(time)**2*(14*r**3 - 5*r**2*r0 - 5*r*r0**2 + 2*r0**3 + &
149 (9*r**5 - 21*r**4*r0 + 5*r*r0**2 - 2*r0**3 + r**3*(-14 + 15*r0**2) + r**2*(5*r0 - 3*r0**3))*cos(2*z)) - &
150 2*r**3*(r - r0)**2*re*cos(z)*sin(time))/(2.*r**3*re)
151 ELSE IF (mode==1)
THEN 152 vv = vv +(-(r*(r**4 - 2*r*r0 - 2*r**3*r0 + 2*r0**2 + r**2*(-2 + r0**2))*cos(time)*cos(z)) - &
153 (3*r**2 - 4*r*r0 + r0**2)*re*cos(time)**2*(3*r**2 - r0**2 + (2*r**4 - 4*r**3*r0 + r0**2 + &
154 r**2*(-3 + 2*r0**2))*cos(2*z)) + r**3*(r - r0)**2*re*cos(z)*sin(time))/ (r**3*re)
155 ELSE IF (mode==2)
THEN 156 vv = vv -((r - r0)*cos(time)**2*(4*r**2 - r*r0 - r0**2 + (3*r**4 - 7*r**3*r0 + r0**2 + &
157 r**2*(-4 + 5*r0**2) + r*(r0 - r0**3))*cos(2*z)))/(2.*r**2)
159 ELSE IF (type==2)
THEN 161 vv = vv + ((r - r0)**2*cos(time)*(-2*r*cos(z) + re*cos(time)*(r**4 - r*r0 - 2*r**3*r0 + &
162 r0**2 + r**2*(-3 + r0**2) + (3*r**2 + r*r0 - r0**2)*cos(2*z))))/(r**3*re)
163 ELSE IF (mode==2)
THEN 164 vv = vv + ((r - r0)**2*cos(time)**2*(r**4 - r*r0 - 2*r**3*r0 + r0**2 + r**2*(-3 + r0**2) + &
165 (3*r**2 + r*r0 - r0**2)*cos(2*z)))/(2.*r**3)
167 ELSE IF (type==3)
THEN 169 vv = vv + (-3*r*(r - r0)**3*(3*r - r0)*re*cos(time)**2 + 2*(r**4 - 2*r**3*r0 + r0**2 + &
170 r**2*(-3 + r0**2))*cos(time)*cos(z) - 2*r**2*(r - r0)**2*re*cos(z)*sin(time))/(2.*r**2*re)
171 ELSE IF (mode==1)
THEN 172 vv = vv -(-2*r*(r**4 - 2*r*r0 - 2*r**3*r0 + 2*r0**2 + r**2*(-2 + r0**2))*cos(time)*cos(z) + &
173 (r - r0)**3*(3*r - r0)*re*cos(time)**2*(1 + 4*r**2 - cos(2*z)) + &
174 2*r**3*(r - r0)**2*re*cos(z)*sin(time))/(2.*r**3*re)
175 ELSE IF (mode==2)
THEN 176 vv = vv + ((r - r0)**3*(3*r - r0)*cos(time)**2*(-1 - r**2 + cos(2*z)))/(2.*r**3)
178 ELSE IF (type==4)
THEN 180 vv = vv + ((r - r0)**2*cos(time)*(-4*r*cos(z) + re*cos(time)*((-3*r + r0)**2 + &
181 (2*r**4 + 6*r*r0 - 4*r**3*r0 - r0**2 + r**2*(-9 + 2*r0**2))*cos(2*z))))/(2.*r**3*re)
182 ELSE IF (mode==2)
THEN 183 vv = vv + ((r - r0)**2*cos(time)**2*(4*r - 2*r0 + (r*(-4 + (r - r0)**2) + 2*r0)*cos(2*z)))/(2.*r**2)
185 ELSE IF (type==5)
THEN 187 vv = vv + (((3*r**4 - 4*r**3*r0 - r0**2 + r**2*(-3 + r0**2))*cos(time) + &
188 r*(r - r0)**2*(3*r**4 - r*r0 - 6*r**3*r0 + 2*r0**2 + r**2*(-4 + 3*r0**2))*re*cos(time)**2*cos(z) - &
189 r**2*(3*r**2 - 4*r*r0 + r0**2)*re*sin(time))*sin(z))/(r**3*re)
190 ELSE IF (mode==1)
THEN 191 vv = vv + ((3*r**3 - 4*r0 - 4*r**2*r0 + r*r0**2)*cos(time)*sin(z) - r*(3*r**2 - 4*r*r0 + r0**2)*re*sin(time)*sin(z) + &
192 ((r - r0)**2*(4*r**4 - 2*r*r0 - 8*r**3*r0 + 3*r0**2 + r**2*(-5 + 4*r0**2))*re*cos(time)**2*sin(2*z))/2.)/(r**2*re)
193 ELSE IF (mode==2)
THEN 194 vv = vv + ((r - r0)**2*(r**4 - r*r0 - 2*r**3*r0 + r0**2 + r**2*(-1 + r0**2))*cos(time)**2*sin(2*z))/(2.*r**2)
196 ELSE IF (type==6)
THEN 198 vv = vv -((((-r**3 + 2*r0 + 2*r**2*r0 - r*r0**2)*cos(time) + 4*r*(r - r0)**3*re*cos(time)**2*cos(z) + &
199 r*(r - r0)**2*re*sin(time))*sin(z))/(r**2*re))
200 ELSE IF (mode==2)
THEN 201 vv = vv -(((r - r0)**3*cos(time)**2*sin(2*z))/r)
207 vv = vv - 0.25 * exp(2*z) * r**7 * (215.d0 + 51*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
208 ELSE IF (mode == 1)
THEN 209 vv = vv - 5 * exp(2*z) * r**7 * (11.d0 + 3*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
210 ELSE IF (mode == 2)
THEN 211 vv = vv + 14 * exp(2*z) * r**7 * (r - r0)**4 * cos(time)**4 * sin(z)**2
212 ELSE IF (mode == 3)
THEN 213 vv = vv + exp(2*z) * r**7 * (19.d0 + 3*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
214 ELSE IF (mode == 4)
THEN 215 vv = vv + 0.75 * exp(2*z) * r**7 * (5.d0 + r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
219 ELSE IF (
TYPE == 2) then
221 vv = vv - 3 * exp(2*z) * r**7 * (24.d0 + 5*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
222 ELSE IF (mode == 2)
THEN 223 vv = vv - 4 * exp(2*z) * r**7 * (13.d0 + 3*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
224 ELSE IF (mode == 3)
THEN 225 vv = vv - exp(2*z) * r**7 * (8.d0 + 3*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
226 ELSE IF (mode == 4)
THEN 227 vv = vv + 2 * exp(2*z) * r**7 * (r - r0)**4 * cos(time)**4 * sin(z)**2
231 ELSE IF (
TYPE == 3) then
233 vv = vv - exp(2*z) * r**7 * (15.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
234 ELSE IF (mode == 1)
THEN 235 vv = vv - 0.5 * exp(2*z) * r**7 * (48.d0 + 7*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
236 ELSE IF (mode == 2)
THEN 237 vv = vv - 2 * exp(2*z) * r**7 * (5.d0 + r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
238 ELSE IF (mode == 3)
THEN 239 vv = vv - 0.5 * exp(2*z) * r**9 * (r - r0)**4 * cos(time)**4 * sin(z)**2
240 ELSE IF (mode == 4)
THEN 241 vv = vv + exp(2*z) * r**7 * (r - r0)**4 * cos(time)**4 * sin(z)**2
245 ELSE IF (
TYPE == 4) then
247 vv = vv - 0.5 * exp(2*z) * r**7 * (25.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
248 ELSE IF (mode == 2)
THEN 249 vv = vv - 0.25 * exp(2*z) * r**7 * (61.d0 + 6*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
250 ELSE IF (mode == 3)
THEN 251 vv = vv - 0.5 * exp(2*z) * r**7 * (17.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
252 ELSE IF (mode == 4)
THEN 253 vv = vv - 0.125 * exp(2*z) * r**7 * (15.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
257 ELSE IF (
TYPE == 5) then
259 vv = vv - 0.125 * exp(2*z) * r**8 * (215.d0 + 34*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
260 ELSE IF (mode == 1)
THEN 261 vv = vv - 2.5 * exp(2*z) * r**8 * (11.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
262 ELSE IF (mode == 2)
THEN 263 vv = vv + 7 * exp(2*z) * r**8 * (r - r0)**4 * cos(time)**4 * sin(z)**2
264 ELSE IF (mode == 3)
THEN 265 vv = vv + 0.5 * exp(2*z) * r**8 * (19.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
266 ELSE IF (mode == 4)
THEN 267 vv = vv + 0.125 * exp(2*z) * r**8 * (15.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
271 ELSE IF (
TYPE == 6) then
273 vv = vv - exp(2*z) * r**8 * (36.d0 + 5*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
274 ELSE IF (mode == 2)
THEN 275 vv = vv - 2 * exp(2*z) * r**8 * (13.d0 + 2*r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
276 ELSE IF (mode == 3)
THEN 277 vv = vv - exp(2*z) * r**8 * (4.d0 + r**2) * (r - r0)**4 * cos(time)**4 * sin(z)**2
278 ELSE IF (mode == 4)
THEN 279 vv = vv + exp(2*z) * r**8 * (r - r0)**4 * cos(time)**4 * sin(z)**2
295 INTEGER ,
INTENT(IN) :: TYPE
296 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
297 INTEGER ,
INTENT(IN) :: m
298 REAL(KIND=8),
INTENT(IN) :: t
299 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z, c, lambda
301 REAL(KIND=8) :: r0 = 0.5d0
308 c(i) =
inputs%vol_heat_capacity(1)
310 c(i) =
inputs%vol_heat_capacity(2)
316 lambda(i) =
inputs%temperature_diffusivity(1)
318 lambda(i) =
inputs%temperature_diffusivity(2)
324 vv = - (-(r**4 + 18*r*r0 - 2*r**3*r0 - 4*r0**2 + r**2*(-16.d0 + r0**2))*lambda*cos(t) &
325 + c*r**2*(r - r0)**2*sin(t))*sin(z)
327 vv = -(-(r**4 + 16*r*r0 - 2*r**3*r0 - 3*r0**2 + r**2*(-15.d0 + r0**2))*lambda*cos(t) &
328 + c*r**2*(r - r0)**2*sin(t))*sin(z)
340 vv(i) = vv(i) + c(i)*(-3*r(i)*(r(i) - r0)**4*cos(t)**2*sin(2*z(i)))/4.d0
346 vv(i) = vv(i) - c(i)*r(i)*(r(i) - r0)**4*cos(t)**2*sin(2*z(i))
352 vv(i) = vv(i) - c(i)/lambda(i)*(r(i)*(r(i) - r0)**4*cos(t)**2*sin(2*z(i)))/4.d0
374 FUNCTION vv_exact(TYPE,rr,m,t) RESULT(vv)
376 INTEGER ,
INTENT(IN) :: TYPE
377 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
378 INTEGER,
INTENT(IN) :: m
379 REAL(KIND=8),
INTENT(IN) :: t
380 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z
381 REAL(KIND=8) :: r0 = 0.5d0
387 IF ((m==0).OR.(m==1))
THEN 388 vv = -(r-r0)**2*cos(t)*cos(z)
392 ELSE IF (type==3)
THEN 393 IF ((m==0).OR.(m==1))
THEN 394 vv = (r-r0)**2*cos(t)*cos(z)
398 ELSE IF (type==5)
THEN 399 IF ((m==0).OR.(m==1))
THEN 400 vv = (r-r0)*cos(t)*sin(z)/r * (3*r-r0)
404 ELSE IF (type==6)
THEN 406 vv = (r-r0)*cos(t)*sin(z)/r * (r-r0)
433 FUNCTION pp_exact(TYPE,rr,m,t) RESULT (vv)
435 INTEGER ,
INTENT(IN) :: TYPE
436 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
437 INTEGER ,
INTENT(IN) :: m
438 REAL(KIND=8),
INTENT(IN) :: t
439 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
447 n=type; n=
SIZE(rr,1); n=m; r=t
454 INTEGER ,
INTENT(IN) :: TYPE
455 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
456 INTEGER ,
INTENT(IN) :: m
457 REAL(KIND=8),
INTENT(IN) :: t
458 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z
459 REAL(KIND=8) :: r0=0.5d0
464 IF ((type==1).AND.((m==0).OR.(m==1)))
THEN 465 vv = r**2*(r-r0)**2*sin(z)*cos(t)
511 INTEGER ,
INTENT(IN) ::
TYPE, n_start
512 INTEGER,
INTENT(IN) :: mode
513 REAL(KIND=8),
INTENT(IN) :: t
514 REAL(KIND=8),
DIMENSION(H_Mesh%np) :: vv
522 n=h_mesh%np; r=t; n=type; n=mode; n=n_start
557 FUNCTION hexact(H_mesh, TYPE, rr, m, mu_H_field, t) RESULT(vv)
560 INTEGER ,
INTENT(IN) :: TYPE
561 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
562 INTEGER ,
INTENT(IN) :: m
563 REAL(KIND=8),
INTENT(IN) :: t
564 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_H_field
565 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv, r, z
573 vv = - exp(z) * r**3 * cos(t)
577 ELSE IF (
TYPE == 2) then
579 vv = - exp(z) * r**3 * cos(t)
583 ELSE IF (
TYPE == 3) then
585 vv = exp(z) * r**3 * cos(t)
589 ELSE IF (
TYPE == 4) then
591 vv = exp(z) * r**3 * cos(t)
595 ELSE IF (
TYPE == 5) then
597 vv = 4 * exp(z) * r**2 * cos(t)
598 ELSE IF (m == 1)
THEN 599 vv = - exp(z) * r**2 * cos(t)
605 vv = 4 * exp(z) * r**2 * cos(t)
613 n=h_mesh%np; n=
SIZE(mu_h_field);
618 FUNCTION phiexact(TYPE, rr, m, mu_phi,t) RESULT(vv)
620 INTEGER ,
INTENT(IN) :: TYPE
621 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
622 INTEGER ,
INTENT(IN) :: m
623 REAL(KIND=8),
INTENT(IN) :: mu_phi, t
624 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
632 n=type; n=
SIZE(rr,1); n=m; r=mu_phi; r=t
637 FUNCTION jexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t, mesh_id, opt_B_ext) RESULT(vv)
639 INTEGER ,
INTENT(IN) :: TYPE
640 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
641 INTEGER ,
INTENT(IN) :: m
642 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_H, t
643 INTEGER ,
INTENT(IN) :: mesh_id
644 REAL(KIND=8),
DIMENSION(6),
OPTIONAL,
INTENT(IN) :: opt_B_ext
654 vv = - exp(z) * r**3 * cos(t)
655 ELSE IF (m == 1)
THEN 656 vv = 4 * exp(z) * r * cos(t)
660 ELSE IF (
TYPE == 2) then
662 vv = - exp(z) * r * (-1.d0 + r**2) * cos(t)
666 ELSE IF (
TYPE == 3) then
668 vv = - exp(z) * r * (8.d0 + r**2) * cos(t)
669 ELSE IF (m == 1)
THEN 670 vv = 2 * exp(z) * r * cos(t)
674 ELSE IF (
TYPE == 4) then
676 vv = - exp(z) * r * (8.d0 + r**2) * cos(t)
680 ELSE IF (
TYPE == 5) then
682 vv = 4 * exp(z) *r**2 * cos(t)
683 ELSE IF (m == 1)
THEN 684 vv = exp(z) * r**2 * cos(t)
690 vv = 4 * exp(z) * r**2 * cos(t)
698 r=mu_phi; r=sigma; r=mu_h; n=mesh_id
699 IF (
PRESENT(opt_b_ext)) r=opt_b_ext(1)
704 FUNCTION eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t) RESULT(vv)
706 INTEGER,
INTENT(IN) :: TYPE
707 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
708 INTEGER,
INTENT(IN) :: m
709 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_H, t
718 r=rr(1); r=mu_phi; r=sigma; r=mu_h; r=t; n=type; n=m
723 SUBROUTINE init_maxwell(H_mesh, phi_mesh, time, dt, mu_H_field, mu_phi, &
724 list_mode, hn1, hn, phin1, phin)
727 REAL(KIND=8),
INTENT(OUT):: time
728 REAL(KIND=8),
INTENT(IN) :: dt
729 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_H_field
730 REAL(KIND=8),
INTENT(IN) :: mu_phi
731 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
732 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: Hn, Hn1
733 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: phin, phin1
738 DO i=1,
SIZE(list_mode)
739 hn1(:,k,i) =
hexact(h_mesh,k, h_mesh%rr, list_mode(i), mu_h_field, time)
740 IF (
inputs%nb_dom_phi>0)
THEN 742 phin1(:,k,i) =
phiexact(k, phi_mesh%rr, list_mode(i) , mu_phi, time)
750 DO i=1,
SIZE(list_mode)
751 hn(:,k,i) =
hexact(h_mesh,k, h_mesh%rr, list_mode(i), mu_h_field, time)
752 IF (
inputs%nb_dom_phi>0)
THEN 754 phin(:,k,i) =
phiexact(k, phi_mesh%rr, list_mode(i), mu_phi, time)
real(kind=8) function, dimension(size(rr, 2)), public pp_exact(TYPE, rr, m, t)
real(kind=8) function, public eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t)
real(kind=8) function, public chi_coeff_law(temp)
real(kind=8) function, dimension(size(rr, 2)), public temperature_exact(TYPE, rr, m, t)
subroutine, public init_maxwell(H_mesh, phi_mesh, time, dt, mu_H_field, mu_phi, list_mode, Hn1, Hn, phin1, phin)
real(kind=8) function, public t_dchi_dt_coeff_law(temp)
subroutine error_petsc(string)
real(kind=8) function, dimension(size(rr, 2)), public phiexact(TYPE, rr, m, mu_phi, t)
real(kind=8) function, dimension(size(rr, 2)), public hexact(H_mesh, TYPE, rr, m, mu_H_field, t)
real(kind=8) function, dimension(size(rr, 2)), public source_in_temperature(TYPE, rr, m, t)
real(kind=8) function, dimension(h_mesh%np), public extension_velocity(TYPE, H_mesh, mode, t, n_start)
real(kind=8) function, dimension(size(rr, 2)), public vv_exact(TYPE, rr, m, t)
real(kind=8) function, public jexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t, mesh_id, opt_B_ext)
real(kind=8) function, dimension(size(rr, 2)), public source_in_ns_momentum(TYPE, rr, mode, i, time, Re, ty, opt_density, opt_tempn)
subroutine, public init_velocity_pressure(mesh_f, mesh_c, time, dt, list_mode, un_m1, un, pn_m1, pn, phin_m1, phin)
subroutine, public init_temperature(mesh, time, dt, list_mode, tempn_m1, tempn)