BraWl
Loading...
Searching...
No Matches
example.f90
Go to the documentation of this file.
1
11program example
12
13 use initialise
14 use comms
15 use shared_data
16 use metropolis
18 use tmmc
19 use wang_landau
20 use io
21 use kinds
22 use c_functions
23 use netcdf_io
24 use write_xyz
26 use display
28
29 implicit none
30
31 ! Runtime parameters type
32 type(run_params) :: setup
33
34 ! Nested Sampling parameters type
35 type(metropolis_params) :: metropolis
36
37 ! Nested Sampling parameters type
38 type(ns_params) :: ns_setup
39
40 ! Tmmc parameters type
41 type(tmmc_params) :: tmmc_setup
42
43 ! Wang Landau parameters type
44 type(wl_params) :: wl_setup
45
46 ! Start MPI
47 call comms_initialise()
48
49 ! Print software info to the screen
50 if(my_rank == 0) call write_info('s')
51
52 ! Parse inputs
53 call parse_inputs(setup, my_rank)
54
55 ! Allocate space for atom-atom interaction parameters
56 call initialise_interaction(setup)
57
58 ! Read in atom-atom interaction
59 call read_exchange(setup, my_rank)
60
61 ! Read the Metropolis control file
62 call parse_metropolis_inputs(metropolis, my_rank)
63
64 ! Initialise PNRG
65 ! static_seed is true if we would like to use a fixed seed and false
66 ! otherwise
67 call initialise_prng(setup%static_seed)
68
69 ! Initialise some function pointers
70 call initialise_function_pointers(setup)
71
72 ! Make directories for data
73 call make_data_directories(my_rank)
74
75 ! Initialise some global arrays
76 call initialise_global_metropolis_arrays(setup, metropolis)
77
78 ! Initialise some local arrays
79 call initialise_local_arrays(setup)
80 call initialise_local_metropolis_arrays(setup, metropolis)
81
82 !-----------------------------------------!
83 ! Main examples routine in howto_examples !
84 !-----------------------------------------!
85 call examples(setup, metropolis, my_rank)
86
87 ! Clean up
88 call global_metropolis_clean_up()
89
90 ! Clean up
91 call clean_up_interaction()
92
93 ! Clean up
94 call local_clean_up(setup)
95
96 ! Print software info to the screen
97 if(my_rank == 0) call write_info('f')
98
99 ! Finalise MPI
100 call comms_finalise()
101
102end program example
program example
Definition example.f90:11
subroutine examples(setup, metropolis, my_rank)
Subroutine showing examples of code's functionalities.
Definition io.f90:13
subroutine, public parse_metropolis_inputs(metropolis, my_rank)
Subroutine to parse the Metropolis MC input file.
Definition io.f90:473
subroutine, public make_data_directories(my_rank)
Subroutine to make directories for storing data.
Definition io.f90:110
subroutine, public write_info(point)
Subroutine to print software version, date, and time.
Definition io.f90:51
subroutine, public read_exchange(setup, my_rank)
Subroutine to read the atom-atom effective pair interactions (EPIs) from file.
Definition io.f90:390
subroutine, public parse_inputs(setup, my_rank)
Subroutine to parse command line arguments.
Definition io.f90:430