exatomic.core.frame module

Frame Data

The primary “coordinate” for the atomic container (Universe) is the “frame”. The frame concept can be anything; time, step along a geometry optimization, different functional, etc. Each frame is distinguished from other frames by unique atomic coordinates, a different level of theory, etc.

class exatomic.core.frame.Frame(*args, **kwargs)[source]

Bases: DataFrame

Information about the current frame; a frame is a concept that distinguishes atomic coordinates along a molecular dynamics simulation, geometry optimization, etc.

Column

Type

Description

atom_count

int

non-unique integer (req.)

molecule_count

int

non-unique integer

ox

float

unit cell origin point in x

oy

float

unit cell origin point in y

oz

float

unit cell origin point in z

periodic

bool

true if periodic system

is_periodic(how='all')[source]

Check if any/all frames are periodic.

Parameters:

how (str) – Require “any” frames to be periodic (“all” default)

Returns:

result (bool) – True if any/all frame are periodic

is_variable_cell(how='all')[source]

Check if the simulation cell (applicable to periodic simulations) varies (e.g. variable cell molecular dynamics).

compute_cell_magnitudes()[source]

Compute the magnitudes of the unit cell vectors (rx, ry, rz).

orthorhombic()[source]
exatomic.core.frame.compute_frame(universe)[source]

Compute (minmal) Frame from Universe.

Parameters:

uni (Universe) – Universe with atom table

Returns:

frame (Frame) – Minimal frame table

exatomic.core.frame.compute_frame_from_atom(atom)[source]

Compute Frame from Atom (or related).

Parameters:

atom (Atom) – Atom table

Returns:

frame (Frame) – Minimal frame table