INitial commit of CAC code
This commit is contained in:
commit
c8be709be9
66 changed files with 16539 additions and 0 deletions
22
docs/Commands/boundary.md
Normal file
22
docs/Commands/boundary.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
# boundary
|
||||
|
||||
```sh
|
||||
boundary xyz
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`xyz` - string describing the boundary conditions in which `x`, `y`, and `z` can have values of either `p` for periodic or `s` for shrink-wrapped.
|
||||
|
||||
## Examples
|
||||
|
||||
```sh
|
||||
boundary ppp
|
||||
boundary sps
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
Boundary sets the boundary conditions of the model being either periodic or shrink-wrapped.
|
||||
Because boundary data is included within the restart file format, this command is not strictly required.
|
||||
If included this command will override the boundary conditions defined within the data file.
|
23
docs/Commands/dump.md
Normal file
23
docs/Commands/dump.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
# dump
|
||||
|
||||
```sh
|
||||
dump id group style n fname
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`id` - id for dump command
|
||||
|
||||
`group` - group to be dumped
|
||||
|
||||
`style` - dump style, currently only accepts `out`
|
||||
|
||||
`n` - dump every `n` steps. If `n` is `0` then the dump file is only written at the beginning and end of a minimize or run.
|
||||
|
||||
`fname` - file name to write to. Will strip extensions and replace with the timestep and .out.
|
||||
|
||||
## Example
|
||||
|
||||
```
|
||||
|
||||
```
|
52
docs/Commands/group.md
Normal file
52
docs/Commands/group.md
Normal file
|
@ -0,0 +1,52 @@
|
|||
# group
|
||||
|
||||
```sh
|
||||
group id selection shape ...
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`id` - assigned id for the group.
|
||||
|
||||
`selection` - either `atoms`, `elements`, or `all`.
|
||||
|
||||
`shape` - either `block`, `sphere`, or `type`.
|
||||
|
||||
**Additional arguments depend on the group shape passed and are listed below:**
|
||||
|
||||
```sh
|
||||
group id selection block xlo xhi ylo yhi zlo zhi
|
||||
```
|
||||
where `{x,y,z}lo` are the lower bounds along `x,y,z` and `{x,y,z}hi` are the upper bounds along `x,y,z`.
|
||||
|
||||
```sh
|
||||
group id selection sphere x y z r
|
||||
```
|
||||
where `x y z` define the centroid of the sphere and `r` defines the radius of the sphere.
|
||||
|
||||
```sh
|
||||
group id selection type n
|
||||
```
|
||||
where `n` is a number which selects the `n`th atom type.
|
||||
|
||||
## Examples
|
||||
```sh
|
||||
group tophalf all block -inf inf -inf inf inf*0.5 inf
|
||||
group precip atoms sphere 100 78 78 10
|
||||
group Ni atoms type 2
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
The group option is used in conjunction with other commands which require a group input.
|
||||
**A default `all` group is defined which contains all atoms and elements.**
|
||||
A subsection of all atoms or elements can be selected using the group command.
|
||||
`id` is used to refer to the group in other commands.
|
||||
`selection` determines which element types are selected within the group.
|
||||
A group can be defined containing only `atoms`, `elements`, or `both`.
|
||||
If element types are within the bounds of the group but are not specified with `selection` they are not defined as members of the group.
|
||||
|
||||
All positions for the group command can be specified using position specifications described [here](../Misc/position.md).
|
||||
|
||||
|
||||
|
25
docs/Commands/min_style.md
Normal file
25
docs/Commands/min_style.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
# min_style
|
||||
|
||||
```sh
|
||||
min_style minimizer
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`minimizer` - Either `fire` or `cg`.
|
||||
|
||||
## Examples
|
||||
|
||||
```sh
|
||||
min_style fire
|
||||
min_style cg
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
This code sets the minimizer for future `minimize` commands.
|
||||
Currently CAC has implemented both conjugate gradient minimization, `cg`, and the fast inertial relaxation engine [1], `fire`.
|
||||
|
||||
## References
|
||||
|
||||
[1] Guénolé, Julien et al. "Assessment and optimization of the fast inertial relaxation engine (fire) for energy minimization in atomistic simulations and its implementation in lammps" Computational Materials Science (2020)
|
31
docs/Commands/minimize.md
Normal file
31
docs/Commands/minimize.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
# minimize
|
||||
|
||||
```sh
|
||||
minimize ftol etol max_iter
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`ftol` - force tolerance
|
||||
|
||||
`etol` - energy tolerance
|
||||
|
||||
`max_iter` - maximum number of iterations to calculate before exiting.
|
||||
|
||||
## Examples
|
||||
|
||||
```sh
|
||||
minimize 10d-10 10d-10 10000
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
The minimize command is used to perform energy minimization on the CAC model.
|
||||
The minimization method is chosen by the [min_style](./min_style.md) command.
|
||||
Minimization is considered to be complete under the following conditions:
|
||||
|
||||
1. \( \frac{(E_i - E_{i-1})}{E_i} < etol \), where \( i \) is the current iteration.
|
||||
2. No atom has a force component greater than `ftol`
|
||||
3. The number of iterations is greater than `max_iter`
|
||||
|
||||
|
21
docs/Commands/neighbor.md
Normal file
21
docs/Commands/neighbor.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# neighbor
|
||||
|
||||
```sh
|
||||
neighbor skin
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`skin` - The skin distance in angstrom added to the cutoff radius for construction of verlet lists.
|
||||
|
||||
## Examples
|
||||
|
||||
```sh
|
||||
neighbor 1.5
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
This command specifies the additional skin distance which is used when constructing the verlet neighbor lists.
|
||||
When an atom has moved greater than the half of the skin distance, then the neighbor lists are reconstructed.
|
||||
|
29
docs/Commands/potential.md
Normal file
29
docs/Commands/potential.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# potential
|
||||
|
||||
```sh
|
||||
potential pot_type file elements ...
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`pot_type` - Potential type, currently accepts either "eam" for setfl formatted eam/alloy potentials, or "fs" for eam finnis sinclair style potentials.
|
||||
`file` - Potential file, currently only accepts .eam.alloy style potential files
|
||||
|
||||
`elements ...` - List of atomic elements mapping the atom type number to atomic species. Can be excluded resulting in mapping atomic types based on ordering within the potential file.
|
||||
|
||||
## Examples
|
||||
|
||||
```sh
|
||||
potential CuNi.eam.alloy Ni Cu
|
||||
potential Cu_mishin1.eam.alloy
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
This command specifies the potential information.
|
||||
**Currently only .eam.alloy style potentials are accepted.**
|
||||
The `elements ...` portion of the code is used to map the numeric atom type to the potential file.
|
||||
For the first example, `Ni Cu` maps atoms with type 1 to Ni and atoms with type 2 to Cu.
|
||||
Inputting `Cu Ni` would instead reverse the order and map atoms with type 1 to Cu and vice-versa.
|
||||
This can be excluded, as in the second example.
|
||||
If the CuNi.eam.alloy file is ordered with Ni first and Cu second, then `potential CuNi.eam.alloy Ni Cu` is equivalent to `potential CuNi.eam.alloy`.
|
24
docs/Commands/read_data.md
Normal file
24
docs/Commands/read_data.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
# read_data
|
||||
|
||||
```
|
||||
read_data filename
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`filename` - Input file to be read in restart format.
|
||||
|
||||
## Examples
|
||||
|
||||
```sh
|
||||
read_data model_1.restart
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
Model building capabilities are not included into the CAC simulation tool.
|
||||
Instead the [CAC model builder (CACmb)](https://gitlab.com/aselimov/cacmb) must be used to create models in the .restart format.
|
||||
The read_data command reads in one .restart formatted data file and distributes the model across all processors.
|
||||
|
||||
|
||||
|
10
docs/Commands/run.md
Normal file
10
docs/Commands/run.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
# run
|
||||
```sh
|
||||
run ensemble timesteps
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`ensemble` - currently either `nve` or `qd`.
|
||||
|
||||
`timesteps` - The number of timesteps to run of dynamics
|
9
docs/Commands/setforce.md
Normal file
9
docs/Commands/setforce.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# setforce
|
||||
|
||||
```
|
||||
setforce group_id fx fy fz
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`group_id` - id for student
|
26
docs/Commands/temp.md
Normal file
26
docs/Commands/temp.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
# temp
|
||||
|
||||
```sh
|
||||
temp command group_id args
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`command` - Command for temp option, either `create` or `control`.
|
||||
|
||||
`group_id` - Group id to apply temperature control to
|
||||
|
||||
**Additional arguments depend on the command passed and are listed below**
|
||||
|
||||
```sh
|
||||
temp create group_id T_target
|
||||
```
|
||||
|
||||
- `T_target` - Target temperature
|
||||
|
||||
```sh
|
||||
temp control group_id T_target time_constant
|
||||
```
|
||||
|
||||
- `T_target` - Target temperature
|
||||
- `time_constant` - time constant
|
22
docs/Commands/thermo.md
Normal file
22
docs/Commands/thermo.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
# thermo
|
||||
|
||||
```sh
|
||||
thermo step
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`step` - Output every `step` steps.
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
thermo 50
|
||||
```
|
||||
|
||||
## Descriptions
|
||||
|
||||
Currently the thermo output is fixed.
|
||||
For energy minimization, the thermo output contains only the energy and second norm of the global force vector.
|
||||
For dynamics, the thermo output also contains the kinetic energy and the temperature.
|
||||
|
32
docs/Commands/thermo_style.md
Normal file
32
docs/Commands/thermo_style.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# thermo_style
|
||||
|
||||
```sh
|
||||
thermo_style args
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
`args` - List of thermo_style options. Acceptable options are listed below:
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
thermo 50
|
||||
```
|
||||
|
||||
## Descriptions
|
||||
|
||||
The `thermo_style` command sets the thermo output for CAC.
|
||||
By default the thermostyle command only outputs the potential energy and the global force norm.
|
||||
Acceptable options for thermo_style are listed below:
|
||||
|
||||
- `pe`: potential energy
|
||||
- `fnorm`: global force norm
|
||||
- `temp`: temperature
|
||||
- `temp_c`: temperature in CG
|
||||
- `temp_a`: temperature in atoms
|
||||
- `ke`: kinetic energy
|
||||
- `ke_c`: kinetic energy in CG
|
||||
- `ke_a`: kinetic energy in atoms
|
||||
- `lx`, `ly`, `lz`: Box dimensions in x, y, z respectively
|
||||
- `px`, `py`, `pz`: Box pressure in x, y, z respectively
|
Loading…
Add table
Add a link
Reference in a new issue