Input file reference
The acceleration code has a single input file, which defines the parameters of the decision making and refitting. Everything else is handled in the ab-initio code.
The file should be called as <SEED>.hybrid-md-input.yaml
where the <SEED>
is
the calculation’s filename prefix supplied by the ab-initio code as well.
See the possible contents and a couple of example below. For runnable example, see the simulation examples.
Core & Mandatory parameters
A minimal example:
# this is a complete seed.hybrid-md-input.yaml files
can_update: true
check_interval: 5
num_initial_steps: 2
tolerances:
ediff: 0.005 # eV
This sets the following:
can_update: true
: the model can be updated (default false)check_interval: 5
: interval between ab-initio calculations (see Fixed interval)num_initial_steps: 2
: the first 2 steps are ab-initio and used to train the first modeltolerances:
block of tolerances for accepting the resultediff: 0.005
: 5 meV/atom is the maximum allowed for continuations with the same model
Tolerance section
# nb. partial input only
tolerances:
ediff: 0.01 # eV
fmax: null # eV/A
frmse: 0.100 # eV/A
vmax: null # eV (virial)
Tolerances can be specified for the following quantitities:
ediff
: energy per atom differencefmax
: force-component maximum absolute difference (in eV/Å)frmse
: RMSE of force components (in eV/Å)vmax
: maximum virial stress difference, in eV
At least one of these needs to be set, specifying null
and omitting the parameter
are equivalent. When checking them, the ones turned on are all used and the result needs
to be below all of them to pass the check.
Accuracy-Adapted method section
Section of parameters for the Accuracy-adapted checking interval mode. The existence of the block turns this decision making method on.
# nb. partial input only
check_interval: 10
adaptive_method_parameters:
n_min: 10
n_max: 5000
factor: 1.3
check_interval: 10
: initial checking interval to start withn_min
&n_max
: bounds for the number of steps between ab-initio stepsfactor: 1.3
: the geometric factor for increasing and decreasing the checking interval
Refitting-specific settings
Parameters for controlling the GAP model to be trained when the model is updated.
You can use the pre-set SOAP parameters, or supply your own entirely.
By default, the trained model includes a 2-body and a SOAP descriptor for all species, both with 5Å cutoff. n.b. This may fail if you only have a single atom of any element, since there will be no data to train the self-interaction 2-body part for this element.
# nb. partial input only
refit:
e0_method: "isolated"
num_threads: 128
e0_method
sets the method for GAP to choose the element-specific constant shift.default is
average
see gap_fit page for further information
num_threads: 128
tells the program to use 128 OMP threads for the fitting, this is set temporarily only and is reset to the previous value after fitting. Does not affect the parallelism of the ab-initio code. n.b. this only single-node fitting is supported for GAP models at the moment for the acceleration program.
One can additionally set e0
in this section for passing explicit values, as in the gap_fit
program.
# nb. partial input only
refit:
e0_method: "isolated"
num_threads: 128
Previous data
Previous data can be included in the model training, through specifying a list of xyz filenames under the previous_data
parameter. These are expected to have their energy, force, and virial results saved with the same keywords as how the ab-initio code is saving them: QM_energy
, QM_forces
, QM_virial
, respectively.
Descriptor Parameters
You can choose the descriptor parameters in multiple ways:
using pre-set SOAP parameter values:
preset_soap_param: "fast" | "medium" | "accurate"
, which then includes a 2-body as wellusing an explicit descriptor string:
descriptor_str: "..."
In this case the 2-body descriptor is not added.
Other parameters
The rest of the parameters, which are mostly mimicking the keywords of gap_fit
. See the Defaults section for the for the default values of these.
gp_name
name of model XML filedefault_sigma
default kernel regularisationextra_gap_opts
anything else to pass togap_fit
function_name
allows the user to specify any python function installed in their environment by module import path for handling the refitting of the model. If this is set, then this function is used and everything else is ignored (though that function can see these parameters). This is an advanced developer feature.
Defaults
The following input file contains the default values set explicitly. n.b. this is not allowing refitting, due to can_update: false
can_update: false
check_interval: 1
num_initial_steps: 0
tolerances:
ediff: 0.03
fmax: null
frmse: null
vmax: null
refit:
function_name: null
previous_data: []
preset_soap_param: "fast"
gp_name: "GAP.xml"
default_sigma: "0.005 0.050 0.1 1.0"
descriptor_str: null
extra_gap_opts: "sparse_jitter=1.0e-8"
e0: null
e0_method: "average"
num_threads: null