pyvibdmc.simulation_utilities.initial_conditioner

Submodules

Classes

MolFiniteDifference

Helper to calculate derivatives of some value as a function of Cartesian displacements in a molecule.

HarmonicAnalysis

InitialConditioner

If given a minimum energy geometry of the system you are trying to run, it will generate a preliminary ensemble.

Package Contents

class pyvibdmc.simulation_utilities.initial_conditioner.MolFiniteDifference[source]

Helper to calculate derivatives of some value as a function of Cartesian displacements in a molecule.

weights_der1
weights_der2
static displace_molecule(eq_geom, atm_cd, dx, num_disps)[source]

Displace atm along cd :param eq_geom: Geometry from which you will be displaced :param atm_cd: a tuple that has a paricular atom of interest to displace in a particular dimension (x,y,or,z) :param dx: The amount each geometry will be replaced :param num_disps: int of how many displacements to do, will take the form of 3 or 5 for harmonic analysis. :return: Displaced coordinates in a 3D array (n,m,3). If displaced in two directions, then still (n,m,3)

classmethod differentiate(values, dx, num_points, der)[source]
class pyvibdmc.simulation_utilities.initial_conditioner.HarmonicAnalysis(eq_geom, atoms, potential, masses=None, dx=0.001, points_diag=5, points_off_diag=3, dipole=None)[source]
eq_geom
atoms
potential
masses = None
dx = 0.001
points_diag = 5
points_off_diag = 3
num_elems
dipole = None
generate_hessian()[source]
dipole_derivs()[source]
diagonalize(hessian)[source]
run()[source]
class pyvibdmc.simulation_utilities.initial_conditioner.InitialConditioner(coord, atoms, num_walkers, technique, technique_kwargs, masses=None)[source]

If given a minimum energy geometry of the system you are trying to run, it will generate a preliminary ensemble. In one instance, you can calculate the harmonic frequencies and normal modes, and then sample the harmonic 3N-6 ground state wave function along those normal modes. Will, in the future, handle other initial conditions.

coord
atoms
masses = None
num_walkers
technique
technique_kwargs
gen_disps(sigmas)[source]
displace_along_nms(freqz, nmz, massez, ensemble)[source]
run_harm()[source]
run_permute()[source]

Must pass in a list of lists.

run()[source]