[−][src]Crate lumol
Lumol is a classical molecular simulation engine that provides a solid base for developing new algorithms and methods.
Using Lumol, you can customize the behavior of all the algorithms in a simulation (from force fields to barostats and Monte Carlo moves).
Lumol goals are to be:
- Easy to extend: the code is modular, object-oriented, well documented, well tested, open-source and readable;
- Easy to use: the user interface is nice, with human-oriented input files;
- Stable: it will never crash on a good input, and provides helpful error messages.
Modules
consts | Useful physical constants, expressed in the internal unit system. |
energy | Interaction potentials for energy and forces computations |
input | This module provide a way to build a Lumol simulation using input files. |
sim | Type and algorithms for simulations |
sys | Representations of a simulated system |
types | This module provides complexe numbers; 3D vectors and matrix; and multidimensional arrays for use in all other modules. |
units | This module allow to convert from and to the internal unit system. |
Structs
Angle | An |
Array2 | Two dimensional tensors, based on ndarray. |
Array3 | Three dimensional tensors, based on ndarray |
Bond | A |
BondDistances | The |
Bonding | The basic building block for a topology. A |
BornMayerHuggins | Born-Mayer-Huggins potential. |
Buckingham | Buckingham potential. |
Complex | Complex number, with double precision real and imaginary parts. |
Composition | The system composition contains the number of particles of each kind in the system, as well as the number of molecules of each molecule type. |
Configuration | The |
CosineHarmonic | Cosine harmonic potential. |
Dihedral | A |
EnergyCache | This is a cache for energy computation. |
EnergyEvaluator | An helper struct to evaluate energy components of a system. |
Ewald | Ewald summation for coulombic interactions. |
Gaussian | Gaussian potential. |
Harmonic | Harmonic potential. |
Interactions | The |
LennardJones | Lennard-Jones potential. |
Matrix3 | A 3x3 square matrix type. |
Mie | Mie potential. |
Molecule | A Molecule associate some particles bonded together. |
MoleculeHash | A molecule hash allow to identify a molecule from its atoms and bonds, and to know wether two molecules are the same without checking each atom and bond. |
MoleculeIter | An iterator over all the molecules in a |
MoleculeIterMut | A mutable iterator over all the molecules in a |
MoleculeRef | An analog to [ |
MoleculeRefMut | An analog to [ |
Morse | Morse potential |
NullPotential | No-op potential. |
PairInteraction | A non-bonded interaction between two particle. |
Particle | The Particle type hold basic data about a particle in the system. It is self contained, so that it will be easy to send data between parallels processes. |
ParticleKind | A particle kind. Particles with the same name will have the same kind. This is used for faster potential lookup. |
ParticlePtr | An analog of a pointer to
|
ParticlePtrMut | An analog of a mutable pointer to
|
ParticleRef | A reference to a
|
ParticleRefMut | A mutable reference to a
|
ParticleSlice | A slice of
|
ParticleSliceMut | A mutable slice of
|
ParticleVec | An analog to |
Permutation | The |
RestrictionInfo | Restriction information attached to a pair of |
SharedEwald | Thread-sade wrapper around Ewald implementing |
System | The |
TableComputation | Computation of a potential using tabulated values. |
Torsion | Torsion potential. |
Trajectory | A Trajectory is a file containing one or more successive simulation steps. |
TrajectoryBuilder | A |
TrajectoryError | Error type for Chemfiles. |
UnitCell | An |
Vector3D | A 3-dimensional vector type |
Wolf | Wolf summation for coulombic interactions. |
Enums
BondPath | Shortest bond path between two particles in a system |
CellShape | The shape of a cell determine how we will be able to compute the periodic boundaries condition. |
DegreesOfFreedom | The number of degrees of freedom simulated in a given system |
OpenMode | Possible modes when opening a |
PairRestriction | Possible restrictions on the pair interactions. |
Statics
VERSION | The full version of the crate, containing git state if available |
Traits
AnglePotential | Marker trait for potentials that can be used for molecular angles. |
BondPotential | Marker trait for potentials that can be used for molecular bonds. |
Computation | Alternative energy and forces computation. |
CoulombicPotential | Electrostatic potential solver. |
DihedralPotential | Marker trait for potentials that can be used for molecular dihedral angles. |
GlobalCache | Energetic cache for global potentials. |
GlobalPotential | A potential acting on the whole System at once. |
PairPotential | Marker trait for potentials that can be used for non-bonded two body interactions. |
Potential | A potential for force and energy computations. |
Functions
get_atomic_mass | Get the mass of the element with the given atomic |
read_molecule | Read a the first molecule from the file at |