Trajectory package

mesohops.dynamics.hops_trajectory class

class HopsTrajectory(system_param, eom_param={}, noise_param={}, hierarchy_param={}, storage_param={}, integration_param={'EARLY_ADAPTIVE_INTEGRATOR': 'INCH_WORM', 'EARLY_INTEGRATOR_STEPS': 5, 'INCHWORM_CAP': 5, 'INTEGRATOR': 'RUNGE_KUTTA', 'STATIC_BASIS': None})

Bases: object

HopsTrajectory is the class that a user should interface with to run a single trajectory calculation.

construct_noise_correlation_function(self, n_l2, n_traj)

Uses correlated noise trajectories to reconstruct the full noise correlation function ** Warning if SEED is not None function will not work properly **

Parameters
1. n_l2int

Index of the site that the noise is being generated on.

2. n_trajint

Number of trajectories summed over.

Returns
1. list_corr_func_1list

Correlation function calculated for noise1.

2. list_corr_func_2list

Correlation function calculated for noise2.

inchworm_integrate(self, list_state_new, list_aux_new, tau)

Performs inchworm integration.

Parameters
1. state_update
  1. list_state_newlist

    List of new states.

  2. state_stablelist

    List of stable states in the current basis.

  3. list_add_statelist

    List of new states that were not in previous state list.

2. aux_update
  1. aux_newlist

    List of new auxiliaries.

  2. stable_auxlist

    List of stable auxiliaries in the current basis.

  3. add_auxlist

    List of new auxiliaries that were not in the previous aux list.

3. taufloat

Time step.

Returns
  1. state_update
    1. list_state_newlist

      List of new states.

    2. state_stablelist

      List of stable states in the current basis.

    3. list_add_statelist

      List of new states that were not in previous state list.

  2. aux_update
    1. aux_newlist

      List of new auxiliaries.

    2. stable_auxlist

      List of stable auxiliaries in the current basis.

    3. add_auxlist

      List of new auxiliaries that were not in the previous aux list.

3. phinp.array

Full state of the hierarchy normalized if appropriate.

initialize(self, psi_0)

Initializes the trajectory module by ensuring that each sub-component is prepared to begin propagating a trajectory.

Parameters
1. psi_0np.array

Wave function at initial time.

Returns
None
make_adaptive(self, delta_h=0.0001, delta_s=0.0001, update_step=1)

This is a convenience function for transforming a not-yet-initialized HOPS trajectory from a standard hops to an adaptive HOPS approach.

Parameters
1. delta_hfloat < 1

The value of the adaptive grid for the hierarchy of auxiliary nodes.

2. delta_sfloat < 1

The value of the adaptive grid in the system basis.

3. update_stepint

The number of time points between updates to the adaptive basis.

Returns
None
normalize(self, phi)

Re-normalizes the wave function at each step to correct for loss of norm due to finite numerical accuracy

Parameters
1. phinp.array

Current full state of the hierarchy.

Returns
1. phinp.array

The full state of the hierarchy normalized if appropriate.

propagate(self, t_advance, tau)

Performs the integration along fixed time-points. The kind of integration that is performed is controlled by ‘step’ which was setup in the initialization.

Parameters
1. t_advancefloat

How far out in time the calculation will run.

2. taufloat

Time step.

Returns
None

mesohops.dynamics.hops_storage class

class HopsStorage(adaptive, storage_dic)

Bases: object

This is an object that manages storing information for a HOPS trajectory.

store_step(self, **kwargs)

Inserts data into the HopsStorage class at eachtime point of the simulation.

Parameters
1. kwargsany

The following parameters are the default key word arguments that are currently being passed 1. phi_new : np.array

the updated full hierarchy

  1. aux_newlist

    a list of the current auxiliaries in the hierarchy basis

  2. state_listlist

    the list of current states in the system basis

  3. t_newfloat

    the new time point (t+tau)

  4. z_mem_newlist

    a list of memory values

Returns
None