16 #include "../../base/base_uses.f90"
23 TYPE mc_environment_type
24 TYPE(mc_simpar_type),
POINTER :: mc_par => null()
25 TYPE(force_env_type),
POINTER :: force_env => null()
26 END TYPE mc_environment_type
29 TYPE mc_environment_p_type
30 TYPE(mc_environment_type),
POINTER :: mc_env => null()
31 END TYPE mc_environment_p_type
34 PUBLIC :: mc_environment_type, mc_environment_p_type, &
40 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'mc_environment_types'
53 TYPE(mc_environment_type),
INTENT(OUT) :: mc_env
71 TYPE(mc_environment_type),
INTENT(INOUT) :: mc_env
72 TYPE(mc_simpar_type),
OPTIONAL,
POINTER :: mc_par
73 TYPE(force_env_type),
OPTIONAL,
POINTER :: force_env
75 IF (
PRESENT(mc_par)) mc_env%mc_par => mc_par
76 IF (
PRESENT(force_env))
THEN
77 mc_env%force_env => force_env
96 TYPE(mc_environment_type),
INTENT(IN) :: mc_env
97 TYPE(mc_simpar_type),
OPTIONAL,
POINTER :: mc_par
98 TYPE(force_env_type),
OPTIONAL,
POINTER :: force_env
100 IF (
PRESENT(mc_par)) mc_par => mc_env%mc_par
101 IF (
PRESENT(force_env)) force_env => mc_env%force_env
113 TYPE(mc_environment_type),
INTENT(INOUT) :: mc_env
115 NULLIFY (mc_env%mc_par)
116 NULLIFY (mc_env%force_env)
Interface for the force calculations.
contains the subroutines for dealing with the mc_env
subroutine, public get_mc_env(mc_env, mc_par, force_env)
provides a method for getting the various structures attached to an mc_env
subroutine, public mc_env_create(mc_env)
creates and initializes an mc_env
subroutine, public set_mc_env(mc_env, mc_par, force_env)
provides a method for attaching various structures to an mc_env
subroutine, public mc_env_release(mc_env)
releases the given mc env
holds all the structure types needed for Monte Carlo, except the mc_environment_type