LCC  1. 0. 0.
Crystal cutting code
Functions/Subroutines
lcc_aux_mod Module Reference

Module for auxiliary operations routines. More...

Functions/Subroutines

subroutine, public lcc_vectors_to_parameters (lattice_vector, abc_angles, verbose)
 Transforms the lattice vectors into lattice parameters. More...
 
subroutine, public lcc_parameters_to_vectors (abc_angles, lattice_vector, verbose)
 Transforms the lattice parameters into lattice vectors. More...
 
subroutine, public lcc_get_coordination (r_at, r_env, thresh, cnum)
 Get the coordination of an atom. More...
 
subroutine, public lcc_canonical_basis (lattice_vectors, r_inout, verbose)
 To "canonical base" transformation. More...
 
subroutine, public lcc_center_at_box (lattice_vectors, r_inout, verbose)
 Cetering the system inside the lattice box. More...
 
subroutine, public lcc_center_at_origin (r_inout, verbose)
 Cetering the system at the origin. More...
 
real(dp) function, dimension(:,:), allocatable inv (A)
 Computes the inverse of a matrix using an LU decomposition. More...
 
subroutine, public lcc_get_reticular_density (lattice_vectors, hkl_in, density)
 Get the reticular density of a particular hkl face: This soubroutine computes: More...
 
real(dp) function, dimension(:), allocatable crossprod (r1, r2)
 
subroutine, public lcc_get_geometriccenter (r_inout, geomCent)
 

Detailed Description

Module for auxiliary operations routines.

Function/Subroutine Documentation

◆ inv()

real(dp) function, dimension(:,:), allocatable lcc_aux_mod::inv ( real(dp), dimension(:,:), intent(in)  A)

Computes the inverse of a matrix using an LU decomposition.

Parameters
Anxn Matrix to be inverted.
AinvInverse of matrix A

◆ lcc_canonical_basis()

subroutine, public lcc_aux_mod::lcc_canonical_basis ( real(dp), dimension(:,:), intent(inout), allocatable  lattice_vectors,
real(dp), dimension(:,:), intent(inout), allocatable  r_inout,
integer, intent(in)  verbose 
)

To "canonical base" transformation.

This will reorient the shape/slab so that the first translation vector is alligned with x.

Parameters
lattice_vectorsTranslation vectors for the shape/slab.
r_inoutCoordinates to be transformed.
verboseVerbosity level.

◆ lcc_center_at_box()

subroutine, public lcc_aux_mod::lcc_center_at_box ( real(dp), dimension(:,:), intent(in), allocatable  lattice_vectors,
real(dp), dimension(:,:), intent(inout), allocatable  r_inout,
integer, intent(in)  verbose 
)

Cetering the system inside the lattice box.

This will move the coordinates so that the geometric center of the system is at the center of the box.

Parameters
lattice_vectorsTranslation vectors for the shape/slab.
r_inoutCoordinates to be transform.
verboseVerbosity level.

◆ lcc_center_at_origin()

subroutine, public lcc_aux_mod::lcc_center_at_origin ( real(dp), dimension(:,:), allocatable  r_inout,
integer, intent(in)  verbose 
)

Cetering the system at the origin.

This will move the coordinates so that the geometric center of the system is at (0,0,0).

Parameters
r_inoutCoordinates to be transform.
verboseVerbosity level.

◆ lcc_get_coordination()

subroutine, public lcc_aux_mod::lcc_get_coordination ( real(dp), dimension(3), intent(in)  r_at,
real(dp), dimension(:,:), intent(in), allocatable  r_env,
real(dp), intent(in)  thresh,
integer, intent(inout)  cnum 
)

Get the coordination of an atom.

Will count how many atoms are around a particular atom (coordination number) given a set radius.

Parameters
r_atCoodinates of the atom for which we need the coordination.
r_envCoordinated of the environment sorounding atom at r_at.
thresThreshod distance to find coordinations.
cnumCoordination number (output).

◆ lcc_get_reticular_density()

subroutine, public lcc_aux_mod::lcc_get_reticular_density ( real(dp), dimension(:,:), intent(in)  lattice_vectors,
real(dp), dimension(:), intent(in)  hkl_in,
real(dp), intent(out)  density 
)

Get the reticular density of a particular hkl face: This soubroutine computes:

Parameters
lattice_vectorsLattice vectors for the system.
hkl_inVector containing h, k, and l.
densityReticular density.

◆ lcc_parameters_to_vectors()

subroutine, public lcc_aux_mod::lcc_parameters_to_vectors ( real(dp), dimension(2,3), intent(in)  abc_angles,
real(dp), dimension(3,3), intent(out)  lattice_vector,
integer, intent(in)  verbose 
)

Transforms the lattice parameters into lattice vectors.

Parameters
abc_angles2x3 array containing the lattice parameters. abc_angles(1,1) = a, abc_angles(1,2) = b, and abc_angles(1,3) = c abc_angles(2,1) = $ \alpha $ , abc_angles(2,2) = $ \beta $ and abc_angles(2,3) = $ \gamma $
lattice_vector3x3 array containing the lattice vectors. lattice_vector(1,:) = $ \overrightarrow{a} $
verboseVerbosity level.

◆ lcc_vectors_to_parameters()

subroutine, public lcc_aux_mod::lcc_vectors_to_parameters ( real(dp), dimension(3,3), intent(in)  lattice_vector,
real(dp), dimension(2,3), intent(out)  abc_angles,
integer, intent(in)  verbose 
)

Transforms the lattice vectors into lattice parameters.

Parameters
lattice_vector3x3 array containing the lattice vectors. lattice_vector(1,:) = $ \overrightarrow{a} $
abc_angles2x3 array containing the lattice parameters. abc_angles(1,1) = a, abc_angles(1,2) = b and abc_angles(1,3) = c abc_angles(2,1) = $ \alpha $, abc_angles(2,2) = $ \beta $, and abc_angles(2,3) = $ \gamma $.
verboseVerbosity level.