Atom type and associated function

type Atom

An Atom is a particle in the current Frame.

An atom stores the following atomic properties:
  • atom name
  • atom type
  • atom mass
  • atom charge

The atom name is usually an unique identifier (“H1”, “C_a”) while the atom type will be shared between all particles of the same type: “H”, “Ow”, “CH3”.

function Atom(ptr::Ptr{lib.CHFL_ATOM})

An Atom is a particle in the current Frame.

An atom stores the following atomic properties:
  • atom name
  • atom type
  • atom mass
  • atom charge

The atom name is usually an unique identifier (“H1”, “C_a”) while the atom type will be shared between all particles of the same type: “H”, “Ow”, “CH3”.

function Atom(name::String)
Create an atom with the given name and set the atom type to be the same as name.
function Atom(frame::Frame, index::Integer)
Get a copy of the atom at the given index from a frame
function Atom(topology::Topology, index::Integer)
Get a copy of the atom at a given index from a topology
function deepcopy(atom::Atom)
Make a deep copy of an atom.
function mass(atom::Atom)

Get the mass of an atom.

The mass is given in atomic mass units.

function set_mass!(atom::Atom, mass)

Set the mass of an atom to mass.

The mass must be in atomic mass units.

function charge(atom::Atom)

Get the charge of an atom.

The charge is in number of the electron charge e.

function set_charge!(atom::Atom, charge)

Set the charge of an atom to charge.

The charge must be in number of the electron charge e.

function name(atom::Atom)
Get the name of an atom
function set_name!(atom::Atom, name::String)
Set the name of an atom to name.
function fullname(atom::Atom)

Get the full name of an atom from the atom type.

For example, the full name of an atom with type “He” is “Helium”.

function vdw_radius(atom::Atom)

Get the Van der Waals radius of an atom from the atom type.

If the radius can not be found, this function returns -1.

function covalent_radius(atom::Atom)

Get the covalent radius of an atom from the atom type.

If the radius can not be found, returns -1.

function atomic_number(atom::Atom)

Get the atomic number of an atom from the atom type.

If the atomic number can not be found, returns 0.

function atom_type(atom::Atom)
Get the type of an atom.
function set_atom_type!(atom::Atom, atom_type::String)
Set the type of an atom to type.
function property(atom::Atom, name::String)
Get a named property for the given atom.
function set_property!(atom::Atom, name::String, property)
Set a named property for the given atom.