15 subroutine spider_wrapper(euitm_equilibrium_in, coreprof, euitm_equilibrium_out)
22 type (type_equilibrium
),
pointer :: euitm_equilibrium_in(:)
23 type (type_equilibrium
),
pointer :: euitm_equilibrium_out(:)
24 TYPE (type_coreprof
),
POINTER :: coreprof(:)
25 type (type_param
),
save :: code_parameters
26 logical,
save :: first = .true.
27 integer,
save :: ncall = 0
28 character*32 :: filename =
'EQ_######'
34 TYPE (type_equilibrium
),
POINTER :: eq_in(:)
35 TYPE (type_equilibrium
),
POINTER :: eq_out(:)
36 TYPE (type_coreprof
),
POINTER :: coreprof_in(:)
37 TYPE (type_param
) :: code_parameters
42 call fill_param(code_parameters,
'XML/SPIDER.xml',
'',
'XML/SPIDER.xsd')
46 if(
associated(euitm_equilibrium_in(1)%profiles_1d%jparallel))
then
47 write(*,*)
'spider_wrapper copied jparallel to jphi [ERROR]'
48 if(.not.
associated(euitm_equilibrium_in(1)%profiles_1d%jphi)) &
49 allocate(euitm_equilibrium_in(1)%profiles_1d%jphi(
size(euitm_equilibrium_in(1)%profiles_1d%jparallel)))
50 euitm_equilibrium_in(1)%profiles_1d%jphi=euitm_equilibrium_in(1)%profiles_1d%jparallel
52 if(
associated(euitm_equilibrium_in(1)%profiles_1d%psi))
then
53 write(*,*)
'spider_wrapper set psi_bound and psi_ax [ERROR]'
54 euitm_equilibrium_in(1)%global_param%psi_ax = euitm_equilibrium_in(1)%profiles_1d%psi(1)
55 euitm_equilibrium_in(1)%global_param%psi_bound = &
56 euitm_equilibrium_in(1)%profiles_1d%psi(
size(euitm_equilibrium_in(1)%profiles_1d%psi))
60 call
f_par_axis(
size(euitm_equilibrium_in(1)%profiles_1d%rho_tor), &
61 euitm_equilibrium_in(1)%profiles_1d%rho_tor,euitm_equilibrium_in(1)%profiles_1d%pressure)
71 CALL
equilibrium_spider(euitm_equilibrium_in, coreprof, euitm_equilibrium_out, code_parameters)
subroutine equilibrium_spider(EQUILIBRIUM_IN, COREPROF_IN, EQUILIBRIUM_OUT, code_parameters)
subroutine f_par_axis(n, r, f)
This subroutine finds f(r_1=0) from f(r_2), f(r_3) d/dr f(r_1)=0.
subroutine spider_wrapper(euitm_equilibrium_in, coreprof, euitm_equilibrium_out)