ETS  \$Id: Doxyfile 2162 2020-02-26 14:16:09Z g2dpc $
 All Classes Files Functions Variables Pages
run_helena.f90
Go to the documentation of this file.
1 ! + + + + + + + + + + + + + + + + + + + + + + + + + + + +
7 ! + + + + + + + + + + + + + + + + + + + + + + + + + + + +
8 program run_helena
9 
10  use itm_types
11  use euitm_schemas
12  use xml_file_reader
13  use read_structures
14  use write_structures
15  use deallocate_structures
16  implicit none
17 
18  type (type_equilibrium), pointer :: euitm_equilibrium_in(:)
19  type (type_equilibrium), pointer :: euitm_equilibrium_out(:)
20  type (type_param), save :: code_parameters
21  logical, save :: first = .true.
22  integer, save :: ncall = 0
23  character*32 :: filename = 'EQ_######'
24  integer(itm_i4) :: i, iargc
25 
26  interface
27  subroutine helena (euitm_equilibrium_in, euitm_equilibrium_out, in_path, code_parameters)
28  use euitm_schemas
29  IMPLICIT NONE
30  type (type_equilibrium), pointer :: euitm_equilibrium_in(:)
31  type (type_equilibrium), pointer :: euitm_equilibrium_out(:)
32  character(len = 132), optional :: in_path
33  type (type_param) :: code_parameters
34  end SUBROUTINE helena
35  end interface
36 
37  if(iargc().lt.1) then
38  write(*,*) 'filename should be specified'
39  stop 'error: missing filename'
40  endif
41  call fill_param(code_parameters, 'XML/helena.xml', '', 'XML/helena.xsd')
42  do i=1, iargc()
43  call getarg(i,filename)
44  write(*,*) 'Processing ',trim(filename)
45 
46  call open_read_file(1, filename)
47  allocate(euitm_equilibrium_in(1))
48  call read_cpo(euitm_equilibrium_in(1), 'equilibrium')
49  call close_read_file
50  CALL helena(euitm_equilibrium_in, euitm_equilibrium_out, code_parameters=code_parameters)
51 
52  filename='EQ_######'
53  write(filename(4:9),'(I6.6)') i-1
54  call open_write_file(1, trim(filename)//'.OUT2')
55  call write_cpo(euitm_equilibrium_out(1), 'equilibrium')
56  call close_write_file
57 
58  call deallocate_cpo(euitm_equilibrium_in)
59  call deallocate_cpo(euitm_equilibrium_out)
60  enddo
61 
62 end program run_helena
subroutine helena(equilibrium_in, equilibrium_out, in_path, code_parameters)
Definition: helena.f90:1
program run_helena
Run helena based on a CPO stored in ascii format.
Definition: run_helena.f90:8