VolterraBasis.Pos_gle_with_friction

class VolterraBasis.Pos_gle_with_friction(*args, **kwargs)[source]

A derived class in which we don’t enforce zero instantaneous friction

Create an instance of the Pos_gle class.

Parameters:
xva_argxarray dataset ([‘time’, ‘x’, ‘v’, ‘a’]) or list of datasets.

Use compute_va() or see its output for format details. The timeseries to analyze. It should be either a xarray timeseries or a listlike collection of them.

basisscikit-learn transformer to get the element of the basis

This class should implement, basis() and deriv() function and deal with periodicity of the data. If a fit() method is defined, it will be called at initialization

saveallbool, default=True

Whether to save all output functions.

prefixstr

Prefix for the saved output functions.

verbosebool, default=True

Set verbosity.

kTfloat, default=2.494

Numerical value for kT.

truncfloat, default=1.0

Truncate all correlation functions and the memory kernel after this time value.

__init__(*args, **kwargs)[source]

Create an instance of the Pos_gle class.

Parameters:
xva_argxarray dataset ([‘time’, ‘x’, ‘v’, ‘a’]) or list of datasets.

Use compute_va() or see its output for format details. The timeseries to analyze. It should be either a xarray timeseries or a listlike collection of them.

basisscikit-learn transformer to get the element of the basis

This class should implement, basis() and deriv() function and deal with periodicity of the data. If a fit() method is defined, it will be called at initialization

saveallbool, default=True

Whether to save all output functions.

prefixstr

Prefix for the saved output functions.

verbosebool, default=True

Set verbosity.

kTfloat, default=2.494

Numerical value for kT.

truncfloat, default=1.0

Truncate all correlation functions and the memory kernel after this time value.

basis_vector(xva, compute_for='corrs')[source]

From one trajectory compute the basis element. This is the main method that should be implemented by children class. It take as argument a trajectory and should return the value of the basis function depending of the wanted case. There is three case that should be implemented.

“force”: for the evaluation and computation of the mean force.

“pmf”: for evaluation of the pmf using integration of the mean force

“kernel”: for the evaluation of the kernel.

“corrs”: for the computation of the correlation function.

compute_corrs_w_noise(xva, left_op=None)

Compute correlation between noise and left_op

Parameters:
xvaxarray dataset ([‘time’, ‘x’, ‘v’, ‘a’]) .

Use compute_va() or see its output for format details. Input trajectory to compute noise.

compute_noise(xva, trunc_kernel=None, start_point=0, end_point=None)

From a trajectory get the noise.

Parameters:
xvaxarray dataset ([‘time’, ‘x’, ‘v’, ‘a’]) .

Use compute_va() or see its output for format details. Input trajectory to compute noise.

trunc_kernelint

Number of datapoint of the kernel to consider. Can be used to remove unphysical divergence of the kernel or shortten execution time.

evolve_volterra(G0, lenTraj, method='trapz', trunc_ind=None)

Evolve in time the integro-differential equation. This assume that the GLE is a linear GLE (i.e. the set of basis function is on the left and right of the equality)

Parameters:
G0array

Initial value of the correlation

lenTrajint

Length of the time evolution

methodstr, default=”trapz”

Method that is used to discretize the continuous Volterra equations

trunc_ind: int, default= self.trunc_ind

Truncate the length of the memory to this value

flux_from_volterra(corrs_force, corrs_kernel=None, force_coeff=None, kernel=None, method='trapz', trunc_ind=None)

From a solution of the Volterra equation, compute the flux term. That allow to compute decomposition of the flux

force_eval(x)[source]

Evaluate the force for the position dependent part only

friction_force_eval(x)[source]

Compute the term of friction, that should be zero

inv_mass_eval(x, coeffs=None, set_zero=True)

Compute free energy via integration of the mean force at points x. This assume that the effective mass is independent of the position. If coeffs is given, use provided coefficients instead of the force coefficients.

kernel_eval(x, coeffs_ker=None)

Evaluate the kernel at given points x. If coeffs_ker is given, use provided coefficients instead of the kernel

laplace_transform_kernel(s_start=0.0, s_end=None, n_points=None)

Compute the Laplace transform of the kernel matrix

classmethod load_model(basis, coeffs, **kwargs)

Create a model from a save

pmf_eval(x, coeffs=None, kT=1.0, set_zero=True)[source]

Compute free energy via integration of the mean force at points x. This assume that the effective mass is independent of the position. If coeffs is given, use provided coefficients instead of the force coefficients.

pmf_num_int_eval(x, kT=1.0, set_zero=True)

Compute free energy via integration of the mean force at points x. This take into accound the position dependent mass, but the integration is numeric

save_model()

Return DataSet version of the model than can be save to file