(git:3add494)
negf_vectors Module Reference

Routines to deal with vectors in 3-D real space. More...

Functions/Subroutines

subroutine, public contact_direction_vector (origin, direction_vector, origin_bias, direction_vector_bias, atomlist_screening, atomlist_bulk, subsys)
 compute direction vector of the given contact More...
 
pure real(kind=dp) function, public projection_on_direction_vector (vector, vector0)
 project the 'vector' onto the direction 'vector0'. Both vectors should have the same origin. More...
 

Detailed Description

Routines to deal with vectors in 3-D real space.

Function/Subroutine Documentation

◆ contact_direction_vector()

subroutine, public negf_vectors::contact_direction_vector ( real(kind=dp), dimension(3), intent(out)  origin,
real(kind=dp), dimension(3), intent(out)  direction_vector,
real(kind=dp), dimension(3), intent(out)  origin_bias,
real(kind=dp), dimension(3), intent(out)  direction_vector_bias,
integer, dimension(:), intent(in)  atomlist_screening,
integer, dimension(:), intent(in)  atomlist_bulk,
type(qs_subsys_type), pointer  subsys 
)

compute direction vector of the given contact

Parameters
originorigin
direction_vectordirection vector
origin_biasorigin which will be used to apply the external bias (in contrast with 'origin' it does not include screening region)
direction_vector_biasdirection vector which will be used to apply the external bias (together with 'origin_bias' it defines a contact region where the external potential is kept constant)
atomlist_screeningatoms belonging to the contact's screening region
atomlist_bulkatoms belonging to the contact's bulk region
subsysQuickStep subsystem
Author
Sergey Chulkov

Definition at line 42 of file negf_vectors.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ projection_on_direction_vector()

pure real(kind=dp) function, public negf_vectors::projection_on_direction_vector ( real(kind=dp), dimension(3), intent(in)  vector,
real(kind=dp), dimension(3), intent(in)  vector0 
)

project the 'vector' onto the direction 'vector0'. Both vectors should have the same origin.

Parameters
vectorvector to project
vector0direction vector
Returns
projection (in terms of the direction vector's length)
Author
Sergey Chulkov
Note
& vector / / / *—|---—> vector0 l = proj * | vector0 |

Definition at line 133 of file negf_vectors.F.

Here is the caller graph for this function: