(git:6a2e663)
mc_types Module Reference

holds all the structure types needed for Monte Carlo, except the mc_environment_type More...

Functions/Subroutines

subroutine, public get_mc_input_file (mc_input_file, run_type_row, run_type_column, coord_row_start, coord_row_end, cell_row, cell_column, force_eval_row_start, force_eval_row_end, global_row_start, global_row_end, mol_set_nmol_row, mol_set_nmol_column, in_use, text, atom_names_empty, nunits_empty, coordinates_empty, motion_row_end, motion_row_start)
 accesses the private elements of the mc_input_file_type More...
 
subroutine, public get_mc_par (mc_par, nstep, nvirial, iuptrans, iupcltrans, iupvolume, nmoves, nswapmoves, rm, cl, diff, nstart, source, group, lbias, ionode, lrestart, lstop, rmvolume, rmcltrans, rmbond, rmangle, rmrot, rmtrans, temperature, pressure, rclus, BETA, pmswap, pmvolume, pmtraion, pmtrans, pmcltrans, ensemble, PROGRAM, restart_file_name, molecules_file, moves_file, coords_file, energy_file, displacement_file, cell_file, dat_file, data_file, box2_file, fft_lib, iprint, rcut, ldiscrete, discrete_step, pmavbmc, pbias, avbmc_atom, avbmc_rmin, avbmc_rmax, rmdihedral, input_file, mc_molecule_info, pmswap_mol, pmavbmc_mol, pmtrans_mol, pmrot_mol, pmtraion_mol, mc_input_file, mc_bias_file, pmvol_box, pmclus_box, virial_temps, exp_min_val, exp_max_val, min_val, max_val, eta, pmhmc, pmhmc_box, lhmc, rand2skip)
 ... More...
 
subroutine, public get_mc_molecule_info (mc_molecule_info, nmol_types, nchain_total, nboxes, names, conf_prob, nchains, nunits, mol_type, nunits_tot, in_box, atom_names, mass)
 ... More...
 
subroutine, public set_mc_par (mc_par, rm, cl, diff, nstart, rmvolume, rmcltrans, rmbond, rmangle, rmdihedral, rmrot, rmtrans, PROGRAM, nmoves, nswapmoves, lstop, temperature, pressure, rclus, iuptrans, iupcltrans, iupvolume, pmswap, pmvolume, pmtraion, pmtrans, pmcltrans, BETA, rcut, iprint, lbias, nstep, lrestart, ldiscrete, discrete_step, pmavbmc, mc_molecule_info, pmavbmc_mol, pmtrans_mol, pmrot_mol, pmtraion_mol, pmswap_mol, avbmc_rmin, avbmc_rmax, avbmc_atom, pbias, ensemble, pmvol_box, pmclus_box, eta, mc_input_file, mc_bias_file, exp_max_val, exp_min_val, min_val, max_val, pmhmc, pmhmc_box, lhmc, ionode, source, group, rand2skip)
 changes the private elements of the mc_parameters_type More...
 
subroutine, public mc_sim_par_create (mc_par, nmol_types)
 creates (allocates) the mc_simulation_parameters type More...
 
subroutine, public mc_sim_par_destroy (mc_par)
 destroys (deallocates) the mc_simulation_parameters type More...
 
subroutine, public mc_input_file_create (mc_input_file, input_file_name, mc_molecule_info, empty_coords, lhmc)
 creates (allocates) the mc_input_file_type More...
 
subroutine, public mc_input_file_destroy (mc_input_file)
 destroys (deallocates) things in the mc_input_file_type More...
 
subroutine, public read_mc_section (mc_par, para_env, globenv, input_file_name, input_file, force_env_section)
 reads in the Monte Carlo simulation parameters from an input file More...
 
subroutine, public find_mc_rcut (mc_par, force_env, lterminate)
 finds the largest interaction cutoff value in a classical simulation so we know the smallest size we can make the box in a volume move More...
 
subroutine, public mc_determine_molecule_info (force_env, mc_molecule_info, box_number, coordinates_empty)
 figures out the number of total molecules, the number of atoms in each molecule, an array with the molecule types, etc...a lot of information that we need. I did this because I use multiple force_env (simulation boxes) for MC, and they don't know about each other. More...
 
subroutine, public mc_molecule_info_destroy (mc_molecule_info)
 deallocates all the arrays in the mc_molecule_info_type More...
 
subroutine, public mc_input_parameters_check (mc_par)
 ... More...
 

Detailed Description

holds all the structure types needed for Monte Carlo, except the mc_environment_type

History
none
Author
MJM

Function/Subroutine Documentation

◆ get_mc_input_file()

subroutine, public mc_types::get_mc_input_file ( type(mc_input_file_type), pointer  mc_input_file,
integer, intent(out), optional  run_type_row,
integer, intent(out), optional  run_type_column,
integer, intent(out), optional  coord_row_start,
integer, intent(out), optional  coord_row_end,
integer, intent(out), optional  cell_row,
integer, intent(out), optional  cell_column,
integer, intent(out), optional  force_eval_row_start,
integer, intent(out), optional  force_eval_row_end,
integer, intent(out), optional  global_row_start,
integer, intent(out), optional  global_row_end,
integer, dimension(:), optional, pointer  mol_set_nmol_row,
integer, dimension(:), optional, pointer  mol_set_nmol_column,
integer, intent(out), optional  in_use,
character(len=default_string_length), dimension(:), optional, pointer  text,
character(len=default_string_length), dimension(:), optional, pointer  atom_names_empty,
integer, intent(out), optional  nunits_empty,
real(dp), dimension(:, :), optional, pointer  coordinates_empty,
integer, intent(out), optional  motion_row_end,
integer, intent(out), optional  motion_row_start 
)

accesses the private elements of the mc_input_file_type

Parameters
mc_input_filethe input file you want data for

Suitable for parallel.

Parameters
run_type_row...
run_type_column...
coord_row_start...
coord_row_end...
cell_row...
cell_column...
force_eval_row_start...
force_eval_row_end...
global_row_start...
global_row_end...
mol_set_nmol_row...
mol_set_nmol_column...
in_use...
text...
atom_names_empty...
nunits_empty...
coordinates_empty...
motion_row_end...
motion_row_start...
Author
MJM

Definition at line 274 of file mc_types.F.

Here is the caller graph for this function:

◆ get_mc_par()

subroutine, public mc_types::get_mc_par ( type(mc_simpar_type), pointer  mc_par,
integer, intent(out), optional  nstep,
integer, intent(out), optional  nvirial,
integer, intent(out), optional  iuptrans,
integer, intent(out), optional  iupcltrans,
integer, intent(out), optional  iupvolume,
integer, intent(out), optional  nmoves,
integer, intent(out), optional  nswapmoves,
integer, intent(out), optional  rm,
integer, intent(out), optional  cl,
integer, intent(out), optional  diff,
integer, intent(out), optional  nstart,
integer, intent(out), optional  source,
type(mp_comm_type), intent(out), optional  group,
logical, intent(out), optional  lbias,
logical, intent(out), optional  ionode,
logical, intent(out), optional  lrestart,
logical, intent(out), optional  lstop,
real(kind=dp), intent(out), optional  rmvolume,
real(kind=dp), intent(out), optional  rmcltrans,
real(kind=dp), dimension(:), optional, pointer  rmbond,
real(kind=dp), dimension(:), optional, pointer  rmangle,
real(kind=dp), dimension(:), optional, pointer  rmrot,
real(kind=dp), dimension(:), optional, pointer  rmtrans,
real(kind=dp), intent(out), optional  temperature,
real(kind=dp), intent(out), optional  pressure,
real(kind=dp), intent(out), optional  rclus,
real(kind=dp), intent(out), optional  BETA,
real(kind=dp), intent(out), optional  pmswap,
real(kind=dp), intent(out), optional  pmvolume,
real(kind=dp), intent(out), optional  pmtraion,
real(kind=dp), intent(out), optional  pmtrans,
real(kind=dp), intent(out), optional  pmcltrans,
character(len=*), intent(out), optional  ensemble,
character(len=*), intent(out), optional  PROGRAM,
character(len=*), intent(out), optional  restart_file_name,
character(len=*), intent(out), optional  molecules_file,
character(len=*), intent(out), optional  moves_file,
character(len=*), intent(out), optional  coords_file,
character(len=*), intent(out), optional  energy_file,
character(len=*), intent(out), optional  displacement_file,
character(len=*), intent(out), optional  cell_file,
character(len=*), intent(out), optional  dat_file,
character(len=*), intent(out), optional  data_file,
character(len=*), intent(out), optional  box2_file,
character(len=*), intent(out), optional  fft_lib,
integer, intent(out), optional  iprint,
real(kind=dp), intent(out), optional  rcut,
logical, intent(out), optional  ldiscrete,
real(kind=dp), intent(out), optional  discrete_step,
real(kind=dp), intent(out), optional  pmavbmc,
real(kind=dp), dimension(:), optional, pointer  pbias,
integer, dimension(:), optional, pointer  avbmc_atom,
real(kind=dp), dimension(:), optional, pointer  avbmc_rmin,
real(kind=dp), dimension(:), optional, pointer  avbmc_rmax,
real(kind=dp), dimension(:), optional, pointer  rmdihedral,
type(section_vals_type), optional, pointer  input_file,
type(mc_molecule_info_type), optional, pointer  mc_molecule_info,
real(dp), dimension(:), optional, pointer  pmswap_mol,
real(kind=dp), dimension(:), optional, pointer  pmavbmc_mol,
real(kind=dp), dimension(:), optional, pointer  pmtrans_mol,
real(kind=dp), dimension(:), optional, pointer  pmrot_mol,
real(kind=dp), dimension(:), optional, pointer  pmtraion_mol,
type(mc_input_file_type), optional, pointer  mc_input_file,
type(mc_input_file_type), optional, pointer  mc_bias_file,
real(kind=dp), intent(out), optional  pmvol_box,
real(kind=dp), intent(out), optional  pmclus_box,
real(kind=dp), dimension(:), optional, pointer  virial_temps,
real(kind=dp), intent(out), optional  exp_min_val,
real(kind=dp), intent(out), optional  exp_max_val,
real(kind=dp), intent(out), optional  min_val,
real(kind=dp), intent(out), optional  max_val,
real(kind=dp), dimension(:), optional, pointer  eta,
real(kind=dp), intent(out), optional  pmhmc,
real(kind=dp), intent(out), optional  pmhmc_box,
logical, intent(out), optional  lhmc,
integer, intent(out), optional  rand2skip 
)

...

Parameters
mc_par...
nstep...
nvirial...
iuptrans...
iupcltrans...
iupvolume...
nmoves...
nswapmoves...
rm...
cl...
diff...
nstart...
source...
group...
lbias...
ionode...
lrestart...
lstop...
rmvolume...
rmcltrans...
rmbond...
rmangle...
rmrot...
rmtrans...
temperature...
pressure...
rclus...
BETA...
pmswap...
pmvolume...
pmtraion...
pmtrans...
pmcltrans...
ensemble...
PROGRAM...
restart_file_name...
molecules_file...
moves_file...
coords_file...
energy_file...
displacement_file...
cell_file...
dat_file...
data_file...
box2_file...
fft_lib...
iprint...
rcut...
ldiscrete...
discrete_step...
pmavbmc...
pbias...
avbmc_atom...
avbmc_rmin...
avbmc_rmax...
rmdihedral...
input_file...
mc_molecule_info...
pmswap_mol...
pmavbmc_mol...
pmtrans_mol...
pmrot_mol...
pmtraion_mol...
mc_input_file...
mc_bias_file...
pmvol_box...
pmclus_box...
virial_temps...
exp_min_val...
exp_max_val...
min_val...
max_val...
eta...
pmhmc...
pmhmc_box...
lhmc...
rand2skip...
mc_paraccesses the private elements of the mc_parameters_type
mc_parthe structure mc parameters you want

Suitable for parallel.

Author
MJM

Definition at line 394 of file mc_types.F.

Here is the caller graph for this function:

◆ get_mc_molecule_info()

subroutine, public mc_types::get_mc_molecule_info ( type(mc_molecule_info_type), pointer  mc_molecule_info,
integer, intent(out), optional  nmol_types,
integer, intent(out), optional  nchain_total,
integer, intent(out), optional  nboxes,
character(len=default_string_length), dimension(:), optional, pointer  names,
real(dp), dimension(:, :), optional, pointer  conf_prob,
integer, dimension(:, :), optional, pointer  nchains,
integer, dimension(:), optional, pointer  nunits,
integer, dimension(:), optional, pointer  mol_type,
integer, dimension(:), optional, pointer  nunits_tot,
integer, dimension(:), optional, pointer  in_box,
character(len=default_string_length), dimension(:, :), optional, pointer  atom_names,
real(dp), dimension(:, :), optional, pointer  mass 
)

...

Parameters
mc_molecule_info...
nmol_types...
nchain_total...
nboxes...
names...
conf_prob...
nchains...
nunits...
mol_type...
nunits_tot...
in_box...
atom_names...
mass...
mc_molecule_infoaccesses the private elements of the mc_molecule_info_type
mc_molecule_infothe structure you want the parameters for

Suitable for parallel.

Author
MJM

Definition at line 551 of file mc_types.F.

Here is the caller graph for this function:

◆ set_mc_par()

subroutine, public mc_types::set_mc_par ( type(mc_simpar_type), pointer  mc_par,
integer, intent(in), optional  rm,
integer, intent(in), optional  cl,
integer, intent(in), optional  diff,
integer, intent(in), optional  nstart,
real(kind=dp), intent(in), optional  rmvolume,
real(kind=dp), intent(in), optional  rmcltrans,
real(kind=dp), dimension(:), optional, pointer  rmbond,
real(kind=dp), dimension(:), optional, pointer  rmangle,
real(kind=dp), dimension(:), optional, pointer  rmdihedral,
real(kind=dp), dimension(:), optional, pointer  rmrot,
real(kind=dp), dimension(:), optional, pointer  rmtrans,
character(len=*), intent(in), optional  PROGRAM,
integer, intent(in), optional  nmoves,
integer, intent(in), optional  nswapmoves,
logical, intent(in), optional  lstop,
real(kind=dp), intent(in), optional  temperature,
real(kind=dp), intent(in), optional  pressure,
real(kind=dp), intent(in), optional  rclus,
integer, intent(in), optional  iuptrans,
integer, intent(in), optional  iupcltrans,
integer, intent(in), optional  iupvolume,
real(kind=dp), intent(in), optional  pmswap,
real(kind=dp), intent(in), optional  pmvolume,
real(kind=dp), intent(in), optional  pmtraion,
real(kind=dp), intent(in), optional  pmtrans,
real(kind=dp), intent(in), optional  pmcltrans,
real(kind=dp), intent(in), optional  BETA,
real(kind=dp), intent(in), optional  rcut,
integer, intent(in), optional  iprint,
logical, intent(in), optional  lbias,
integer, intent(in), optional  nstep,
logical, intent(in), optional  lrestart,
logical, intent(in), optional  ldiscrete,
real(kind=dp), intent(in), optional  discrete_step,
real(kind=dp), intent(in), optional  pmavbmc,
type(mc_molecule_info_type), optional, pointer  mc_molecule_info,
real(dp), dimension(:), optional, pointer  pmavbmc_mol,
real(dp), dimension(:), optional, pointer  pmtrans_mol,
real(dp), dimension(:), optional, pointer  pmrot_mol,
real(dp), dimension(:), optional, pointer  pmtraion_mol,
real(dp), dimension(:), optional, pointer  pmswap_mol,
real(dp), dimension(:), optional, pointer  avbmc_rmin,
real(dp), dimension(:), optional, pointer  avbmc_rmax,
integer, dimension(:), optional, pointer  avbmc_atom,
real(dp), dimension(:), optional, pointer  pbias,
character(len=*), intent(in), optional  ensemble,
real(kind=dp), intent(in), optional  pmvol_box,
real(kind=dp), intent(in), optional  pmclus_box,
real(kind=dp), dimension(:), optional, pointer  eta,
type(mc_input_file_type), optional, pointer  mc_input_file,
type(mc_input_file_type), optional, pointer  mc_bias_file,
real(kind=dp), intent(in), optional  exp_max_val,
real(kind=dp), intent(in), optional  exp_min_val,
real(kind=dp), intent(in), optional  min_val,
real(kind=dp), intent(in), optional  max_val,
real(kind=dp), intent(in), optional  pmhmc,
real(kind=dp), intent(in), optional  pmhmc_box,
logical, intent(in), optional  lhmc,
logical, intent(in), optional  ionode,
integer, intent(in), optional  source,
class(mp_comm_type), intent(in), optional  group,
integer, intent(in), optional  rand2skip 
)

changes the private elements of the mc_parameters_type

Parameters
mc_parthe structure mc parameters you want
rm...
cl...
diff...
nstart...
rmvolume...
rmcltrans...
rmbond...
rmangle...
rmdihedral...
rmrot...
rmtrans...
PROGRAM...
nmoves...
nswapmoves...
lstop...
temperature...
pressure...
rclus...
iuptrans...
iupcltrans...
iupvolume...
pmswap...
pmvolume...
pmtraion...
pmtrans...
pmcltrans...
BETA...
rcut...
iprint...
lbias...
nstep...
lrestart...
ldiscrete...
discrete_step...
pmavbmc...
mc_molecule_info...
pmavbmc_mol...
pmtrans_mol...
pmrot_mol...
pmtraion_mol...
pmswap_mol...
avbmc_rmin...
avbmc_rmax...
avbmc_atom...
pbias...
ensemble...
pmvol_box...
pmclus_box...
eta...
mc_input_file...
mc_bias_file...
exp_max_val...
exp_min_val...
min_val...
max_val...
pmhmc...
pmhmc_box...
lhmc...
ionode...
source...
group...
rand2skip... Suitable for parallel.
Author
MJM

Definition at line 658 of file mc_types.F.

Here is the caller graph for this function:

◆ mc_sim_par_create()

subroutine, public mc_types::mc_sim_par_create ( type(mc_simpar_type), pointer  mc_par,
integer, intent(in)  nmol_types 
)

creates (allocates) the mc_simulation_parameters type

Parameters
mc_parthe structure that will be created (allocated)
nmol_typesthe number of molecule types in the system
Author
MJM

Definition at line 850 of file mc_types.F.

Here is the caller graph for this function:

◆ mc_sim_par_destroy()

subroutine, public mc_types::mc_sim_par_destroy ( type(mc_simpar_type), pointer  mc_par)

destroys (deallocates) the mc_simulation_parameters type

Parameters
mc_parthe structure that will be destroyed
Author
MJM

Definition at line 887 of file mc_types.F.

Here is the caller graph for this function:

◆ mc_input_file_create()

subroutine, public mc_types::mc_input_file_create ( type(mc_input_file_type), pointer  mc_input_file,
character(len=*), intent(in)  input_file_name,
type(mc_molecule_info_type), pointer  mc_molecule_info,
real(dp), dimension(:, :)  empty_coords,
logical, intent(in)  lhmc 
)

creates (allocates) the mc_input_file_type

Parameters
mc_input_filethe structure that will be created (allocated)
input_file_namethe name of the file to read
mc_molecule_info...
empty_coords...
lhmc...
Author
MJM

Definition at line 930 of file mc_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mc_input_file_destroy()

subroutine, public mc_types::mc_input_file_destroy ( type(mc_input_file_type), pointer  mc_input_file)

destroys (deallocates) things in the mc_input_file_type

Parameters
mc_input_filethe structure that will be released (deallocated)
Author
MJM

Definition at line 1123 of file mc_types.F.

Here is the caller graph for this function:

◆ read_mc_section()

subroutine, public mc_types::read_mc_section ( type(mc_simpar_type), pointer  mc_par,
type(mp_para_env_type), pointer  para_env,
type(global_environment_type), pointer  globenv,
character(len=*), intent(in)  input_file_name,
type(section_vals_type), pointer  input_file,
type(section_vals_type), pointer  force_env_section 
)

reads in the Monte Carlo simulation parameters from an input file

Parameters
mc_parthe structure that will store the parameters
para_env...
globenvthe global environment for the simulation
input_file_namethe name of the input_file
input_filethe structure that contains all the keywords in the input file
force_env_sectionused to grab the type of force_env
Author
MJM

Definition at line 1208 of file mc_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_mc_rcut()

subroutine, public mc_types::find_mc_rcut ( type(mc_simpar_type), intent(inout)  mc_par,
type(force_env_type), pointer  force_env,
logical, intent(out)  lterminate 
)

finds the largest interaction cutoff value in a classical simulation so we know the smallest size we can make the box in a volume move

Parameters
mc_parthe structure that will store the parameters
force_envthe force environment that we'll grab the rcut parameter out of
lterminateset to .TRUE. if one of the sides of the box is less than twice the cutoff

Suitable for parallel.

Author
MJM

Definition at line 1727 of file mc_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mc_determine_molecule_info()

subroutine, public mc_types::mc_determine_molecule_info ( type(force_env_p_type), dimension(:), pointer  force_env,
type(mc_molecule_info_type), pointer  mc_molecule_info,
integer, intent(in), optional  box_number,
real(dp), dimension(:, :), optional, pointer  coordinates_empty 
)

figures out the number of total molecules, the number of atoms in each molecule, an array with the molecule types, etc...a lot of information that we need. I did this because I use multiple force_env (simulation boxes) for MC, and they don't know about each other.

Parameters
force_envthe pointer containing all the force environments in the simulation
mc_molecule_infothe structure that will hold all the information for the molecule types

Suitable for parallel.

Parameters
box_number...
coordinates_empty...
Author
MJM

Definition at line 1785 of file mc_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mc_molecule_info_destroy()

subroutine, public mc_types::mc_molecule_info_destroy ( type(mc_molecule_info_type), pointer  mc_molecule_info)

deallocates all the arrays in the mc_molecule_info_type

Parameters
mc_molecule_infothe structure we wish to deallocate

Suitable for parallel.

Author
MJM

Definition at line 2000 of file mc_types.F.

Here is the caller graph for this function:

◆ mc_input_parameters_check()

subroutine, public mc_types::mc_input_parameters_check ( type(mc_simpar_type), pointer  mc_par)

...

Parameters
mc_par...
mc_paraccesses the private elements of the mc_molecule_info_type
mc_molecule_infothe structure you want the parameters for
nmol_typesthe number of molecule types in the simulation

Suitable for parallel.

Author
MJM

Definition at line 2023 of file mc_types.F.

Here is the call graph for this function:
Here is the caller graph for this function: