Dice Fortran Backend Documentation
shared_data Module Reference

Contains derived types, and global variables to store input values of simulation parameters. More...

Data Types

type  qho_type
 Derived Type for Quantum Harmonic Oscillator, including VQMC defaults. More...
 
type  h2plus_type
 Derived Type for Hydrogen Ion, including VQMC defaults. More...
 
type  h2_type
 Derived Type for Hydrogen Molecule, including VQMC defaults. More...
 
type  restart_type
 Derived Type to store restart data. More...
 

Variables

character(len=10) p_system
 System of interest: QHO, H2plus, H2. More...
 
logical run_equil =.FALSE.
 Tag for equilibration runs. More...
 
logical run_restart =.FALSE.
 Tag for restart runs. More...
 
logical write_restart = .TRUE.
 Tag for writing restart files. More...
 
integer(int32) restart_num = 1
 Interval of MMC loops between writing restart file. More...
 
logical write_chains =.FALSE.
 Tag to write final MMC chains. More...
 
logical write_log = .FALSE.
 Tag to write logfile. More...
 
character(len= *), parameter outfile = 'results.nc'
 Default NetCDF output file name. More...
 
character(len= *), parameter logfile = 'out.log'
 Default log name (if write_log is True) More...
 
type(qho_typeqho
 To store inputs for QHO system. More...
 
type(h2plus_typeh2plus
 To store inputs for H2 ion system. More...
 
type(h2_typeh2
 To store inputs for H2 molecule system. More...
 
integer(int32) d_eqsteps_qho =100000_int32
 Default total steps for each QHO equilibration MMC chain. More...
 
integer(int32) d_eqsteps_h2plus =100000_int32
 Default total steps for each H2plus equilibration MMC chain. More...
 
integer(int32) d_eqsteps_h2 =100000_int32
 Default total steps for each H2 equilibration MMC chain. More...
 
type(restart_typeres
 Instance of restart_type for reading restart files. More...
 
character(len= *), parameter resfile_nml = 'res_nml.txt'
 Name of restart file storing RESTART namelist. More...
 
character(len= *), parameter resfile_etot = 'res_etot.nc'
 Name of restart file storing total energies. More...
 
character(len= *), parameter resfile_epar = 'res_epar.nc'
 Name of restart file storing parameter energies. More...
 
integer(int64) seed
 Seed for the random number generator. More...
 
integer(int32) run_steps
 Number of MMC steps after burning (for MPI worksharing) More...
 
integer(int32) tstep
 Interval of steps for thinning in non-equil runs (for MPI worksharing) More...
 
integer(int32) alpha_start =1
 Start value for alpha grid, can be >1 for restarts. More...
 
integer(int32) bond_start =1
 Start value for bondlength grid, can be >1 for restarts. More...
 
integer(int32) grid_start =1
 Start value for grid search of parameter c, can be >1 for restarts. More...
 
integer(int32) auto_start =1
 Start value for automatic search of parameter c, can be >1 for restarts. More...
 
integer(int32) i_bond
 Index of bondlength grid value, for restart writing. More...
 
integer logid
 To store logfile unit. More...
 
logical i_log =.FALSE.
 Indicates whether the processor needs to write the logfile. More...
 
integer max_chain_len =100000
 Maximum length of energy chains for writing to netCDF files. More...
 
integer(int32) mpierr
 MPI error flag. More...
 
integer(int32) p
 Number of processors. More...
 
integer(int32) my_rank
 Rank of current processor. More...
 
integer(int32) my_steps
 Number of steps per processor. More...
 
integer(int32) ip
 Processor rank for MPI communications. More...
 
integer(int64) ip_seed
 Processor seed for MPI communications. More...
 
integer(int32) tag_seed =10
 Unique tag for communicating rank seeds. More...
 
integer(int32) my_size
 Length of chain on a processor, after burning & thinning. More...
 
integer(int32) tot_size
 Total length of chains across processors, after burning and thinning. More...
 
integer, dimension(mpi_status_size) status
 Status of MPI Recv commands. More...
 
real(real64) per_step
 Reused multiplicative factor, representing division by total number of MMC steps (tot_size) More...
 
real(real64) per_proc
 Reused multiplicative factor, representing division by number of processors (p) More...
 
real(real64) per_proc2
 Reused multiplicative factor, representing division by square of number of processors (p^2) More...
 

Detailed Description

Contains derived types, and global variables to store input values of simulation parameters.

Contains definitions of derived types for the systems of interest (QHO, H2 ion, H2 molecule) and for the restart data. Also includes declarations for globally accessible variables that will store the data from the input file params.txt.

Variable Documentation

◆ p_system

character(len=10) shared_data::p_system

System of interest: QHO, H2plus, H2.

Definition at line 127 of file shared_data.f90.

127  character(len=10) :: p_system

◆ run_equil

logical shared_data::run_equil =.FALSE.

Tag for equilibration runs.

Definition at line 128 of file shared_data.f90.

128  logical :: run_equil=.false.

◆ run_restart

logical shared_data::run_restart =.FALSE.

Tag for restart runs.

Definition at line 129 of file shared_data.f90.

129  logical :: run_restart =.false.

◆ write_restart

logical shared_data::write_restart = .TRUE.

Tag for writing restart files.

Definition at line 130 of file shared_data.f90.

130  logical :: write_restart = .true.

◆ restart_num

integer(int32) shared_data::restart_num = 1

Interval of MMC loops between writing restart file.

Definition at line 131 of file shared_data.f90.

131  integer(int32) :: restart_num = 1

◆ write_chains

logical shared_data::write_chains =.FALSE.

Tag to write final MMC chains.

Definition at line 132 of file shared_data.f90.

132  logical :: write_chains =.false.

◆ write_log

logical shared_data::write_log = .FALSE.

Tag to write logfile.

Definition at line 133 of file shared_data.f90.

133  logical :: write_log = .false.

◆ outfile

character(len=*), parameter shared_data::outfile = 'results.nc'

Default NetCDF output file name.

Definition at line 134 of file shared_data.f90.

134  character(len=*), parameter :: outfile = 'results.nc'

◆ logfile

character(len=*), parameter shared_data::logfile = 'out.log'

Default log name (if write_log is True)

Definition at line 135 of file shared_data.f90.

135  character(len=*), parameter :: logfile = 'out.log'

◆ qho

type(qho_type) shared_data::qho

To store inputs for QHO system.

Definition at line 138 of file shared_data.f90.

138  type(QHO_type) :: QHO

◆ h2plus

type(h2plus_type) shared_data::h2plus

To store inputs for H2 ion system.

Definition at line 139 of file shared_data.f90.

139  type(H2plus_type) :: H2plus

◆ h2

type(h2_type) shared_data::h2

To store inputs for H2 molecule system.

Definition at line 140 of file shared_data.f90.

140  type(H2_type) :: H2

◆ d_eqsteps_qho

integer(int32) shared_data::d_eqsteps_qho =100000_int32

Default total steps for each QHO equilibration MMC chain.

Definition at line 141 of file shared_data.f90.

141  integer(int32) :: d_eqsteps_qho =100000_int32

◆ d_eqsteps_h2plus

integer(int32) shared_data::d_eqsteps_h2plus =100000_int32

Default total steps for each H2plus equilibration MMC chain.

Definition at line 142 of file shared_data.f90.

142  integer(int32) :: d_eqsteps_h2plus =100000_int32

◆ d_eqsteps_h2

integer(int32) shared_data::d_eqsteps_h2 =100000_int32

Default total steps for each H2 equilibration MMC chain.

Definition at line 143 of file shared_data.f90.

143  integer(int32) :: d_eqsteps_h2 =100000_int32

◆ res

type(restart_type) shared_data::res

Instance of restart_type for reading restart files.

Definition at line 146 of file shared_data.f90.

146  type(restart_type) :: res

◆ resfile_nml

character(len=*), parameter shared_data::resfile_nml = 'res_nml.txt'

Name of restart file storing RESTART namelist.

Definition at line 147 of file shared_data.f90.

147  character(len=*), parameter :: resfile_nml = 'res_nml.txt'

◆ resfile_etot

character(len=*), parameter shared_data::resfile_etot = 'res_etot.nc'

Name of restart file storing total energies.

Definition at line 148 of file shared_data.f90.

148  character(len=*), parameter :: resfile_etot = 'res_etot.nc'

◆ resfile_epar

character(len=*), parameter shared_data::resfile_epar = 'res_epar.nc'

Name of restart file storing parameter energies.

Definition at line 149 of file shared_data.f90.

149  character(len=*), parameter :: resfile_epar = 'res_epar.nc'

◆ seed

integer(int64) shared_data::seed

Seed for the random number generator.

Definition at line 152 of file shared_data.f90.

152  integer(int64) :: seed

◆ run_steps

integer(int32) shared_data::run_steps

Number of MMC steps after burning (for MPI worksharing)

Definition at line 153 of file shared_data.f90.

153  integer(int32) :: run_steps

◆ tstep

integer(int32) shared_data::tstep

Interval of steps for thinning in non-equil runs (for MPI worksharing)

Definition at line 154 of file shared_data.f90.

154  integer(int32) :: tstep

◆ alpha_start

integer(int32) shared_data::alpha_start =1

Start value for alpha grid, can be >1 for restarts.

Definition at line 155 of file shared_data.f90.

155  integer(int32) :: alpha_start=1

◆ bond_start

integer(int32) shared_data::bond_start =1

Start value for bondlength grid, can be >1 for restarts.

Definition at line 156 of file shared_data.f90.

156  integer(int32) :: bond_start=1

◆ grid_start

integer(int32) shared_data::grid_start =1

Start value for grid search of parameter c, can be >1 for restarts.

Definition at line 157 of file shared_data.f90.

157  integer(int32) :: grid_start=1

◆ auto_start

integer(int32) shared_data::auto_start =1

Start value for automatic search of parameter c, can be >1 for restarts.

Definition at line 158 of file shared_data.f90.

158  integer(int32) :: auto_start=1

◆ i_bond

integer(int32) shared_data::i_bond

Index of bondlength grid value, for restart writing.

Definition at line 159 of file shared_data.f90.

159  integer(int32) :: i_bond

◆ logid

integer shared_data::logid

To store logfile unit.

Definition at line 160 of file shared_data.f90.

160  integer :: logid

◆ i_log

logical shared_data::i_log =.FALSE.

Indicates whether the processor needs to write the logfile.

Definition at line 161 of file shared_data.f90.

161  logical :: i_log=.false.

◆ max_chain_len

integer shared_data::max_chain_len =100000

Maximum length of energy chains for writing to netCDF files.

Definition at line 162 of file shared_data.f90.

162  integer :: max_chain_len=100000

◆ mpierr

integer(int32) shared_data::mpierr

MPI error flag.

Definition at line 165 of file shared_data.f90.

165  integer(int32) :: mpierr

◆ p

integer(int32) shared_data::p

Number of processors.

Definition at line 166 of file shared_data.f90.

166  integer(int32) :: p

◆ my_rank

integer(int32) shared_data::my_rank

Rank of current processor.

Definition at line 167 of file shared_data.f90.

167  integer(int32) :: my_rank

◆ my_steps

integer(int32) shared_data::my_steps

Number of steps per processor.

Definition at line 168 of file shared_data.f90.

168  integer(int32) :: my_steps

◆ ip

integer(int32) shared_data::ip

Processor rank for MPI communications.

Definition at line 169 of file shared_data.f90.

169  integer(int32) :: ip

◆ ip_seed

integer(int64) shared_data::ip_seed

Processor seed for MPI communications.

Definition at line 170 of file shared_data.f90.

170  integer(int64) :: ip_seed

◆ tag_seed

integer(int32) shared_data::tag_seed =10

Unique tag for communicating rank seeds.

Definition at line 171 of file shared_data.f90.

171  integer(int32) :: tag_seed=10

◆ my_size

integer(int32) shared_data::my_size

Length of chain on a processor, after burning & thinning.

Definition at line 172 of file shared_data.f90.

172  integer(int32) :: my_size

◆ tot_size

integer(int32) shared_data::tot_size

Total length of chains across processors, after burning and thinning.

Definition at line 173 of file shared_data.f90.

173  integer(int32) :: tot_size

◆ status

integer, dimension(mpi_status_size) shared_data::status

Status of MPI Recv commands.

Definition at line 174 of file shared_data.f90.

174  integer,dimension(MPI_STATUS_SIZE) :: status

◆ per_step

real(real64) shared_data::per_step

Reused multiplicative factor, representing division by total number of MMC steps (tot_size)

Definition at line 175 of file shared_data.f90.

175  real(real64) :: per_step

◆ per_proc

real(real64) shared_data::per_proc

Reused multiplicative factor, representing division by number of processors (p)

Definition at line 176 of file shared_data.f90.

176  real(real64) :: per_proc

◆ per_proc2

real(real64) shared_data::per_proc2

Reused multiplicative factor, representing division by square of number of processors (p^2)

Definition at line 177 of file shared_data.f90.

177  real(real64) :: per_proc2