SFEMaNS  version 5.3
Reference documentation for SFEMaNS
condlim_test_15.f90
Go to the documentation of this file.
2  USE my_util
3  USE def_type_mesh
4  USE input_data
5 !!$ATTENTION
6 !!$Some subroutines have been commented to avoid warning messages when compiling executable.
7 !!$It can not be done in the module boundary_generic that expects all subroutines to be present.
8 !!$END ATTENTION
9  PUBLIC :: init_velocity_pressure
10  PUBLIC :: init_temperature
11 !!$ PUBLIC :: init_level_set
12  PUBLIC :: source_in_ns_momentum
13  PUBLIC :: source_in_temperature
14 !!$ PUBLIC :: source_in_level_set
15  PUBLIC :: vv_exact
16 !!$ PUBLIC :: imposed_velocity_by_penalty
17  PUBLIC :: pp_exact
18  PUBLIC :: temperature_exact
19 !!$ PUBLIC :: level_set_exact
20 !!$ PUBLIC :: penal_in_real_space
21  PUBLIC :: extension_velocity
22 !!$ PUBLIC :: Vexact
23 !!$ PUBLIC :: H_B_quasi_static
24 !!$ PUBLIC :: Hexact
25 !!$ PUBLIC :: Phiexact
26 !!$ PUBLIC :: Jexact_gauss
27 !!$ PUBLIC :: Eexact_gauss
28 !!$ PUBLIC :: init_maxwell
29 !!$ PUBLIC :: mu_bar_in_fourier_space
30 !!$ PUBLIC :: grad_mu_bar_in_fourier_space
31 !!$ PUBLIC :: mu_in_real_space
32  PRIVATE
33 
34 CONTAINS
35  !===============================================================================
36  ! Boundary conditions for Navier-Stokes
37  !===============================================================================
38 
39  !===Initialize velocity, pressure
40  SUBROUTINE init_velocity_pressure(mesh_f, mesh_c, time, dt, list_mode, &
41  un_m1, un, pn_m1, pn, phin_m1, phin)
42  IMPLICIT NONE
43  TYPE(mesh_type) :: mesh_f, mesh_c
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
49  INTEGER :: mode, i, j
50  REAL(KIND=8), DIMENSION(mesh_c%np) :: pn_m2
51 
52  time = 0.d0
53  DO i= 1, SIZE(list_mode)
54  mode = list_mode(i)
55  DO j = 1, 6
56  !===velocity
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)
59  END DO
60  DO j = 1, 2
61  !===pressure
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)
67  ENDDO
68  ENDDO
69  END SUBROUTINE init_velocity_pressure
70 
71  !===Initialize temperature
72  SUBROUTINE init_temperature(mesh, time, dt, list_mode, tempn_m1, tempn)
73  IMPLICIT NONE
74  TYPE(mesh_type) :: mesh
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
79  INTEGER :: mode, i, j
80 
81  time = 0.d0
82  DO i= 1, SIZE(list_mode)
83  mode = list_mode(i)
84  DO j = 1, 2
85  tempn_m1(:,j,i) = temperature_exact(j, mesh%rr, mode, time-dt)
86  tempn(:,j,i) = temperature_exact(j, mesh%rr, mode, time)
87  ENDDO
88  ENDDO
89  END SUBROUTINE init_temperature
90 
91 !!$ !===Initialize level_set
92 !!$ SUBROUTINE init_level_set(vv_mesh, time, &
93 !!$ dt, list_mode, level_set_m1, level_set)
94 !!$ IMPLICIT NONE
95 !!$ TYPE(mesh_type) :: vv_mesh
96 !!$ REAL(KIND=8), INTENT(OUT):: time
97 !!$ REAL(KIND=8), INTENT(IN) :: dt
98 !!$ INTEGER, DIMENSION(:), INTENT(IN) :: list_mode
99 !!$ REAL(KIND=8), DIMENSION(:,:,:,:), INTENT(OUT):: level_set, level_set_m1
100 !!$ INTEGER :: mode, i, j, n
101 !!$
102 !!$ time = 0.d0
103 !!$ DO i= 1, SIZE(list_mode)
104 !!$ mode = list_mode(i)
105 !!$ DO j = 1, 2
106 !!$ !===level_set
107 !!$ DO n = 1, inputs%nb_fluid -1
108 !!$ level_set_m1(n,:,j,i) = level_set_exact(n,j,vv_mesh%rr,mode,time-dt)
109 !!$ level_set (n,:,j,i) = level_set_exact(n,j,vv_mesh%rr,mode,time)
110 !!$ END DO
111 !!$ END DO
112 !!$ END DO
113 !!$
114 !!$ END SUBROUTINE init_level_set
115 
116  !===Source in momemtum equation. Always called.
117  FUNCTION source_in_ns_momentum(TYPE, rr, mode, i, time, Re, ty, opt_density, opt_tempn) RESULT(vv)
118  IMPLICIT NONE
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
128  REAL(KIND=8) :: r
129  INTEGER :: n
130  CHARACTER(LEN=2) :: np
131 
132  IF (PRESENT(opt_density)) CALL error_petsc('density should not be present for test 15')
133 
134  IF (type==5) THEN
135  vv = inputs%gravity_coefficient*opt_tempn(:,1,i)
136  ELSE IF (type==6) THEN
137  vv = inputs%gravity_coefficient*opt_tempn(:,2,i)
138  ELSE
139  vv = 0.d0
140  END IF
141  RETURN
142 
143  !===Dummies variables to avoid warning
144  n=SIZE(rr,1); n=mode; r=time; r=re; np=ty
145  !===Dummies variables to avoid warning
146  END FUNCTION source_in_ns_momentum
147 
148  !===Extra source in temperature equation. Always called.
149  FUNCTION source_in_temperature(TYPE, rr, m, t)RESULT(vv)
150  IMPLICIT NONE
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
156  REAL(KIND=8) :: r
157  INTEGER :: n
158 
159  vv = 0.d0
160  RETURN
161 
162  !===Dummies variables to avoid warning
163  n=type; n=SIZE(rr,1); n=m; r=t
164  !===Dummies variables to avoid warning
165  END FUNCTION source_in_temperature
166 
167 !!$ !===Extra source in level set equation. Always called.
168 !!$ FUNCTION source_in_level_set(interface_nb,TYPE, rr, m, t)RESULT(vv)
169 !!$ IMPLICIT NONE
170 !!$ INTEGER , INTENT(IN) :: TYPE
171 !!$ REAL(KIND=8), DIMENSION(:,:), INTENT(IN) :: rr
172 !!$ INTEGER , INTENT(IN) :: m, interface_nb
173 !!$ REAL(KIND=8), INTENT(IN) :: t
174 !!$ REAL(KIND=8), DIMENSION(SIZE(rr,2)) :: vv
175 !!$
176 !!$ vv=0.d0
177 !!$ CALL error_petsc('sourece_in_temperature: should not be called for this test')
178 !!$ END FUNCTION source_in_level_set
179 
180  !===Velocity for boundary conditions in Navier-Stokes.
181  !===Can be used also to initialize velocity in: init_velocity_pressure_temperature
182  FUNCTION vv_exact(TYPE,rr,m,t) RESULT(vv)
183  IMPLICIT NONE
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
189  REAL(KIND=8) :: r
190  INTEGER :: n
191 
192  vv(:) = 0.d0
193  RETURN
194 
195  !===Dummies variables to avoid warning
196  n=type; n=SIZE(rr,1); n=m; r=t
197  !===Dummies variables to avoid warning
198  END FUNCTION vv_exact
199 
200 !!$ !===Solid velocity imposed when using penalty technique
201 !!$ !===Defined in Fourier space on mode 0 only.
202 !!$ FUNCTION imposed_velocity_by_penalty(rr,t) RESULT(vv)
203 !!$ IMPLICIT NONE
204 !!$ REAL(KIND=8), DIMENSION(:,:), INTENT(IN) :: rr
205 !!$ REAL(KIND=8), INTENT(IN) :: t
206 !!$ REAL(KIND=8), DIMENSION(SIZE(rr,2),6) :: vv
207 !!$
208 !!$ vv=0.d0
209 !!$ RETURN
210 !!$ END FUNCTION imposed_velocity_by_penalty
211 
212  !===Pressure for boundary conditions in Navier-Stokes.
213  !===Can be used also to initialize pressure in the subroutine init_velocity_pressure.
214  !===Use this routine for outflow BCs only.
215  !===CAUTION: Do not enfore BCs on pressure where normal component
216  ! of velocity is prescribed.
217  FUNCTION pp_exact(TYPE,rr,m,t) RESULT (vv)
218  IMPLICIT NONE
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
224  REAL(KIND=8) :: r
225  INTEGER :: n
226 
227  vv=0.d0
228  RETURN
229 
230  !===Dummies variables to avoid warning
231  n=type; n=SIZE(rr,1); n=m; r=t
232  !===Dummies variables to avoid warning
233  END FUNCTION pp_exact
234 
235  !===Temperature for boundary conditions in temperature equation.
236  FUNCTION temperature_exact(TYPE,rr,m,t) RESULT (vv)
237  IMPLICIT NONE
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
244 
245  r = rr(1,:)
246  z = rr(2,:)
247 
248  vv=0.d0
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)
253  END IF
254  RETURN
255 
256  !===Dummies variables to avoid warning
257  r=t
258  !===Dummies variables to avoid warning
259  END FUNCTION temperature_exact
260 
261 !!$ !===Can be used to initialize level set in the subroutine init_level_set.
262 !!$ FUNCTION level_set_exact(interface_nb,TYPE,rr,m,t) RESULT (vv)
263 !!$ IMPLICIT NONE
264 !!$ INTEGER , INTENT(IN) :: TYPE
265 !!$ REAL(KIND=8), DIMENSION(:,:), INTENT(IN) :: rr
266 !!$ INTEGER , INTENT(IN) :: m, interface_nb
267 !!$ REAL(KIND=8), INTENT(IN) :: t
268 !!$ REAL(KIND=8), DIMENSION(SIZE(rr,2)) :: vv
269 !!$
270 !!$ vv = 0.d0
271 !!$ CALL error_petsc('level_set_exact: should not be called for this test')
272 !!$ RETURN
273 !!$
274 !!$ END FUNCTION level_set_exact
275 
276 !!$ !===Penalty coefficient (if needed)
277 !!$ !===This coefficient is equal to zero in subdomain
278 !!$ !===where penalty is applied (penalty is zero in solid)
279 !!$ FUNCTION penal_in_real_space(mesh,rr_gauss,angles,nb_angles,nb,ne,time) RESULT(vv)
280 !!$ IMPLICIT NONE
281 !!$ TYPE(mesh_type) :: mesh
282 !!$ REAL(KIND=8), DIMENSION(:,:), INTENT(IN) :: rr_gauss
283 !!$ REAL(KIND=8), DIMENSION(:), INTENT(IN) :: angles
284 !!$ INTEGER, INTENT(IN) :: nb_angles
285 !!$ INTEGER, INTENT(IN) :: nb, ne
286 !!$ REAL(KIND=8), INTENT(IN) :: time
287 !!$ REAL(KIND=8), DIMENSION(nb_angles,ne-nb+1) :: vv
288 !!$
289 !!$ vv = 1.d0
290 !!$ CALL error_petsc('penal_in_real_space: should not be called for this test')
291 !!$ RETURN
292 !!$ END FUNCTION penal_in_real_space
293 
294  !===Extension of the velocity field in the solid.
295  !===Used when temperature or Maxwell equations are solved.
296  !===It extends the velocity field on the Navier-Stokes domain to a
297  !===velocity field on the temperature and the Maxwell domain.
298  !===It is also used if problem type=mxw and restart velocity
299  !===is set to true in data (type problem denoted mxx in the code).
300  FUNCTION extension_velocity(TYPE, H_mesh, mode, t, n_start) RESULT(vv)
301  IMPLICIT NONE
302  TYPE(mesh_type), INTENT(IN) :: H_mesh
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
307  REAL(KIND=8) :: r
308  INTEGER :: n
309 
310  vv = 0.d0
311  RETURN
312 
313  !===Dummies variables to avoid warning
314  n=h_mesh%np; r=t; n=type; n=mode; n=n_start
315  !===Dummies variables to avoid warning
316  END FUNCTION extension_velocity
317 
318  !===============================================================================
319  ! Boundary conditions for Maxwell
320  !===============================================================================
321 !!$ !===Velocity used in the induction equation.
322 !!$ !===Used only if problem type is mxw and restart velocity is false
323 !!$ FUNCTION Vexact(m, H_mesh) RESULT(vv) !Set uniquement a l'induction
324 !!$ IMPLICIT NONE
325 !!$ TYPE(mesh_type), INTENT(IN) :: H_mesh
326 !!$ INTEGER, INTENT(IN) :: m
327 !!$ REAL(KIND=8), DIMENSION(H_mesh%np,6) :: vv
328 !!$
329 !!$ vv = 0.d0
330 !!$ CALL error_petsc('Vexact: should not be called for this test')
331 !!$ END FUNCTION Vexact
332 
333 !!$ !===Magnetic field and magnetic induction for quasi-static approximation
334 !!$ !===if needed
335 !!$ FUNCTION H_B_quasi_static(char_h_b, rr, m) RESULT(vv)
336 !!$ IMPLICIT NONE
337 !!$ CHARACTER(LEN=1), INTENT(IN) :: char_h_b
338 !!$ REAL(KIND=8), DIMENSION(:,:), INTENT(IN) :: rr
339 !!$ INTEGER, INTENT(IN) :: m
340 !!$ REAL(KIND=8), DIMENSION(SIZE(rr,2),6) :: vv
341 !!$
342 !!$ vv = 0.d0
343 !!$ RETURN
344 !!$ END FUNCTION H_B_quasi_static
345 
346 !!$ !===Magnetic field for boundary conditions in the Maxwell equations.
347 !!$ FUNCTION Hexact(H_mesh,TYPE, rr, m, mu_H_field, t) RESULT(vv)
348 !!$ IMPLICIT NONE
349 !!$ TYPE(mesh_type), INTENT(IN) :: H_mesh
350 !!$ INTEGER , INTENT(IN) :: TYPE
351 !!$ REAL(KIND=8), DIMENSION(:,:), INTENT(IN) :: rr
352 !!$ INTEGER , INTENT(IN) :: m
353 !!$ REAL(KIND=8), INTENT(IN) :: t
354 !!$ REAL(KIND=8), DIMENSION(:), INTENT(IN) :: mu_H_field
355 !!$ REAL(KIND=8), DIMENSION(SIZE(rr,2)) :: vv
356 !!$
357 !!$ vv=0.d0
358 !!$ CALL error_petsc('Hexact: should not be called for this test')
359 !!$ RETURN
360 !!$ END FUNCTION Hexact
361 
362 !!$ !===Scalar potential for boundary conditions in the Maxwell equations.
363 !!$ FUNCTION Phiexact(TYPE, rr, m, mu_phi,t) RESULT(vv)
364 !!$ IMPLICIT NONE
365 !!$ INTEGER , INTENT(IN) :: TYPE
366 !!$ REAL(KIND=8), DIMENSION(:,:), INTENT(IN) :: rr
367 !!$ INTEGER , INTENT(IN) :: m
368 !!$ REAL(KIND=8), INTENT(IN) :: mu_phi, t
369 !!$ REAL(KIND=8), DIMENSION(SIZE(rr,2)) :: vv
370 !!$
371 !!$ vv=0.d0
372 !!$ CALL error_petsc('Phiexact: should not be called for this test')
373 !!$ RETURN
374 !!$ END FUNCTION Phiexact
375 
376 !!$ !===Current in Ohm's law. Curl(H) = sigma(E + uxB) + current
377 !!$ FUNCTION Jexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t, mesh_id, opt_B_ext) RESULT(vv)
378 !!$ IMPLICIT NONE
379 !!$ INTEGER , INTENT(IN) :: TYPE
380 !!$ REAL(KIND=8), DIMENSION(:), INTENT(IN) :: rr
381 !!$ INTEGER , INTENT(IN) :: m
382 !!$ REAL(KIND=8), INTENT(IN) :: mu_phi, sigma, mu_H, t
383 !!$ INTEGER , INTENT(IN) :: mesh_id
384 !!$ REAL(KIND=8), DIMENSION(6), OPTIONAL,INTENT(IN) :: opt_B_ext
385 !!$ REAL(KIND=8) :: vv
386 !!$
387 !!$ vv=0.d0
388 !!$ CALL error_petsc('Jexact_gauss: should not be called for this test')
389 !!$ RETURN
390 !!$ END FUNCTION Jexact_gauss
391 
392 !!$ !===Electric field for Neumann BC (cf. doc)
393 !!$ FUNCTION Eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t) RESULT(vv)
394 !!$ IMPLICIT NONE
395 !!$ INTEGER, INTENT(IN) :: TYPE
396 !!$ REAL(KIND=8), DIMENSION(:), INTENT(IN) :: rr
397 !!$ INTEGER, INTENT(IN) :: m
398 !!$ REAL(KIND=8), INTENT(IN) :: mu_phi, sigma, mu_H, t
399 !!$ REAL(KIND=8) :: vv
400 !!$
401 !!$ vv = 0.d0
402 !!$ CALL error_petsc('Eexact: should not be called for this test')
403 !!$ END FUNCTION Eexact_gauss
404 
405 !!$ !===Initialization of magnetic field and scalar potential (if present)
406 !!$ SUBROUTINE init_maxwell(H_mesh, phi_mesh, time, dt, mu_H_field, mu_phi, &
407 !!$ list_mode, Hn1, Hn, phin1, phin)
408 !!$ IMPLICIT NONE
409 !!$ TYPE(mesh_type) :: H_mesh, phi_mesh
410 !!$ REAL(KIND=8), INTENT(OUT):: time
411 !!$ REAL(KIND=8), INTENT(IN) :: dt
412 !!$ REAL(KIND=8), DIMENSION(:), INTENT(IN) :: mu_H_field
413 !!$ REAL(KIND=8), INTENT(IN) :: mu_phi
414 !!$ INTEGER, DIMENSION(:), INTENT(IN) :: list_mode
415 !!$ REAL(KIND=8), DIMENSION(:,:,:), INTENT(OUT):: Hn, Hn1
416 !!$ REAL(KIND=8), DIMENSION(:,:,:), INTENT(OUT):: phin, phin1
417 !!$
418 !!$ CALL error_petsc('init_maxwell: should not be called for this test')
419 !!$ END SUBROUTINE init_maxwell
420 
421 !!$ !===Analytical permeability (if needed)
422 !!$ !===This function is not needed unless the flag
423 !!$ !=== ===Use FEM Interpolation for magnetic permeability (true/false)
424 !!$ !===is activated and set to .FALSE. in the data data file. Default is .TRUE.
425 !!$ FUNCTION mu_bar_in_fourier_space(H_mesh,nb,ne,pts,pts_ids) RESULT(vv)
426 !!$ IMPLICIT NONE
427 !!$ TYPE(mesh_type), INTENT(IN) :: H_mesh
428 !!$ REAL(KIND=8), DIMENSION(ne-nb+1) :: vv
429 !!$ INTEGER, INTENT(IN) :: nb, ne
430 !!$ REAL(KIND=8),DIMENSION(2,ne-nb+1),OPTIONAL :: pts
431 !!$ INTEGER, DIMENSION(ne-nb+1), OPTIONAL :: pts_ids
432 !!$
433 !!$ vv = 1.d0
434 !!$ CALL error_petsc('mu_bar_in_fourier_space: should not be called for this test')
435 !!$ RETURN
436 !!$ END FUNCTION mu_bar_in_fourier_space
437 
438 !!$ !===Analytical mu_in_fourier_space (if needed)
439 !!$ !===This function is not needed unless the flag
440 !!$ !=== ===Use FEM Interpolation for magnetic permeability (true/false)
441 !!$ !===is activated and set to .FALSE. in the data data file. Default is .TRUE.
442 !!$ FUNCTION grad_mu_bar_in_fourier_space(pt,pt_id) RESULT(vv)
443 !!$ IMPLICIT NONE
444 !!$ REAL(KIND=8),DIMENSION(2), INTENT(in):: pt
445 !!$ INTEGER,DIMENSION(1), INTENT(in) :: pt_id
446 !!$ REAL(KIND=8),DIMENSION(2) :: vv
447 !!$
448 !!$ vv=0.d0
449 !!$ CALL error_petsc('grad_mu_bar_in_fourier_space: should not be called for this test')
450 !!$ RETURN
451 !!$ END FUNCTION grad_mu_bar_in_fourier_space
452 
453 !!$ !===Analytical permeability, mu in real space (if needed)
454 !!$ FUNCTION mu_in_real_space(H_mesh,angles,nb_angles,nb,ne,time) RESULT(vv)
455 !!$ IMPLICIT NONE
456 !!$ TYPE(mesh_type), INTENT(IN) :: H_mesh
457 !!$ REAL(KIND=8), DIMENSION(:), INTENT(IN) :: angles
458 !!$ INTEGER, INTENT(IN) :: nb_angles
459 !!$ INTEGER, INTENT(IN) :: nb, ne
460 !!$ REAL(KIND=8), INTENT(IN) :: time
461 !!$ REAL(KIND=8), DIMENSION(nb_angles,ne-nb+1) :: vv
462 !!$
463 !!$ vv = 1.d0
464 !!$ CALL error_petsc('mu_in_real_space: should not be called for this test')
465 !!$ RETURN
466 !!$ END FUNCTION mu_in_real_space
467 
468 END MODULE boundary_test_15
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)
Definition: my_util.f90:16
type(my_data), public inputs
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)