chfl_atom
type¶chfl_atom
¶A chfl_atom
is a particle in the current chfl_frame
.
All atoms have an atomic name; an atomic type; an atomic mass and an atomic charge.
The atomic name is usually an unique identifier (H1
, C_a
) while the
atomic type will be shared between all particles of the same type: H
,
Ow
, CH3
.
Type fields: |
|
---|
chfl_atom%
init
(name[, status])¶Initialize this atom with the given name
, and set the atom type to
name
. This subroutine allocate memory which must be released with
chfl_atom%free()
.
Parameters: | name [character(len=*)] :: atom name |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
copy
(atom[, status])¶Initialize this atom with a copy of atom
. This subroutine allocate
memory which must be released with chfl_atom%free()
.
Parameters: | atom [type(chfl_atom)] :: atom to copy |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
mass
([status])¶Get the mass of the atom in atomic mass units.
Return: | real |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
set_mass
(mass[, status])¶Set the mass of the atom to mass
. The value should be in atomic mass
units.
Parameters: | mass [real] :: new atom mass |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
charge
([status])¶Get the charge of the atom in number of the electron charge e.
Return: | real |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
set_charge
(charge[, status])¶Set the charge of the atom to charge
. The charge should be in number of
the electron charge e.
Parameters: | charge [real] :: new atom charge |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
name
([status])¶Get the name of an atom. If the name is longer than
CHFL_STRING_LENGTH
, it will be truncated.
Return: | character (len=CHFL_STRING_LENGTH) |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
set_name
(name[, status])¶Set the name of an atom to name
.
Parameters: | name [character(len=*)] :: new atom name |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
full_name
([status])¶Get the full name of an atom
from its type. If the name is longer than
CHFL_STRING_LENGTH
, it will be truncated.
Return: | character (len=CHFL_STRING_LENGTH) |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
type
([status])¶Get the type of an atom. If the name is longer than
CHFL_STRING_LENGTH
, it will be truncated.
Return: | character (len=CHFL_STRING_LENGTH) |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
set_type
(type[, status])¶Set the type of an atom to type
.
Parameters: | name [character(len=*)] :: new atom type |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
vdw_radius
([status])¶Get the Van der Waals radius of an atom from the atom type. If the radius in unknown, this function returns 0.
Return: | real |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
covalent_radius
([status])¶Get the covalent radius of an atom from the atom type. If the radius in
unknown, this function set radius
to 0.
Return: | real |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
atomic_number
([status])¶Get the atomic number of an atom from the atom type. If the atomic number in
unknown, this function set number
to 0.
Parameters: | integer |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
set
(name, property[, status])¶Add a new property
with the given name
to this atom.
If a property with the same name already exists, this function override the existing property with the new one.
property
can either be a chfl_property
, or any value that can
be stored in a chfl_property
: logical, real, string, or vector3d.
Parameters: |
|
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not |
chfl_atom%
get
(name[, status])¶Get a copy of the property with the given name
in this atom. If no
property exist with this name, status
will be set to
CHFL_PROPERTY_ERROR
.
The associated memory must be released by calling
chfl_property%free()
.
Return: | type (chfl_property) |
---|---|
Parameters: | name [character(len=*)] :: property name |
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
properties_count
([status])¶Get the number of properties in this atom.
Return: | integer |
---|---|
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
list_properties
(names[, status])¶Fill the pre-allocated array names
with the names of the properties in
this atom. The array must have room for chfl_atom%properties_count()
values of type character(len=CHFL_STRING_LENGTH)
.
Return: | integer |
---|---|
Parameters: | names (:) [character(len=CHFL_STRING_LENGTH)] :: list of properties names |
Options: | status [integer(chfl_status)] :: status code of the operation. If it
is not CHFL_SUCCESS , use chfl_last_error() to learn
more about the error. |
chfl_atom%
free
()¶Destroy an atom, and free the associated memory