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 Selimov 624886bbe9
Initial commit with working atom and lattice type parsing
5 years ago
src Initial commit with working atom and lattice type parsing 5 years ago
.gitignore Initial commit 5 years ago
LICENSE Initial commit 5 years ago
README.md Initial commit with working atom and lattice type parsing 5 years ago
example.in Initial commit with working atom and lattice type parsing 5 years ago

README.md

CAC_Model_Builder

This is a tool for building models in CAC. Commands and usage options are below.

Flow of commands

op1=>operation: Define atom types and lattices to be used
op2=>operation: Define regions and build
op3=>operation: Define modifiers
op4=>operation: Output data files
op1->op2->op3->op4

Command syntax

Atom types command

atom_types num_atoms {name mass}

The parameters for the atoms command are:

num_atoms - number of atom types defined for this model building session

{} - indicate that the contents must be repeated num_atoms times.

name - Elemental name of atom

mass - mass of the atom

This command should only be called once, defining all atoms in one go. The atom types will then be defined in numeric order with the first atom defined being type one and the last one being type num_atoms.

Lattice command

lattice id lattice_type lattice_parameter [type atom_type] [basis num_basis_atoms {type posx posy posz}]

The parameters for the lattice command are:

id - User defined id for this lattice type

lattice_type - One of predefined lattice types which specifies the element type used. Current accepted options are: FCC

type - Optional keyword which defines the atom type used for the lattice. This is used in place of basis if atoms are at lattice positions in these elements.

atom_type - The atom type which corresponds to the atoms at the lattice positions of the current element

basis - Optional keyword which is used in order to define the basis atoms instead of using the default definition. If basis is not included the following commands also are not included.

num_basis_atoms are the number of basis atoms in this element.

{} - indicate that the contents must be repeated num_basis_atoms times.

type - the atom type of the atom.

posx posy posz - The position of the basis atom relative to the lattice point at (0,0,0)

Either type or basis keywords must be present in the lattice command, both cannot be used.

Region Command

region id lattice_id element_size units lenx leny lenz [zigzag] [origin x y z] [cat region_id dim [nomatch]] [orient [hkl] [hkl] [hkl]]

id - User defined id for this region

lattice_id - The lattice type for this region

element_size - The element size used for this region defined as the number of atoms per element edge. An element size of 2 means that this region is at full atomistic resolution.

units - Either lattice or box which adjusts how the length values are calculated. Units lattice means the region will consist of len number of elements for every dim. Units box are defined in angstroms.

lenx leny lenz - The lengths of the box in each dimension in the user defined units

zigzag - Optional keyword which specifies if regions built with elements should have filled in boundaries (using atoms). If zigzag isn't present then the regions are built with filled in boundaries by default

origin x y z - Optional keyword which specifies the origin of the current region in angstroms. The region boundaries are then (x, x+lenx), (y, y+leny), (z,z+lenz).

cat region_id outregionid dim [nomatch] - Optional keyword which stacks the current region on the face of another region defined by dim. region_id is the id of the region which is already build. outregionid is the user defined id of the combined stacked region which can be used with further merge commands. Default behavior is to expand the smallest region to match the larger one, using the optional keyword nomatch preserves the original regions and does not attempt to match the boundaries.

orient [hkl] [hkl] [hkl] simply orients the unit cell of this region. This defaults to [100] [010] [001]

Write command

write file_name

Self explanatory.