Geometry Module

class geometricmd.geometry_pbc.Curve(start_point, end_point, number_of_nodes, energy)[source]
The curve class that is part of the geometry_pbc module is a Child object of the curve class in the geometry module.
It extends provides all of the functionality of its parent class, however has additional attributes to handle

cell behaviour.

The purpose of this object is to provide a Curve object with a custom iterator allowing for the Birkhoff algorithm to be applied.

In addition to the attributes of the parent class the following additional attributes are provided.



A NumPy array describing the first point in the curve.



A NumPy array describing the last point in the curve.



A ‘tangent’ matrix allowing for the code to estimate the cell shapes for intermediate configurations.



A list of cell configurations corresponding to each molecular configuration.

__init__(start_point, end_point, number_of_nodes, energy)[source]

The constructor for the Curve class.

  • start_point (ase.atoms) – An ASE atoms object describing the initial state. A calculator needs to be set on this object.
  • end_point (ase.atoms) – An ASE atoms object describing the final state.
  • number_of_nodes (int) – The number of nodes that the curve is to consist of, including the start and end points.
  • energy (float) – The total Hamiltonian energy to be used in the simulation.
set_node_position(node_number, new_position, new_cell)[source]

Override the set_node_position method of the parent class to handle updating new cell configurations.

  • node_number (int) – The node number of the node whose position is to be updated.
  • new_position (numpy.array) – The new position of the node.
  • new_cell (numpy.array) – The new cell shape for the node.


[Sutton2013]Microscopic Hamiltonian Systems and their Effective Description, Daniel C. Sutton, 2013.