| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | atom_i | first atom of the angle  | 
|||
| integer, | public | :: | atom_j | second atom of the angle  | 
|||
| integer, | public | :: | atom_k | third atom of the angle  | 
|||
| real(kind=dp), | public | :: | angle | equilibrium value of the angle  | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(angle_type), | intent(out) | :: | dest | |||
| class(angle_type), | intent(in) | :: | source | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(angle_type), | intent(out) | :: | dest | |||
| class(angle_type), | intent(in) | :: | source | 
    type :: angle_type
        !> first atom of the angle
        integer :: atom_i
        !> second atom of the angle
        integer :: atom_j
        !> third atom of the angle
        integer :: atom_k
        !> equilibrium value of the angle
        real(dp) :: angle
    contains
        procedure :: copy => copy_angle
        generic, public :: assignment(=) => copy
    end type angle_type