276 FUNCTION vexact(m, H_mesh) RESULT(vv) !Set uniquement a l'induction
279 INTEGER,
INTENT(IN) :: m
280 REAL(KIND=8),
DIMENSION(H_mesh%np,6) :: vv
305 FUNCTION hexact(H_mesh,TYPE, rr, m, mu_H_field, t) RESULT(vv)
308 INTEGER ,
INTENT(IN) :: type
309 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
310 INTEGER ,
INTENT(IN) :: m
311 REAL(KIND=8),
INTENT(IN) ::
t
312 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_h_field
313 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
314 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: r,
z
319 IF (m .NE. test_mode_t26 )
THEN
326 tmp= alpha_t26*test_mode_t26*r(n)**(test_mode_t26-1)/
mu_func_t26(r(n),
z(n))
329 ELSE IF (type==4)
THEN
336 n=h_mesh%np; r=mu_h_field(1); r=
t
341 FUNCTION phiexact(TYPE, rr, m, mu_phi,t) RESULT(vv)
343 INTEGER ,
INTENT(IN) :: type
344 REAL(KIND=8),
DIMENSION(:,:),
INTENT(IN) :: rr
345 INTEGER ,
INTENT(IN) :: m
346 REAL(KIND=8),
INTENT(IN) :: mu_phi,
t
347 REAL(KIND=8),
DIMENSION(SIZE(rr,2)) :: vv
352 CALL
error_petsc(
'Phiexact: should not be called for this test')
356 n=type; n=
SIZE(rr,1); n=m; r=mu_phi; r=
t
361 FUNCTION jexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t, mesh_id, opt_B_ext) RESULT(vv)
363 INTEGER ,
INTENT(IN) :: type
364 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
365 INTEGER ,
INTENT(IN) :: m
366 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_h,
t
367 INTEGER ,
INTENT(IN) :: mesh_id
368 REAL(KIND=8),
DIMENSION(6),
OPTIONAL,
INTENT(IN) :: opt_b_ext
371 REAL(KIND=8),
DIMENSION(2) :: dmu
376 IF (m .NE. test_mode_t26)
THEN
383 tmp=alpha_t26*test_mode_t26*r**(test_mode_t26-1)*(-1.d0/
mu_func_t26(r,
z)**2)
386 ELSE IF (type==3)
THEN
388 ELSE IF (type==6)
THEN
394 r=mu_phi; r=sigma; r=mu_h; r=
t; n=mesh_id
395 IF (present(opt_b_ext)) r=opt_b_ext(1)
402 INTEGER,
INTENT(IN) :: type
403 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: rr
404 INTEGER,
INTENT(IN) :: m
405 REAL(KIND=8),
INTENT(IN) :: mu_phi, sigma, mu_h,
t
411 CALL
error_petsc(
'Eexact: should not be called for this test')
414 r=rr(1); r=mu_phi; r=sigma; r=mu_h; r=
t; n=type; n=m
419 SUBROUTINE init_maxwell(H_mesh, phi_mesh, time, dt, mu_H_field, mu_phi, &
420 list_mode, hn1, hn, phin1, phin)
423 REAL(KIND=8),
INTENT(OUT):: time
424 REAL(KIND=8),
INTENT(IN) :: dt
425 REAL(KIND=8),
DIMENSION(:),
INTENT(IN) :: mu_h_field
426 REAL(KIND=8),
INTENT(IN) :: mu_phi
427 INTEGER,
DIMENSION(:),
INTENT(IN) :: list_mode
428 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: hn, hn1
429 REAL(KIND=8),
DIMENSION(:,:,:),
INTENT(OUT):: phin, phin1
441 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)
452 REAL(KIND=8),
DIMENSION(ne-nb+1) :: vv
453 INTEGER,
INTENT(IN) :: nb, ne
454 REAL(KIND=8),
DIMENSION(2,ne-nb+1),
OPTIONAL :: pts
455 INTEGER,
DIMENSION(ne-nb+1),
OPTIONAL :: pts_ids
457 IF( present(pts) .AND. present(pts_ids) )
THEN
471 REAL(KIND=8),
DIMENSION(2),
INTENT(in):: pt
472 INTEGER,
DIMENSION(1),
INTENT(in) :: pt_id
473 REAL(KIND=8),
DIMENSION(2) :: vv
section doc_intro_frame_work_num_app Numerical approximation subsection doc_intro_fram_work_num_app_Fourier_FEM Fourier Finite element representation The SFEMaNS code uses a hybrid Fourier Finite element formulation The Fourier decomposition allows to approximate the problem’s solutions for each Fourier mode modulo nonlinear terms that are made explicit The variables are then approximated on a meridian section of the domain with a finite element method The numerical approximation of a function f $f f is written in the following generic t
real(kind=8) function, dimension(2) dmu_func_t26(r, z)
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, dimension(2) grad_mu_bar_in_fourier_space_anal_t26(pt, pt_id)
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(h_mesh%np, 6), public vexact(m, H_mesh)
real(kind=8) function, dimension(size(rr, 2)), public phiexact(TYPE, rr, m, mu_phi, t)
real(kind=8) function, dimension(2), public grad_mu_bar_in_fourier_space(pt, pt_id)
real(kind=8) function mu_func_t26(r, z)
real(kind=8) function, public eexact_gauss(TYPE, rr, m, mu_phi, sigma, mu_H, t)
real(kind=8) function, dimension(ne-nb+1) mu_bar_in_fourier_space_anal_t26(H_mesh, nb, ne, pts, pts_ids)
real(kind=8) function, dimension(ne-nb+1), public mu_bar_in_fourier_space(H_mesh, nb, ne, pts, pts_ids)
subroutine error_petsc(string)
real(kind=8) function, dimension(size(rr, 2)), public hexact(H_mesh, TYPE, rr, m, mu_H_field, t)
section doc_intro_frame_work_num_app Numerical approximation subsection doc_intro_fram_work_num_app_Fourier_FEM Fourier Finite element representation The SFEMaNS code uses a hybrid Fourier Finite element formulation The Fourier decomposition allows to approximate the problem’s solutions for each Fourier mode modulo nonlinear terms that are made explicit The variables are then approximated on a meridian section of the domain with a finite element method The numerical approximation of a function f $f f is written in the following generic z