mbd_utils Module

Utility types, interfaces, and procedures.



Contents


Derived Types

type, public :: exception_t

Represents an exception.

Components

TypeVisibility AttributesNameInitial
integer, public :: code =0
character(len=50), public :: origin ='(unknown)'
character(len=150), public :: msg =''

type, public :: result_t

Stores results from an MBD calculation

Components

TypeVisibility AttributesNameInitial
real(kind=dp), public :: energy
type(grad_t), public :: dE
real(kind=dp), public, allocatable:: mode_eigs(:)
real(kind=dp), public, allocatable:: modes(:,:)
real(kind=dp), public, allocatable:: rpa_orders(:)
real(kind=dp), public, allocatable:: mode_eigs_k(:,:)
complex(kind=dp), public, allocatable:: modes_k(:,:,:)
complex(kind=dp), public, allocatable:: modes_k_single(:,:)
real(kind=dp), public, allocatable:: rpa_orders_k(:,:)
real(kind=dp), public, allocatable:: alpha_0(:)
real(kind=dp), public, allocatable:: C6(:)

type, public :: atom_index_t

Maps from atom indexes to positions in matrices.

Components

TypeVisibility AttributesNameInitial
integer, public, allocatable:: i_atom(:)
integer, public, allocatable:: j_atom(:)
integer, public :: n_atoms
logical, public :: parallel

type, public :: clock_t

Used for measuring performance.

Components

TypeVisibility AttributesNameInitial
logical, public :: active =.true.
integer, public :: level =0
integer(kind=i8), public, allocatable:: timestamps(:)
integer(kind=i8), public, allocatable:: counts(:)
integer, public, allocatable:: levels(:)

Type-Bound Procedures

procedure, public :: init => clock_init
procedure, public :: clock => clock_clock
procedure, public :: print => clock_print

type, public :: quad_pt_t

Represents a 1D quadrature point

Components

TypeVisibility AttributesNameInitial
real(kind=dp), public :: val
real(kind=dp), public :: weight