[]Struct lumol::sys::Configuration

pub struct Configuration {
    pub cell: UnitCell,
    // some fields omitted
}

The Configuration contains the physical data of the system:

Fields

Unit cell of the system

Methods

impl Configuration

Create a new empty Configuration

impl Configuration

Topology and particles related functions

Check if the particles at indexes i and j are in the same molecule

Important traits for MoleculeIter<'a>

Get an iterator over the molecules in the configuration.

Important traits for MoleculeIterMut<'a>

Get an iterator over the molecules in the configuration.

Get the molecule at index id

Get the molecule at index id

Get the index of the molecule containing the particle i

Get the length of the shortest bond path to go from the particle i to the particle j. If the particles are not in the same molecule, the length is -1. Else, this length is 0 if i == j, 1 if there is a bond between i and j, etc.

Remove the molecule at index i

Important traits for Vec<u8>

Add a bond between the particles at indexes i and j. The particles should have been added to the configuration before calling this.

Warning

If the bond is between two particles which are not in the same molecule, the two molecules are merged together by moving particles in the particles list, and thus invalidate any previously stored index. In particular, any bond, angle, dihedral or molecule is invalidated.

This function will return the list of atomic permutations that where applied in order to ensure that molecules are contiguous in memory.

Add a molecule to the configuration, putting the new particles at the end of the particles list

Get the number of particles in this configuration

Check if this configuration contains any particle

Return the center-of-mass of the configuration

Get the list of particles in this configuration, as a ParticleSlice.

Get the list of particles in this configuration, as a mutable ParticleSliceMut.

impl Configuration

UnitCell related functions

Get the distance between the particles at indexes i and j

Get the vector between the nearest image of particle j with respect to particle i.

Get the angle between the particles i, j and k

Get the angle and the derivatives of the angle between the particles i, j and k

Get the dihedral angle between the particles i, j, k and m

Get the dihedral angle and the derivatives of the dihedral angle between the particles i, j, k and m

Trait Implementations

impl Clone for Configuration

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Send for Configuration

impl Sync for Configuration

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Important traits for &'a mut R

Immutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Important traits for &'a mut R

Mutably borrows from an owned value. Read more

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more