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)
94 dt, list_mode, level_set_m1, level_set)
97 REAL(KIND=8),
INTENT(OUT):: time
98 REAL(KIND=8),
INTENT(IN) :: dt
99 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
100 REAL(KIND=8),
DIMENSION(:,:,:,:),
INTENT(OUT):: level_set, level_set_m1
101 INTEGER :: mode, i, j, n
104 DO i= 1,
SIZE(list_mode)
108 DO n = 1,
inputs%nb_fluid -1
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
136 INTEGER ,
INTENT(IN) :: TYPE
137 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
138 INTEGER ,
INTENT(IN) :: m
139 REAL(KIND=8),
INTENT(IN) :: t
140 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
149 INTEGER ,
INTENT(IN) :: TYPE
150 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
151 INTEGER ,
INTENT(IN) :: m, interface_nb
152 REAL(KIND=8),
INTENT(IN) :: t
153 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
161 FUNCTION vv_exact(TYPE,rr,m,t) RESULT(vv)
163 INTEGER ,
INTENT(IN) :: TYPE
164 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
165 INTEGER,
INTENT(IN) :: m
166 REAL(KIND=8),
INTENT(IN) :: t
167 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
177 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
178 REAL(KIND=8),
INTENT(IN) :: t
179 REAL(KIND=8),
DIMENSION(SIZE(rr,2),6) :: vv
190 FUNCTION pp_exact(TYPE,rr,m,t) RESULT (vv)
192 INTEGER ,
INTENT(IN) :: TYPE
193 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
194 INTEGER ,
INTENT(IN) :: m
195 REAL(KIND=8),
INTENT(IN) :: t
196 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
205 INTEGER ,
INTENT(IN) :: TYPE
206 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
207 INTEGER ,
INTENT(IN) :: m
208 REAL(KIND=8),
INTENT(IN) :: t
209 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
218 INTEGER ,
INTENT(IN) :: TYPE
219 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
220 INTEGER ,
INTENT(IN) :: m, interface_nb
221 REAL(KIND=8),
INTENT(IN) :: t
222 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
234 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr_gauss
235 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: angles
236 INTEGER,
INTENT(IN) :: nb_angles
237 INTEGER,
INTENT(IN) :: nb, ne
238 REAL(KIND=8),
INTENT(IN) :: time
239 REAL(KIND=8),
DIMENSION(nb_angles,ne-nb+1) :: vv
254 INTEGER ,
INTENT(IN) ::
TYPE, n_start
255 INTEGER,
INTENT(IN) :: mode
256 REAL(KIND=8),
INTENT(IN) :: t
257 REAL(KIND=8),
DIMENSION(H_Mesh%np) :: vv
268 FUNCTION vexact(m, H_mesh) RESULT(vv) !Set uniquement a l'induction
271 INTEGER,
INTENT(IN) :: m
272 REAL(KIND=8),
DIMENSION(H_mesh%np,6) :: vv
280 CHARACTER(LEN=1),
INTENT(IN) :: char_h_b
281 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
282 INTEGER,
INTENT(IN) :: m
283 REAL(KIND=8),
DIMENSION(SIZE(rr,2),6) :: vv
285 IF (
inputs%if_quasi_static_approx)
THEN 288 CALL error_petsc(
'H_B_quasi_static should not be called')
294 FUNCTION hexact(H_mesh, TYPE, rr, m, mu_H_field, t) RESULT(vv)
297 INTEGER ,
INTENT(IN) :: TYPE
298 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
299 INTEGER ,
INTENT(IN) :: m
300 REAL(KIND=8),
INTENT(IN) :: t
301 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_H_field
302 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
309 FUNCTION phiexact(TYPE, rr, m, mu_phi,t) RESULT(vv)
311 INTEGER ,
INTENT(IN) :: TYPE
312 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
313 INTEGER ,
INTENT(IN) :: m
314 REAL(KIND=8),
INTENT(IN) :: mu_phi, t
315 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
322 FUNCTION jexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t, mesh_id, opt_B_ext) RESULT(vv)
324 INTEGER ,
INTENT(IN) :: TYPE
325 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
326 INTEGER ,
INTENT(IN) :: m
327 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_H, t
328 INTEGER ,
INTENT(IN) :: mesh_id
329 REAL(KIND=8),
DIMENSION(6),
OPTIONAL,
INTENT(IN) :: opt_B_ext
337 FUNCTION eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t) RESULT(vv)
339 INTEGER,
INTENT(IN) :: TYPE
340 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
341 INTEGER,
INTENT(IN) :: m
342 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_H, t
350 SUBROUTINE init_maxwell(H_mesh, phi_mesh, time, dt, mu_H_field, mu_phi, &
351 list_mode, hn1, hn, phin1, phin)
354 REAL(KIND=8),
INTENT(OUT):: time
355 REAL(KIND=8),
INTENT(IN) :: dt
356 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_H_field
357 REAL(KIND=8),
INTENT(IN) :: mu_phi
358 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
359 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: Hn, Hn1
360 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: phin, phin1
365 DO i=1,
SIZE(list_mode)
366 hn1(:,k,i) =
hexact(h_mesh,k, h_mesh%rr, list_mode(i), mu_h_field, time)
367 IF (
inputs%nb_dom_phi>0)
THEN 369 phin1(:,k,i) =
phiexact(k, phi_mesh%rr, list_mode(i) , mu_phi, time)
377 DO i=1,
SIZE(list_mode)
378 hn(:,k,i) =
hexact(h_mesh,k, h_mesh%rr, list_mode(i), mu_h_field, time)
379 IF (
inputs%nb_dom_phi>0)
THEN 381 phin(:,k,i) =
phiexact(k, phi_mesh%rr, list_mode(i), mu_phi, time)
396 REAL(KIND=8),
DIMENSION(ne-nb+1) :: vv
397 INTEGER,
INTENT(IN) :: nb, ne
398 REAL(KIND=8),
DIMENSION(2,ne-nb+1),
OPTIONAL :: pts
399 INTEGER,
DIMENSION(ne-nb+1),
OPTIONAL :: pts_ids
411 REAL(KIND=8),
DIMENSION(2),
INTENT(in):: pt
412 INTEGER,
DIMENSION(1),
INTENT(in) :: pt_id
413 REAL(KIND=8),
DIMENSION(2) :: vv
423 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: angles
424 INTEGER,
INTENT(IN) :: nb_angles
425 INTEGER,
INTENT(IN) :: nb, ne
426 REAL(KIND=8),
INTENT(IN) :: time
427 REAL(KIND=8),
DIMENSION(nb_angles,ne-nb+1) :: vv
442 REAL(KIND=8),
DIMENSION(SIZE(H_mesh%rr,2)) :: vv
444 vv=0.9d0*minval(
inputs%sigma_fluid)
real(kind=8) function, public chi_coeff_law(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, public eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t)
real(kind=8) function, dimension(h_mesh%np), public extension_velocity(TYPE, H_mesh, mode, t, n_start)
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 pp_exact(TYPE, rr, m, t)
real(kind=8) function, public t_dchi_dt_coeff_law(temp)
subroutine error_petsc(string)
real(kind=8) function, dimension(h_mesh%np, 6), public vexact(m, H_mesh)
real(kind=8) function, dimension(size(rr, 2)), public level_set_exact(interface_nb, 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 phiexact(TYPE, rr, m, mu_phi, t)
real(kind=8) function, dimension(size(rr, 2)), public vv_exact(TYPE, rr, m, t)
real(kind=8) function, dimension(nb_angles, ne-nb+1), public penal_in_real_space(mesh, rr_gauss, angles, nb_angles, nb, ne, time)
real(kind=8) function, dimension(2), public grad_mu_bar_in_fourier_space(pt, pt_id)
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_level_set(interface_nb, TYPE, rr, m, t)
real(kind=8) function, dimension(size(rr, 2), 6), public h_b_quasi_static(char_h_b, rr, m)
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 nu_tilde_law(temp)
real(kind=8) function, dimension(nb_angles, ne-nb+1), public mu_in_real_space(H_mesh, angles, nb_angles, nb, ne, time)
real(kind=8) function, dimension(size(h_mesh%rr, 2)), public sigma_bar_in_fourier_space(H_mesh)
real(kind=8) function, dimension(size(rr, 2)), public source_in_temperature(TYPE, rr, m, t)
subroutine, public init_level_set(pp_mesh, time, dt, list_mode, level_set_m1, level_set)
real(kind=8) function, dimension(size(rr, 2), 6), public imposed_velocity_by_penalty(rr, 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(ne-nb+1), public mu_bar_in_fourier_space(H_mesh, nb, ne, pts, pts_ids)