Default parameters
The default parameters that control the database construction, model training, high-throughput prediction …
You can import such parameters from agat
module.
from agat.default_paramters import default_elements, default_build_properties, default_data_config, default_train_config, default_high_throughput_config
Or you can read the source code.
default_elements
Elements used to build graph. A list of elements that are used to encode atomic features.
['Ac', 'Ag', 'Al', 'Am', 'Ar', 'As', 'At', 'Au', 'B', 'Ba',
'Be', 'Bh', 'Bi', 'Bk', 'Br', 'C', 'Ca', 'Cd', 'Ce', 'Cf',
'Cl', 'Cm', 'Cn', 'Co', 'Cr', 'Cs', 'Cu', 'Db', 'Ds', 'Dy',
'Er', 'Es', 'Eu', 'F', 'Fe', 'Fl', 'Fm', 'Fr', 'Ga', 'Gd',
'Ge', 'H', 'He', 'Hf', 'Hg', 'Ho', 'Hs', 'I', 'In', 'Ir',
'K', 'Kr', 'La', 'Li', 'Lr', 'Lu', 'Lv', 'Mc', 'Md', 'Mg',
'Mn', 'Mo', 'Mt', 'N', 'Na', 'Nb', 'Nd', 'Ne', 'Nh', 'Ni',
'No', 'Np', 'O', 'Og', 'Os', 'P', 'Pa', 'Pb', 'Pd', 'Pm',
'Po', 'Pr', 'Pt', 'Pu', 'Ra', 'Rb', 'Re', 'Rf', 'Rg', 'Rh',
'Rn', 'Ru', 'S', 'Sb', 'Sc', 'Se', 'Sg', 'Si', 'Sm', 'Sn',
'Sr', 'Ta', 'Tb', 'Tc', 'Te', 'Th', 'Ti', 'Tl', 'Tm', 'Ts',
'U', 'V', 'W', 'Xe', 'Y', 'Yb', 'Zn', 'Zr']
default_build_properties
A dictionary defines which properties will be built into the graph.
Parameter |
Default value |
Alternative(s) |
Explanation |
---|---|---|---|
|
|
|
Include total energy when building graphs. |
|
|
|
Include atomic forces when building graphs. |
|
|
|
Include structural cell when building graphs. |
|
|
|
Include Cartesian coordinates when building graphs. |
|
|
|
Include Fractional coordinates when building graphs. |
|
|
|
Include constraint information when building graphs. |
|
|
|
Include Virial stress when building graphs. |
|
|
|
Include distance between connected atoms when building graphs. |
|
|
|
Include unit vector between connected atoms when building graphs. |
|
|
|
Include file path of each graph corresponding to DFT calculations when building graphs. |
default_data_config
A dictionary defines how to build a database.
Parameter |
Default value |
Alternative(s) |
Explanation |
---|---|---|---|
|
|
A list of element symbols |
A list of elements that are used to encode atomic features. |
|
‘paths.log’ |
|
A file of absolute paths where OUTCAR and XDATCAR files exist. |
|
|
See [default_build_properties](# |
Properties needed to be built into graph. |
|
|
|
Build graph with topology connections only. The |
|
‘dataset’ |
A |
A directory contains the database. |
|
‘ase_natural_cutoffs’ |
‘ase_natural_cutoffs’, ‘pymatgen_dist’, ‘ase_dist’, and ‘voronoi’ |
The mode of how to detect connection between atoms. Note that |
|
5.0 |
A |
Cutoff distance to identify connections between atoms. Deprecated if |
|
|
|
Read graphs from binary graphs that are constructed before. If this variable is |
|
2 |
|
How many cores are used to extract vasp files and build graphs. |
|
|
|
When building graphs, small cell may have problems to find neighbors. Specify this parameter as |
|
|
|
Include adsorbate information when building graphs. For now, only |
|
|
|
Massive number of structural files (POSCARs) under |
|
|
|
In VASP calculations, the energy optimization generate many frames that have similar geometry and total energies, you can extract only some of them by specifying this parameter and |
|
|
|
Frames with atomic magnetic moments lower than this value will be masked. |
|
|
|
Scale the properties. This function seems to be deprecated. I need to double-check the source code first, so do not use it. |
default_train_config
A dict
determines how to train the AGAT model.
Parameter |
Default value |
Alternative(s) |
Explanation |
---|---|---|---|
|
|
|
Output verbosity. |
|
‘dataset’ |
A |
A directory contains the database. |
|
‘agat_model’ |
directory name, |
A directory to save the well-trained model. |
|
|
|
Number of training epochs. |
|
‘out_file’ |
|
A directory to store ouputs of true and predicted properties. |
|
‘cuda:0’ |
‘cpu’ |
Device to train the model. Use GPU cards to accerelate training. |
|
0.15 |
|
Determines the proportion of the dataset to be included in the validation split. |
|
0.15 |
|
Determines the proportion of the dataset to be included in the test split. |
|
|
|
Implement early stop or not. If this is |
|
|
|
Activated when |
|
[‘mul’, ‘div’, ‘free’] |
|
A list of attention mechanisms. See agat/model/model.py. |
|
[len(default_elements), 100, 100, 100] |
|
Node dimensions of AGAT |
|
[len(head_list)*gat_node_dim_list[-1], 100, 50, 30, 10, 3, 1] |
|
A list of node dimensions of energy readout layers. |
|
[len(head_list)*gat_node_dim_list[-1], 100, 50, 30, 10, 3, 3] |
|
A list of node dimensions of force readout layers. |
|
[len(head_list)*gat_node_dim_list[-1], 100, 50, 30, 10, 3, 6] |
|
A list of node dimensions of stress readout layers. |
|
|
|
Add bias or not to the neural networks. |
|
0.2 |
|
This specifies the negative slope of the LeakyReLU activation function. |
|
|
Creates a criterion that measures the mean squared error (squared L2 norm) between each element in the input |
|
|
1.0 |
|
The importance of energy loss in the total loss function. See agat/model/fit.py. |
|
1.0 |
|
The importance of force loss in the total loss function. See agat/model/fit.py. |
|
0.0 |
|
The importance of stress loss in the total loss function. See agat/model/fit.py. |
|
0.0001 |
|
The learning rate of torch.optim.Adam optimizer. |
|
0.0 |
|
The weight decay of torch.optim.Adam optimizer. |
|
64 |
|
Training batch size. |
|
400 |
|
Batch size when validation and test. |
|
|
|
Turn on the transfer learning when |
|
-4 |
negative |
tail |
|
|
|
Mask fixed atoms or not. When |
|
[3,3,3] |
|
The tail |
|
20.0 |
|
Indentify and specify the importance of adsorbate atoms with respective to surface atoms. zero for equal importance. |
default_ase_calculator_config
.
See bfgs for more details.
Parameter |
Default value |
Alternative(s) |
Explanation |
---|---|---|---|
|
0.1 |
|
Convergence criterion of atomic forces. Details: ase optimizer |
|
200 |
|
Maximum iteration steps. |
|
0.05 |
|
maximum distance an atom can move per iteration, unit is Å. |
|
|
|
Pickle file used to store hessian matrix. |
|
0 |
|
Restart optimization if the optimization cannot converge. |
|
0 |
|
Number of perturbated steps. AGAT may have issues in converging BFGS, perturbating atomic positions may help the convergence. |
|
0.05 |
|
Perturbation amplitudes if |
|
|
str |
Base name of the output log and traj. |
default_high_throughput_config
Settings for the high-throughput predictions.
Parameter |
Default value |
Alternative(s) |
Explanation |
---|---|---|---|
|
|
|
A directory for loading the well-trained model from. |
|
|
|
Settings for ase.optimize.BFGS structural optimizer. |
|
0 |
|
To label the calculation outputs. |
|
|
|
Fix all surface atoms or not. |
|
|
|
Remove the bottom atoms or not. |
|
|
|
Keep the optimization trajectory. |
|
|
|
Partially fix the adsorbate freedom. |
|
[‘H’] |
|
|
|
[‘ontop’] |
|
A list of adsorption sites. See agat/app/cata/generate_adsorption_sites.py |
|
1.7 |
|
Distance between adosrbate and surface. Unit: angstrom. |
|
|
|
Using template to build the surface model. If this is |
|
‘dataset’ |
A directory name. |
A directory storing the |
|
‘cuda’ |
|
Determines the device for the model prediction (forward). |
default_hp_dft_config
Default settings for the high-throughput DFT calculations.
To be continued…