pyvibdmc.simulation_utilities.imp_samp_manager

Classes

ImpSampManager

Imports and Wraps around the user-provided trial wfn and (optionally) the first and second derivatives.

ImpSampManager_NoMP

Version of the manager that does not use any multiprocessing. If we ever evaluate the trial wfns with GPUs

Module Contents

class pyvibdmc.simulation_utilities.imp_samp_manager.ImpSampManager(trial_function, trial_directory, python_file, pot_manager, pass_timestep=False, new_pool_num_cores=None, deriv_function=None, trial_kwargs=None, deriv_kwargs=None)[source]

Imports and Wraps around the user-provided trial wfn and (optionally) the first and second derivatives. Parallelized using multiprocessing, which is considered the default for pyvibdmc.

trial_func
trial_dir
python_file
deriv_func = None
trial_kwargs = None
deriv_kwargs = None
pot_manager
pass_timestep = False
nomp_pool_cores = None
call_trial(cds)[source]

Get trial wave function using multiprocessing

call_trial_no_mp(cds)[source]

For call_derivs (finite diff), get trial wave function. Still used in the mp.pool context, just doesn’t call pool itself

call_derivs(cds)[source]

For when derivatives are not supplied, call finite difference function. This is still parallelized.

class pyvibdmc.simulation_utilities.imp_samp_manager.ImpSampManager_NoMP(trial_function, trial_directory, python_file, chdir=False, pass_timestep=False, deriv_function=None, trial_kwargs=None, deriv_kwargs=None)[source]

Version of the manager that does not use any multiprocessing. If we ever evaluate the trial wfns with GPUs this could be useful. Could also be useful if multiprocessing is incompatible with your workflow.

trial_fuc
trial_dir
python_file
pass_timestep = False
deriv_func = None
trial_kwargs = None
deriv_kwargs = None
chdir = False
call_imp_func(func, cds, func_kwargs=None)[source]

Convenience function for trial, deriv, and sderiv so I don’t have to have triplicates of code

call_trial(cds)[source]

Call trial wave function.

call_derivs(cds)[source]

For when derivatives are not supplied, call finite difference function. Returns derivatives divided by psi already