RssConfig#
- pydantic model autoplex.settings.RssConfig[source]#
A model describing the complete RSS configuration.
- field tag: str | None = None#
Tag of systems. It can also be used for setting up elements and stoichiometry. For example, the tag of ‘SiO2’ will be recognized as a 1:2 ratio of Si to O and passed into the parameters of buildcell. However, note that this will be overwritten if the stoichiometric ratio of elements is defined in the ‘buildcell_options’
- field train_from_scratch: bool = True#
If True, it starts the workflow from scratch If False, it resumes from a previous state.
- field resume_from_previous_state: ResumeFromPreviousState [Optional]#
- field generated_struct_numbers: list[int, int] [Optional]#
Expected number of generated randomized unit cells by buildcell.
- field buildcell_options: list[BuildcellOptions] | None = None#
Customized parameters for buildcell.
- field fragment_file: str | None = None#
- field fragment_numbers: list[int] | None = None#
Numbers of each fragment to be included in the random structures. Defaults to 1 for all specified.
- field num_processes_buildcell: int = 128#
Number of processes for buildcell.
- field num_of_initial_selected_structs: list[int, int] [Optional]#
Number of structures to be sampled directly from the buildcell-generated randomized cells.
- field num_of_rss_selected_structs: int = 100#
Number of structures to be selected from each RSS iteration.
- field initial_selection_enabled: bool = True#
If true, sample structures from initially generated randomized cells using CUR.
- field rss_selection_method: Literal['bcur1s', 'bcur2i', None] = 'bcur2i'#
Method for selecting samples from the RSS trajectories: Boltzmann flat histogram in enthalpy first, then CUR. Options are as follows
- field bcur_params: BcurParams [Optional]#
Parameters for the BCUR method.
- field random_seed: int | None = None#
A seed to ensure reproducibility of CUR selection.
- field include_isolated_atom: bool = True#
Perform single-point calculations for isolated atoms.
- field isolatedatom_box: list[float, float, float] [Optional]#
List of the lattice constants for an isolated atom configuration.
- field e0_spin: bool = False#
Include spin polarization in isolated atom and dimer calculations
- field include_dimer: bool = True#
Perform single-point calculations for dimers only once
- field dimer_box: list[float, float, float] [Optional]#
The lattice constants of a dimer box.
- field dimer_range: list[float, float] [Optional]#
The range of the dimer distance.
- field dimer_num: int = 21#
Number of different distances to consider for dimer calculations.
- field custom_incar: CustomIncar [Optional]#
Custom VASP input parameters. If provided, will update the default parameters
- field custom_potcar: str | None = None#
POTCAR settings to update. Keys are element symbols, values are the desired POTCAR labels.
- field vasp_ref_file: str = 'vasp_ref.extxyz'#
Reference file for VASP data
- field config_types: list[str] [Optional]#
Configuration types for the VASP calculations
- field rss_group: list[str] | str [Optional]#
Group of configurations for the RSS calculations
- field test_ratio: float = 0.1#
The proportion of the test set after splitting the data
- field regularization: bool = True#
Whether to apply regularization. This only works for GAP to date.
- field retain_existing_sigma: bool = False#
Whether to retain the existing sigma values for specific configuration types.If True, existing sigma values for specific configurations will remain unchanged
- field scheme: Literal['linear-hull', 'volume-stoichiometry', None] = 'linear-hull'#
Method to use for regularization
- field reg_minmax: list[list[float]] [Optional]#
List of tuples of (min, max) values for energy, force, virial sigmas for regularization
- field distillation: bool = False#
Whether to apply data distillation
- field force_max: float | None = None#
Maximum force value to exclude structures
- field force_label: str | None = None#
The label of force values to use for distillation
- field pre_database_dir: str | None = None#
Directory where the previous database was saved.
- field mlip_type: Literal['GAP', 'J-ACE', 'NEQUIP', 'M3GNET', 'MACE'] = 'GAP'#
MLIP to be fitted
- field ref_energy_name: str = 'REF_energy'#
Reference energy name.
- field ref_force_name: str = 'REF_forces'#
Reference force name.
- field ref_virial_name: str = 'REF_virial'#
Reference virial name.
- field auto_delta: bool = True#
Whether to automatically calculate the delta value for GAP terms.
- field num_processes_fit: int = 32#
Number of processes used for fitting
- field device_for_fitting: Literal['cpu', 'cuda'] = 'cpu'#
Device to be used for model fitting
- field scalar_pressure_method: Literal['exp', 'uniform'] = 'uniform'#
Method for adding external pressures.
- field scalar_exp_pressure: int = 1#
Scalar exponential pressure
- field scalar_pressure_exponential_width: float = 0.2#
Width for scalar pressure exponential
- field scalar_pressure_low: int = 0#
Lower limit for scalar pressure
- field scalar_pressure_high: int = 25#
Upper limit for scalar pressure
- field max_steps: int = 300#
Maximum number of steps for the GAP optimization
- field force_tol: float = 0.01#
Force residual tolerance for relaxation
- field stress_tol: float = 0.01#
Stress residual tolerance for relaxation.
- field stop_criterion: float = 0.01#
Convergence criterion for stopping RSS iterations.
- field max_iteration_number: int = 25#
Maximum number of RSS iterations to perform.
- field num_groups: int = 6#
Number of structure groups, used for assigning tasks across multiple nodes.For example, if there are 10,000 trajectories to relax and ‘num_groups=10’,the trajectories will be divided into 10 groups and 10 independent jobs will be created,with each job handling 1,000 trajectories.
- field initial_kt: float = 0.3#
Initial temperature (in eV) for Boltzmann sampling.
- field current_iter_index: int = 1#
Current iteration index for the RSS.
- field hookean_repul: bool = False#
Whether to apply Hookean repulsion
- field hookean_paras: dict | None = None#
Parameters for the Hookean repulsion as a dictionary of tuples.
- field keep_symmetry: bool = False#
Whether to preserve symmetry during relaxations.
- field write_traj: bool = True#
Bool indicating whether to write the trajectory files.
- field num_processes_rss: int = 128#
Number of processes used for running RSS.
- field device_for_rss: Literal['cpu', 'cuda'] = 'cpu'#
Device to be used for RSS calculations.
- field mlip_hypers: MLIPHypers [Optional]#
MLIP hyperparameters