This program initializes the pattern file with pre-defined patterns
corresponding to the hcp, bcc, and fcc structure.
This pattern file can then be with the program
displacement
to define the reference crystallographic patterns,
so as to extract the elastic strain, the Nye tensor,
or the dislocation densities from a strained structure.
A crystallographic pattern corresponds to the number of neighbours
of an atom (inside a sphere defined by a cutoff radius)
and to the positions of these neighbours.
Perfect BCC and FCC structures have only one pattern,
whereas perfect HCP structure has two patterns.
Patterns corresponding to common stacking faults can also be defined.
Execution:
=========
patternInput input.dat
where input.dat is the input file
If input.dat="-", the input is read from current unit (keyboard or piped other command like echo)
Structure of the input file:
===========================
The input file contains only the namelist input
&input
...
//
crystal
↑
(type: string ,
default: "" ,
mandatory: yes )
Defines crystal type to look for corresponding patterns
crystal='hcp'
hcp crystal lattice with x // [1-210] , y // [10-10] , z // [0001]
crystal='fcc'
not implemented yet
crystal='bcc'
bcc crystal lattice with x // [-1-12] , y // [1-10] , z // [111]
See also: alat
,
coa
alat
↑
coa
↑
addHcpBasalFault
↑
(type: logical ,
default: .false. ,
mandatory: no )
When crystal='hcp', add the 2 patterns defining basal stacking faults,
i.e. fcc ABC and ACB stacking.
See also: crystal
addHcpPy1Fault
↑
(type: logical ,
default: .false. ,
mandatory: no )
When crystal='hcp', add the 4 patterns defining stacking faults
in first order pyramidal planes.
Only two stacking faults are defined, with fault plane (10-11) or (-1011)
and fault vector 1/6 [1-210] (plus a small orthogonal component)
See also: crystal
addHcpPrismFault
↑
(type: logical ,
default: .false. ,
mandatory: no )
When crystal='hcp', add the 2 patterns defining prismatic stacking faults.
Only one prismatic fault is defined, with fault plane (10-10)
and fault vector 1/6 [1-210]
See also: crystal
addHcpPy1Twin
↑
(type: logical ,
default: .false. ,
mandatory: no )
When crystal='hcp', add the 24 patterns corresponding to the twinned crystal
for the 12 different 1st order pyramidal twin planes.
See also: crystal
addHcpPy1TB
↑
(type: logical ,
default: .false. ,
mandatory: no )
When crystal='hcp', add the 24 patterns corresponding to the twin boundary
for the 12 different 1st order pyramidal twin planes.
There are 4 different patterns for each twin boundary, but the twinned crystals
related by a mirror symmetry in the basal plane have the same patterns.
See also: crystal
rotate
↑
(type: logical ,
default: .false. ,
mandatory: no )
If rotate=.true., the patterns are rotated using rotation matrix defined in rot(1:3,1:3)
See also: rot
rot
↑
patternFile
↑
(type: character string ,
default: empty ,
mandatory: no )
If it is defined, the patterns are saved in the file whose name is given by patternFile.
This file can then be read by program displacement.
verbosity
↑
(type: integer ,
default: 4 ,
mandatory: no )
Integer values defining amount of information on output unit.
verbosity=0: no output
verbosity=4: normal output
verbosity>=10: debugging
debug
↑
(type: logical ,
default: .false ,
mandatory: no )
For debug purpose.