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

Module for generating the shapes after lattice is constructed. More...

Functions/Subroutines

subroutine, public lcc_bravais_growth (nCycles, dTol, dTo, tCoordination, seed_file, r_inout)
 For "growing" a crystal shape using Bravias type of growth teory. More...
 
subroutine, public lcc_plane_cut (planes, ploads, interPlanarDistances, lattice_vectors, cluster_lattice_vectors, resindex, r_inout, verbose)
 Cutting a shape based on Miller planes. More...
 
subroutine lcc_build_slab (slab, sloads, lattice_vectors, cluster_lattice_vectors, resindex, r_inout, verbose)
 Cutting a shape based on PBC vectors. More...
 
subroutine, public lcc_add_randomness_to_coordinates (r_inout, seed, rcoeff)
 Will add randomness to the system. More...
 

Detailed Description

Module for generating the shapes after lattice is constructed.

Function/Subroutine Documentation

◆ lcc_add_randomness_to_coordinates()

subroutine, public lcc_build_mod::lcc_add_randomness_to_coordinates ( real(dp), dimension(:,:), intent(inout), allocatable  r_inout,
integer, intent(in)  seed,
real(dp), intent(in)  rcoeff 
)

Will add randomness to the system.

Parameters
r_inoutSystem coordinates.
lattice_vectorsLattice vectors.
seedRandom seed. rcoeff Coefficient for randomness.

◆ lcc_bravais_growth()

subroutine, public lcc_build_mod::lcc_bravais_growth ( integer, intent(in)  nCycles,
real(dp), intent(in)  dTol,
real(dp), intent(in)  dTo,
integer, intent(in)  tCoordination,
character(len=*), intent(in)  seed_file,
real(dp), dimension(:,:), intent(inout), allocatable  r_inout 
)

For "growing" a crystal shape using Bravias type of growth teory.

Parameters
nCyclesNumber of shells to add.
dTolTolerance for distinguising the coordinates from the seed to the coodinates from the bulk.
dToParameter to determine the coordination the incoming atom.
tCoordinationTarget coordination. If coodination is larger than the target, the atom will be picked.
seed_fileName of the file containing the seed.
r_inoutInput: Bulk lattice, Output: Crystal shape.
Todo:
Optimize the routine.

◆ lcc_build_slab()

subroutine lcc_build_mod::lcc_build_slab ( real(dp), dimension(:,:), intent(in), allocatable  slab,
real(dp), dimension(:), intent(in), allocatable  sloads,
real(dp), dimension(:,:), intent(inout), allocatable  lattice_vectors,
real(dp), dimension(:,:), intent(inout), allocatable  cluster_lattice_vectors,
integer, dimension(:), allocatable  resindex,
real(dp), dimension(:,:), intent(inout), allocatable  r_inout,
integer, intent(in)  verbose 
)

Cutting a shape based on PBC vectors.

A set of PBC vectors and distances is provided.

Parameters
planesList of planes to cut the shape with.
ploadsDistance from the origin to locate the plane.
interPlanarDistanceUse "interplanar distances" as measure for the cut.
lattice_vectorsLattice vectors.
cluster_lattice_vectorsLattice vectors of the shape. Note: this only makes sense if the planes make a parellelepiped.
r_inoutCoordinates in and out.
verboseVerbosity level.

◆ lcc_plane_cut()

subroutine, public lcc_build_mod::lcc_plane_cut ( real(dp), dimension(:,:), intent(in), allocatable  planes,
real(dp), dimension(:), intent(in), allocatable  ploads,
logical, intent(in)  interPlanarDistances,
real(dp), dimension(:,:), intent(inout), allocatable  lattice_vectors,
real(dp), dimension(:,:), intent(inout), allocatable  cluster_lattice_vectors,
integer, dimension(:), allocatable  resindex,
real(dp), dimension(:,:), intent(inout), allocatable  r_inout,
integer, intent(in)  verbose 
)

Cutting a shape based on Miller planes.

A set of panes and distances is provided.

Parameters
planesList of planes to cut the shape with.
ploadsDistance from the origin to locate the plane.
interPlanarDistanceUse "interplanar distances" as measure for the cut.
lattice_vectorsLattice vectors.
cluster_lattice_vectorsLattice vectors of the shape. Note: this only makes sense if the planes make a parellelepiped.
r_inoutCoordinates in and out.
verboseVerbosity level.