pibronic.pimc package

Scripts that run the PIMC code

Submodules

pibronic.pimc.pimc module

class pibronic.pimc.pimc.ModelClass(states=1, modes=1)[source]

Bases: object

information describing a quantum mechanical system

cubic = None
energy = None
classmethod from_json_file(path)[source]

constructor wrapper

linear = None
load_model(path)[source]

x

modes = 0
omega = None
quadratic = None
quartic = None
states = 0
class pibronic.pimc.pimc.ModelVibronic(data)[source]

Bases: pibronic.pimc.pimc.ModelClass

stores information about the system of interest

compute_linear_displacement(data)[source]

compute the energy shift equivalent to a linear displacement

compute_weight_for_each_state(modified_energy)[source]

these are the weights for the oscillators associated with each state

finish_folding_in_terms(data)[source]

set the terms we ‘folded in’ to zero

initialize_TDP_object()[source]

creates the TemperatureDependentClass object

optimize_energy()[source]

shift the energy to reduce the order of the raw partition function value

precompute(data)[source]

precompute some constants

class pibronic.pimc.pimc.ModelVibronicPM(data)[source]

Bases: pibronic.pimc.pimc.ModelVibronic

plus minus version of ModelVibronic

beta_minus = 0.0
beta_plus = 0.0
delta_beta = 0.0
initialize_TDP_object()[source]

creates the TemperatureDependentClass object

precompute(data)[source]

precompute some constants

tau_minus = 0.0
tau_plus = 0.0
class pibronic.pimc.pimc.ModelSampling(data)[source]

Bases: pibronic.pimc.pimc.ModelClass

stores information about the system of interest

compute_linear_displacement()[source]

compute the energy shift equivalent to a linear displacement

compute_sampling_constants(data)[source]
compute_weight_for_each_state()[source]

these are the weights for the oscillators associated with each state

draw_sample(sample_view)[source]

Generates collective co-ordinates and stores them in self.cc_samples with dimensions BNP

finish_folding_in_terms()[source]

set the terms we ‘folded in’ to zero

initialize_TDP_object()[source]

creates the TemperatureDependentClass object

load_model(filePath)[source]

x

optimize_energy()[source]

shift the energy to reduce the order of the raw partition function value

precompute(data)[source]

precompute some constants

class pibronic.pimc.pimc.BoxData[source]

Bases: object

use this to pass execution parameters back and forth between methods

beads = 0
beta = 0.0
block_size = 0
blocks = 0
classmethod build(id_data, id_rho)[source]

constructor wrapper

delta_beta = 0.0
draw_sample(sample_view)[source]

Draws samples from the distribution rho - the rho object fills its cc_samples parameter with collective co-ordinates which will be transformed to bead dependent co-ordinates by self.transform_sampled_coordinates()

encode_self(params=None)[source]

encodes json str with member values or given params

classmethod from_FileStructure(FS)[source]

constructor wrapper

classmethod from_json_file(path)[source]

constructor wrapper

classmethod from_json_string(json_str)[source]

constructor wrapper

generate_random_R_values(result, storage_array, sample_view)[source]

Randomly generates R values that have no relation to the distribution rho or g they only have the correct dimensions BANP and are shifted appropriately

hash_rho = None
hash_vib = None
id_data = 0
id_rho = 0
initialize_models()[source]

x

classmethod json_serialize(params)[source]
load_json_string(json_str)[source]

decodes the json_str and sets member parameters

modes = 0
path_rho_model = ''
path_vib_model = ''
preprocess()[source]

x

rho = None
samples = 0
states = 0
tau = 0.0
temperature = 0.0
transform_sampled_coordinates(sample_view)[source]

transform from collective co-ordinates to bead dependent co-ordinates

vib = None
class pibronic.pimc.pimc.BoxDataPM(delta_beta=None)[source]

Bases: pibronic.pimc.pimc.BoxData

plus minus version of BoxData

beta_minus = 0.0
beta_plus = 0.0
delta_beta = 0.0
initialize_models()[source]
preprocess()[source]
tau_minus = 0.0
tau_plus = 0.0
class pibronic.pimc.pimc.BoxResult(data=None, X=None)[source]

Bases: object

use this to pass results back and forth between methods

compute_path_to_file()[source]

used by BoxResultPM as well

hash_rho = None
hash_vib = None
id_job = None
initialize_arrays()[source]
key_list = ['number_of_samples', 's_rho', 's_g']
load_multiple_results(list_of_paths, desired_number_of_samples=None)[source]

load results from more than one file the optional argument desired_number_of_samples can be provided the method will then try to load as many samples UPTO the desired_number_of_samples and no more

load_results(path)[source]

load results from one file

classmethod read_number_of_samples(path_full)[source]

x

classmethod result_keys_are_present_in(iterable)[source]

x

save_results(number_of_samples)[source]

x

classmethod verify_result_keys_are_present(path, fileObj)[source]

x

class pibronic.pimc.pimc.BoxResultPM(data=None, X=None)[source]

Bases: pibronic.pimc.pimc.BoxResult

plus minus version of BoxResult

initialize_arrays()[source]
key_list = ['s_gP', 's_gM', 'number_of_samples', 's_rho', 's_g']
load_multiple_results(list_of_paths, desired_number_of_samples=None)[source]

load results from more than one file the optional argument desired_number_of_samples can be provided the method will then try to load as many samples UPTO the desired_number_of_samples and no more

load_results(path)[source]

x

classmethod result_keys_are_present_in(iterable)[source]

x

save_results(number_of_samples)[source]

x

classmethod verify_result_keys_are_present(path, fileObj)[source]

x

pibronic.pimc.pimc.block_compute(data, result)[source]

Compute the numerator and denominator for block_size # of sampled points in each loop

pibronic.pimc.pimc.block_compute_pm(data, result)[source]