mdsuite.calculators.angular_distribution_function module

MDSuite: A Zincwarecode package.

License

This program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html

SPDX-License-Identifier: EPL-2.0

Copyright Contributors to the Zincwarecode Project.

Contact Information

email: zincwarecode@gmail.com github: https://github.com/zincware web: https://zincwarecode.com/

Citation

If you use this module please cite us with:

Summary

Module to perform the calculation of the angular distribution function (ADF). The ADF describes the average distribution of angles between three particles of species a, b, and c. Note that a, b, and c may all be the same species, e.g. Na-Na-Na.

class mdsuite.calculators.angular_distribution_function.AngularDistributionFunction(**kwargs)[source]

Bases: TrajectoryCalculator, ABC

Compute the Angular Distribution Function for all species combinations.

batch_size

Number of batches, to split the configurations into.

Type:

int

n_minibatches

Number of minibatches for computing the angles to split each batch into

Type:

int

n_confs

Number of configurations to analyse

Type:

int

r_cut

cutoff radius for the ADF

Type:

float

start

Index of the first configuration

Type:

int

stop

Index of the last configuration

Type:

int

bins

bins for the ADF

Type:

int

use_tf_function

activate the tf.function decorator for the minibatches. Can speed up the calculation significantly, but may lead to excessive use of memory! During the first batch, this function will be traced. Tracing is slow, so this might only be useful for a larger number of batches.

Type:

bool, default False

Examples

experiment.run_computation.AngularDistributionFunction(n_confs = 100,

r_cut = 3.2, batch_size = 10, n_minibatches = 50, start = 0, stop = 200, bins = 100, use_tf_function = False)

check_input()[source]

Check the inputs and set defaults if necessary.

Return type:

Updates the class attributes.

plot_data(data)[source]

Plot data.

prepare_computation()[source]

Run steps necessary to prepare the computation for running.

run_calculator()[source]

Run the analysis.

class mdsuite.calculators.angular_distribution_function.Args(number_of_bins: int, number_of_configurations: int, correlation_time: int, atom_selection: <numpy.lib.index_tricks.IndexExpression object at 0x7f811e5ba760>, data_range: int, cutoff: float, start: int, norm_power: ~typing.Union[int, float], stop: int, species: list, molecules: bool)[source]

Bases: object

Data class for the saved properties.

atom_selection: <numpy.lib.index_tricks.IndexExpression object at 0x7f811e5ba760>
correlation_time: int
cutoff: float
data_range: int
molecules: bool
norm_power: Union[int, float]
number_of_bins: int
number_of_configurations: int
species: list
start: int
stop: int