1!--------------------------------------------------------------------------------------------------! 2! CP2K: A general program to perform molecular dynamics simulations ! 3! Copyright (C) 2000 - 2019 CP2K developers group ! 4!--------------------------------------------------------------------------------------------------! 5 6! ************************************************************************************************** 7!> \brief Allocatable vectors for NEGF based quantum transport calculations. 8! ************************************************************************************************** 9 10MODULE negf_alloc_types 11 USE kinds, ONLY: dp 12#include "./base/base_uses.f90" 13 14 IMPLICIT NONE 15 PRIVATE 16 17 CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'negf_alloc_types' 18 19 PUBLIC :: negf_allocatable_ivector, negf_allocatable_rvector, & 20 negf_allocatable_imatrix, negf_allocatable_rmatrix 21 22! ************************************************************************************************** 23!> \brief Allocatable 1-D integer vector 24! ************************************************************************************************** 25 TYPE negf_allocatable_ivector 26 !> allocatable 1-D real vector 27 INTEGER, ALLOCATABLE, DIMENSION(:) :: vector 28 END TYPE negf_allocatable_ivector 29 30! ************************************************************************************************** 31!> \brief Allocatable 1-D real vector 32! ************************************************************************************************** 33 TYPE negf_allocatable_rvector 34 !> allocatable 1-D real vector 35 REAL(kind=dp), ALLOCATABLE, DIMENSION(:) :: vector 36 END TYPE negf_allocatable_rvector 37 38! ************************************************************************************************** 39!> \brief Allocatable 2-D integer matrix 40! ************************************************************************************************** 41 TYPE negf_allocatable_imatrix 42 !> allocatable 2-D integer matrix 43 INTEGER, ALLOCATABLE, DIMENSION(:, :) :: matrix 44 END TYPE negf_allocatable_imatrix 45 46! ************************************************************************************************** 47!> \brief Allocatable 2-D real matrix 48! ************************************************************************************************** 49 TYPE negf_allocatable_rmatrix 50 !> allocatable 2-D real matrix 51 REAL(kind=dp), ALLOCATABLE, DIMENSION(:, :) :: matrix 52 END TYPE negf_allocatable_rmatrix 53 54END MODULE negf_alloc_types 55