(git:e7e05ae)
negf_alloc_types.F
Go to the documentation of this file.
1 !--------------------------------------------------------------------------------------------------!
2 ! CP2K: A general program to perform molecular dynamics simulations !
3 ! Copyright 2000-2024 CP2K developers group <https://cp2k.org> !
4 ! !
5 ! SPDX-License-Identifier: GPL-2.0-or-later !
6 !--------------------------------------------------------------------------------------------------!
7 
8 ! **************************************************************************************************
9 !> \brief Allocatable vectors for NEGF based quantum transport calculations.
10 ! **************************************************************************************************
11 
13  USE kinds, ONLY: dp
14 #include "./base/base_uses.f90"
15 
16  IMPLICIT NONE
17  PRIVATE
18 
19  CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'negf_alloc_types'
20 
21  PUBLIC :: negf_allocatable_ivector, negf_allocatable_rvector, &
22  negf_allocatable_imatrix, negf_allocatable_rmatrix
23 
24 ! **************************************************************************************************
25 !> \brief Allocatable 1-D integer vector
26 ! **************************************************************************************************
27  TYPE negf_allocatable_ivector
28  !> allocatable 1-D real vector
29  INTEGER, ALLOCATABLE, DIMENSION(:) :: vector
30  END TYPE negf_allocatable_ivector
31 
32 ! **************************************************************************************************
33 !> \brief Allocatable 1-D real vector
34 ! **************************************************************************************************
35  TYPE negf_allocatable_rvector
36  !> allocatable 1-D real vector
37  REAL(kind=dp), ALLOCATABLE, DIMENSION(:) :: vector
38  END TYPE negf_allocatable_rvector
39 
40 ! **************************************************************************************************
41 !> \brief Allocatable 2-D integer matrix
42 ! **************************************************************************************************
43  TYPE negf_allocatable_imatrix
44  !> allocatable 2-D integer matrix
45  INTEGER, ALLOCATABLE, DIMENSION(:, :) :: matrix
46  END TYPE negf_allocatable_imatrix
47 
48 ! **************************************************************************************************
49 !> \brief Allocatable 2-D real matrix
50 ! **************************************************************************************************
51  TYPE negf_allocatable_rmatrix
52  !> allocatable 2-D real matrix
53  REAL(kind=dp), ALLOCATABLE, DIMENSION(:, :) :: matrix
54  END TYPE negf_allocatable_rmatrix
55 
56 END MODULE negf_alloc_types
Defines the basic variable types.
Definition: kinds.F:23
integer, parameter, public dp
Definition: kinds.F:34
Allocatable vectors for NEGF based quantum transport calculations.