ETS  \$Id: Doxyfile 2162 2020-02-26 14:16:09Z g2dpc $
 All Classes Files Functions Variables Pages
fc2k_workaround_helena.f90
Go to the documentation of this file.
1 ! + + + + + + + + + + + + + + + + + + + + + + + + + + + +
11 ! + + + + + + + + + + + + + + + + + + + + + + + + + + + +
12 
13 subroutine helenaxpath(EQUILIBRIUM_IN,EQUILIBRIUM_OUT, code_parameters)
14 
15  use itm_types
16  USE euitm_schemas
17 
18  implicit none
19 
20  interface
21 
22  subroutine helena(equilibrium_in, equilibrium_out, path, code_parameters)
23  use euitm_schemas
24  type (type_equilibrium), pointer :: equilibrium_in(:)
25  type (type_equilibrium), pointer :: equilibrium_out(:)
26  character(len = 132), optional :: path
27  type (type_param) :: code_parameters
28  end subroutine helena
29 
30  end interface
31 
32 !input arguments
33  TYPE (type_equilibrium),POINTER :: equilibrium_in(:)
34  type (type_param) :: code_parameters
35 !output arguments
36  TYPE (type_equilibrium),POINTER :: equilibrium_out(:)
37 
38  if(associated(equilibrium_in(1)%profiles_1d%jparallel)) then
39  write(*,*) 'helena_wrapper copied jparallel to jphi [ERROR]'
40  if(.not.associated(equilibrium_in(1)%profiles_1d%jphi)) &
41  allocate(equilibrium_in(1)%profiles_1d%jphi(size(equilibrium_in(1)%profiles_1d%jparallel)))
42  equilibrium_in(1)%profiles_1d%jphi = - equilibrium_in(1)%profiles_1d%jparallel ! -? ToDo
43  endif
44  if(associated(equilibrium_in(1)%profiles_1d%psi)) then
45  write(*,*) 'helena_wrapper set psi_bound and psi_ax [ERROR]'
46  equilibrium_in(1)%global_param%psi_ax = equilibrium_in(1)%profiles_1d%psi(1)
47  equilibrium_in(1)%global_param%psi_bound = &
48  equilibrium_in(1)%profiles_1d%psi(size(equilibrium_in(1)%profiles_1d%psi))
49  endif
50 
51 ! the following is experimental
52  call f_par_axis(size(equilibrium_in(1)%profiles_1d%rho_tor), &
53  equilibrium_in(1)%profiles_1d%rho_tor,equilibrium_in(1)%profiles_1d%pressure)
54 ! end of the experiment
55 
56  CALL helena(equilibrium_in, equilibrium_out, code_parameters=code_parameters)
57 
58  if(.not.associated(equilibrium_out(1)%profiles_1d%jparallel)) then
59  write(*,*) 'helena_wrapper copied jphi to jparallel [ERROR]'
60  allocate(equilibrium_out(1)%profiles_1d%jparallel(size(equilibrium_out(1)%profiles_1d%jphi)))
61  equilibrium_out(1)%profiles_1d%jparallel = - equilibrium_out(1)%profiles_1d%jphi
62  endif
63 
64  return
65 
66 end subroutine helenaxpath
subroutine helena(equilibrium_in, equilibrium_out, in_path, code_parameters)
Definition: helena.f90:1
subroutine helenaxpath(EQUILIBRIUM_IN, EQUILIBRIUM_OUT, code_parameters)
Module to cope with problems in fc2k.
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.