Documentation for module mc_ensembles

Used to run the bulk of the MC simulation, doing things like choosing move types and writing data to files

source: mc_ensembles.F
Loading...

public Subroutines/Functions:

Computes the second virial coefficient of a molecule by using the integral form of the second virial coefficient found in McQuarrie "Statistical Thermodynamics", B2(T) = -2Pi Int 0toInf [ Exp[-beta*u(r)] -1] r^2 dr Eq. 15-25 I use trapazoidal integration with various step sizes (the integral is broken up into three parts, currently, but that's easily changed by the first variables found below). It generates nvirial configurations, doing the integration for each one, and then averages all the B2(T) to produce the final answer.
directs the program in running one or two box MC simulations

SUBROUTINEmc_compute_virial(mc_env, rng_stream)

Computes the second virial coefficient of a molecule by using the integral form of the second virial coefficient found in McQuarrie "Statistical Thermodynamics", B2(T) = -2Pi Int 0toInf [ Exp[-beta*u(r)] -1] r^2 dr Eq. 15-25 I use trapazoidal integration with various step sizes (the integral is broken up into three parts, currently, but that's easily changed by the first variables found below). It generates nvirial configurations, doing the integration for each one, and then averages all the B2(T) to produce the final answer.

Arguments:
POINTER
:: mc_env(:) a pointer that contains all mc_env for all the simulation boxes
POINTER
:: rng_stream the stream we pull random numbers from

SUBROUTINEmc_run_ensemble(mc_env, para_env, globenv, input_declaration, nboxes, rng_stream)

directs the program in running one or two box MC simulations

Arguments:
POINTER
:: mc_env(:) a pointer that contains all mc_env for all the simulation boxes
POINTER
:: para_env ...
POINTER
:: globenv the global environment for the simulation
POINTER
:: input_declaration ...
INTEGER,
INTENT(in)
:: nboxes the number of simulation boxes
POINTER
:: rng_stream the stream we pull random numbers from