Line data Source code
1 : !--------------------------------------------------------------------------------------------------!
2 : ! CP2K: A general program to perform molecular dynamics simulations !
3 : ! Copyright 2000-2025 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 :
12 : MODULE negf_alloc_types
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 integer 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 0 : END MODULE negf_alloc_types
|