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_methodsets the method for GAP to choose the element-specific constant shift.default is
averagesee gap_fit page for further information
num_threads: 128tells 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_namename of model XML filedefault_sigmadefault kernel regularisationextra_gap_optsanything else to pass togap_fitfunction_nameallows 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