structure_type Derived Type

type, public :: structure_type

Structure representation


Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: bond(:,:)

Bond indices

real(kind=wp), public :: charge = 0.0_wp

Total charge

character(len=:), public, allocatable :: comment

Comment, name or identifier for this structure

integer, public, allocatable :: id(:)

Species identifier

type(structure_info), public :: info = structure_info()

Vendor specific structure annotations

real(kind=wp), public, allocatable :: lattice(:,:)

Lattice parameters

integer, public :: nat = 0

Number of atoms

integer, public :: nbd = 0

Number of bonds

integer, public :: nid = 0

Number of unique species

integer, public, allocatable :: num(:)

Atomic number for each species

type(pdb_data), public, allocatable :: pdb(:)

PDB atomic data annotations

logical, public, allocatable :: periodic(:)

Periodic directions

type(sdf_data), public, allocatable :: sdf(:)

SDF atomic data annotations

character(len=symbol_length), public, allocatable :: sym(:)

Element symbol for each species

integer, public :: uhf = 0

Number of unpaired electrons

real(kind=wp), public, allocatable :: xyz(:,:)

Cartesian coordinates, in Bohr


Source Code

   type :: structure_type

      !> Number of atoms
      integer :: nat = 0

      !> Number of unique species
      integer :: nid = 0

      !> Number of bonds
      integer :: nbd = 0

      !> Species identifier
      integer, allocatable :: id(:)

      !> Atomic number for each species
      integer, allocatable :: num(:)

      !> Element symbol for each species
      character(len=symbol_length), allocatable :: sym(:)

      !> Cartesian coordinates, in Bohr
      real(wp), allocatable :: xyz(:, :)

      !> Number of unpaired electrons
      integer :: uhf = 0

      !> Total charge
      real(wp) :: charge = 0.0_wp

      !> Lattice parameters
      real(wp), allocatable :: lattice(:, :)

      !> Periodic directions
      logical, allocatable :: periodic(:)

      !> Bond indices
      integer, allocatable :: bond(:, :)

      !> Comment, name or identifier for this structure
      character(len=:), allocatable :: comment

      !> Vendor specific structure annotations
      type(structure_info) :: info = structure_info()

      !> SDF atomic data annotations
      type(sdf_data), allocatable :: sdf(:)

      !> PDB atomic data annotations
      type(pdb_data), allocatable :: pdb(:)

   end type structure_type