279 FUNCTION vexact(m, H_mesh) RESULT(vv) !Set uniquement a l'induction
282 INTEGER,
INTENT(IN) :: m
283 REAL(KIND=8),
DIMENSION(H_mesh%np,6) :: vv
308 FUNCTION hexact(H_mesh,TYPE, rr, m, mu_H_field, 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) :: t
315 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_H_field
316 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
318 INTEGER,
DIMENSION(SIZE(rr,2)) :: id
321 IF (
SIZE(rr,2)== h_mesh%np)
THEN 323 id(h_mesh%jj(:,mm)) = h_mesh%i_d(mm)
341 ELSE IF (type==5)
THEN 342 vv(n) = -2.d0*rr(2,n)
354 ELSE IF (type==5)
THEN 355 vv(n) = -2.d0*rr(2,n)*
s_test_t23(rr(1,n),rr(2,n))
371 FUNCTION phiexact(TYPE, rr, m, mu_phi,t) RESULT(vv)
373 INTEGER ,
INTENT(IN) :: TYPE
374 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
375 INTEGER ,
INTENT(IN) :: m
376 REAL(KIND=8),
INTENT(IN) :: mu_phi, t
377 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
382 CALL error_petsc(
'Phiexact: should not be called for this test')
386 n=type; n=
SIZE(rr,1); n=m; r=mu_phi; r=t
391 FUNCTION jexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t, mesh_id, opt_B_ext) RESULT(vv)
393 INTEGER ,
INTENT(IN) :: TYPE
394 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
395 INTEGER ,
INTENT(IN) :: m
396 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_H, t
397 INTEGER ,
INTENT(IN) :: mesh_id
398 REAL(KIND=8),
DIMENSION(6),
OPTIONAL,
INTENT(IN) :: opt_B_ext
400 REAL(KIND=8) :: alpha,beta
406 IF ((m==0) .AND. (mesh_id==2) .AND. (type==3))
THEN 413 vv = 2.d0*m*z*
b_factor_t23*r**2*( (r-1.d0)*(r-2.d0)*(z-0.25)*(z-1.d0) )**3
415 ELSE IF (type==3)
THEN 416 alpha =6*
b_factor_t23*z*( (z-0.25)*(z-1) )**3*( r* (r-1.d0)*(r-2.d0) )**2 &
417 *( r*(r-1)+r*(r-2)+(r-1)*(r-2))
420 vv= 3*
b_factor_t23*r**4*( (r-1)*(r-2) )**3 *( (z-0.25)*(z-1) )**2&
421 *( 2*z -1 - 0.25) + alpha
425 vv=
b_factor_t23*r**4*( (r-1.d0)*(r-2.d0) )**3 *( (z-0.25)*(z-1) )**2 &
426 *( 3*(2*z- 1 - 0.25 )/(1.d0+
lambda_mu_t23/z) + beta*(z-1)*(z-0.25) ) &
430 ELSE IF (type==6)
THEN 446 r=mu_phi; r=sigma; r=mu_h; r=t
447 IF (
PRESENT(opt_b_ext)) r=opt_b_ext(1)
452 FUNCTION eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t) RESULT(vv)
454 INTEGER,
INTENT(IN) :: TYPE
455 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
456 INTEGER,
INTENT(IN) :: m
457 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_H, t
463 CALL error_petsc(
'Eexact: should not be called for this test')
466 r=rr(1); r=mu_phi; r=sigma; r=mu_h; r=t; n=type; n=m
471 SUBROUTINE init_maxwell(H_mesh, phi_mesh, time, dt, mu_H_field, mu_phi, &
472 list_mode, hn1, hn, phin1, phin)
475 REAL(KIND=8),
INTENT(OUT):: time
476 REAL(KIND=8),
INTENT(IN) :: dt
477 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_H_field
478 REAL(KIND=8),
INTENT(IN) :: mu_phi
479 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
480 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: Hn, Hn1
481 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: phin, phin1
493 r=h_mesh%rr(1,1); r=phi_mesh%rr(1,1); r=dt; r=mu_h_field(1); r=mu_phi; n=
SIZE(list_mode)
504 REAL(KIND=8),
DIMENSION(ne-nb+1) :: vv
505 INTEGER,
INTENT(IN) :: nb, ne
506 REAL(KIND=8),
DIMENSION(2,ne-nb+1),
OPTIONAL :: pts
507 INTEGER,
DIMENSION(ne-nb+1),
OPTIONAL :: pts_ids
509 IF(
PRESENT(pts) .AND.
PRESENT(pts_ids) )
THEN 523 REAL(KIND=8),
DIMENSION(2),
INTENT(in):: pt
524 INTEGER,
DIMENSION(1),
INTENT(in) :: pt_id
525 REAL(KIND=8),
DIMENSION(2) :: vv
535 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: angles
536 INTEGER,
INTENT(IN) :: nb_angles
537 INTEGER,
INTENT(IN) :: nb, ne
538 REAL(KIND=8),
INTENT(IN) :: time
539 REAL(KIND=8),
DIMENSION(nb_angles,ne-nb+1) :: vv
real(kind=8) function, dimension(size(rr, 2)), public hexact(H_mesh, TYPE, rr, m, mu_H_field, t)
real(kind=8), public b_factor_t23
real(kind=8) function, dimension(h_mesh%np, 6), public vexact(m, H_mesh)
real(kind=8) function s_test_t23(r, z)
real(kind=8) function, public jexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t, mesh_id, opt_B_ext)
subroutine error_petsc(string)
real(kind=8) function, dimension(ne-nb+1), public mu_bar_in_fourier_space(H_mesh, nb, ne, pts, pts_ids)
real(kind=8), public lambda_mu_t23
real(kind=8) function, dimension(ne-nb+1) mu_bar_in_fourier_space_anal_t23(H_mesh, nb, ne, pts, pts_ids)
real(kind=8) function, dimension(2) grad_mu_bar_in_fourier_space_anal_t23(pt, pt_id)
real(kind=8) function, dimension(nb_angles, ne-nb+1), public mu_in_real_space(H_mesh, angles, nb_angles, nb, ne, time)
integer, public mode_mu_t23
real(kind=8) function, dimension(2), public grad_mu_bar_in_fourier_space(pt, pt_id)
real(kind=8) function, dimension(size(rr, 2)), public phiexact(TYPE, rr, m, mu_phi, t)
real(kind=8) function, dimension(nb_angles, ne-nb+1) mu_in_real_space_anal_t23(H_mesh, angles, nb_angles, nb, ne)
real(kind=8) function, public eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t)
subroutine, public init_maxwell(H_mesh, phi_mesh, time, dt, mu_H_field, mu_phi, list_mode, Hn1, Hn, phin1, phin)