You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Alex f0665ce3ef
Add installation instructions
4 years ago
src Working shift command for merge 4 years ago
.gitignore Initial commit 5 years ago
INSTALL.md Add installation instructions 4 years ago
LICENSE Initial commit 5 years ago
README.md Actual dislocation loop generation algorithm alongside dislgen command 4 years ago

README.md

CAC_Model_Builder

This is a tool for building models in CAC. Commands and usage options are below. This code is intended to follow the atomsk code fairly closely.

Modes

The modes follow similarly to the modes you find when using atomsk. The modes will be listed below alongside their syntax and other usage instructions. As a note, if a mode is being used then it has to come first.

Mode Create

cacmb --create name element_type lattice_parameter esize

Mode create has the following parameters:

name - User defined name that either defines the atom type or the lattice type if using the basis option

element_type - Specifies which element type to use, this dictates the crystal being build. Current acceptable options for element_type are:

  • FCC - Uses the Rhombohedral primitive fcc unit cell as the finite element.

lattice_parameter - The lattice parameter for the crystal structure.

esize - Number of atoms per edge of the finite element. A value of 2 signifies full atomistic resolution and is the lowest number acceptable.

Example

cacmb --create Cu fcc 3.615 11

Creates a copper element with a lattice parameter of 3.615 with 11 atoms per side

Optional keywords

Orient

orient [hkl] [hkl] [hkl]

Default orientation is [100] [010] [001]. If this keyword is present then the user must provide the orientation matrix in form [hkl] [hkl] [hkl].

Example: orient [-112] [110] [-11-1]

Basis

basis num atom_name x y z

Default basis has atom_name = name with position (0,0,0). If used then the atom_name x y z must be include num times.

Example: basis 2 Mg 0 0 0 Mg 0.5 0.288675 0.81647

Duplicate

duplicate numx numy numz

Default duplicate is 1 1 1. This is used to replicate the element along each dimensions. This cannot be used if the keyword dimensions is included. By default jagged edges along boundaries are filled if duplicate is greater than 1 1 1.

Example: duplicate 10 10 10

Dimensions

dimensions dimx dimy dimz

There is no default dimensions as duplicate is the default option. This command assigns a box with user-assigned dimensions and fills it with the desired element. By default atoms fill in the jagged edges at the boundaries if the dimensions command is included.

Example: dimensions 100 100 100

ZigZag

zigzag boolx booly boolz

Default zigzag is f f f. This command specifies whether a boundary should be left jagged (i.e. in essence not filled in). If boolx is t than the x dimension is left jagged and if it is f then the x dimension is filled.

Example: zigzag t f t gives a box with jagged edges in the x and z and filled edges in the y.

Origin

origin x y z

Default origin is 0 0 0. This command just sets the origin for where the simulation cell starts building.

Example: origin 10 0 1

Mode Convert

cacmb --convert infile outfile

This mode converts a file infile to a file of outfile. The extensions determine the conversion process.

Mode Merge

cacmb --merge dim N infiles outfile

This mode merges multiple data files and creates one big simulation cell. The parameters are:

N - The number of files which are being read

dim - the dimension they are to be stacked along, can be either x, y, or z. If the argument none is passed then the cells are just overlaid. Future options will include a delete overlap command.

Options

Options are additional portions of code which have additional functionality. Options are performed in the order that they appear in the argument list and can be added to any mode. If wanting to use strictly options use --convert to specify input and output files.

Option dislgen

-dislgen [ijk] [hkl] x y z char_angle poisson 

This options adds an arbitrarily oriented dislocation into your model based on user inputs using the volterra displacement fields. The options are below

[ijk] - The vector for the line direction

[hkl] - The vector for the slip plane

x y z - The position of the dislocation centroid

char_angle - Character angle of the dislocation (0 is screw and 90 is edge)

poisson - Poisson's ratio used for the displacement field.

Option disloop

-disloop loop_normal radius x y z bx by bz poisson

This option deletes vacancies on a plane which when minimized should result in a dislocation loop structure. The arguments are below:

dim - The box dimension which defines the normal to the loop plane. As of now this dimension must be a closed back direction, meaning that for fcc a box dimension has to be of the (111) family of planes. Either x, y, or z.

n - The number of atoms to delete on the loop plane

x y z - The centroid of the loop.

bx by bz - The burgers vector for the dislocation

poisson - Poisson ratio for continuum solution