(git:6344619)
Loading...
Searching...
No Matches
mc_types Module Reference

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

Data Types

type  mc_simpar_type
type  mc_ekin_type
type  mc_input_file_type
type  mc_molecule_info_type
type  mc_simulation_parameters_p_type
type  mc_averages_type
type  mc_averages_p_type
type  mc_moves_type
type  accattempt
type  mc_moves_p_type

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
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)
 ...
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)
 ...
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
subroutine, public mc_sim_par_create (mc_par, nmol_types)
 creates (allocates) the mc_simulation_parameters type
subroutine, public mc_sim_par_destroy (mc_par)
 destroys (deallocates) the mc_simulation_parameters type
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
subroutine, public mc_input_file_destroy (mc_input_file)
 destroys (deallocates) things in the mc_input_file_type
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
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
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.
subroutine, public mc_molecule_info_destroy (mc_molecule_info)
 deallocates all the arrays in the mc_molecule_info_type
subroutine, public mc_input_parameters_check (mc_par)
 ...

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 1786 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 2002 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 2025 of file mc_types.F.

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