Skip to content

Parameters

Introduction

About

This section provides a detailed overview of all unique parameters for all workflows.

To identify the parameters allowed for a specific workflow, use the explore command or workflow.show_parameters():

simmate workflows explore
workflow.show_parameters()

File vs. Python formats

When switching from Python to YAML, make sure you adjust the input format of your parameters. This is especially important if you use python a list or dict for one of your input parameters. Further, if you have complex input parameters (e.g. nested lists, matricies, etc.), we recommend using a TOML input file instead:

# in python
my_parameter = [1,2,3]
# in yaml
my_parameter:
    - 1
    - 2
    - 3

# in python
my_parameter = {"a": 123, "b": 456, "c": ["apple", "orange", "grape"]}
# in yaml
my_parameter:
    a: 123
    b: 456
    c:
        - apple
        - orange
        - grape
# in toml
[my_parameter]
a = 123
b = 456
c = ["apple", "orange", "grape"]

# in python
my_parameter = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
]
# in yaml (we recommend switching to TOML!)
my_parameter:
    - - 1
        - 2
        - 3
    - - 4
        - 5
        - 6
    - - 7
        - 8
        - 9
# in toml
my_parameter = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
]

# in python
my_parameter = (1,2,3)
# in yaml
my_parameter:
    - 1
    - 2
    - 3
# WARNING: This will return a list! Make sure you call 
#   `tuple(my_parameter)`
# at the start of your workflow's `run_config` if you need a tuple.
# in toml
my_parameter = [1, 2, 3]
# WARNING: This will return a list! Make sure you call 
#   `tuple(my_parameter)`
# at the start of your workflow's `run_config` if you need a tuple.


algorithm

This parameter is specific to the BadELf workflows in the warrenapp. Options include badelf, voronelf, or zero-flux.

algorithm: badelf
algorithm = "badelf"
algorithm = "badelf"

angle_tolerance

This parameter is used to determine if the angles between sites are symmetrically equivalent when standardize_structure=True. The value is in degrees.

angle_tolerance: 10.0
angle_tolerance = 10.0
angle_tolerance = 10.0

best_survival_cutoff

In evolutionary searches, fixed compositions will stop when the best individual remains unbeaten for this number of new individuals.

To account for similar structures (e.g., identical structures with minor energy differences), structures within the convergence_cutoff parameter (e.g., +1meV) are not considered when counting historical structures. This helps to prevent the search from continuing in cases where the search is likely already converged but making <0.1meV improvements. The default is typically set based on the number of atoms in the composition.

best_survival_cutoff: 100
best_survival_cutoff = 100
best_survival_cutoff = 100

check_for_covalency

This parameter is unique to the badelf workflows of the warrenapp. It indicates whether the algorithm should search the structure for covalency features. It is generally recommended to leave this as True. Covalency is not currently handled by the BadELF algorithm and covalency features in the ELF can heavily throw off the partitioning scheme, causing nonsense results.

check_for_covalence: true
check_for_covalence = true
check_for_covalence = True

chemical_system

This parameter specifies the chemical system to be used in the analysis. It should be given as a string in the format Element1-Element2-Element3-.... For example, Na-Cl, Y-C, and Y-C-F are valid chemical systems.

chemical_system: Na-Cl
chemical_system = "Na-Cl"
chemical_system = "Na-Cl"

Warning

Some workflows only accept a chemical system with a specific number of elements. An example of this is the structure-prediction.python.binary-composition search which only allows two elements (e.g. Y-C-F would raise an error)


command

This parameter specifies the command that will be called during the execution of a program. There is typically a default set for this that you only need to change if you'd like parallelization. For example, VASP workflows use vasp_std > vasp.out by default but you can override this to use mpirun.

command: mpirun -n 8 vasp_std > vasp.out
command = "mpirun -n 8 vasp_std > vasp.out"
command = "mpirun -n 8 vasp_std > vasp.out"

composition

The composition input can be anything compatible with the Composition toolkit class. Note that compositions are sensitive to atom counts / multiplicity. There is a difference between giving Ca2N and Ca4N2 in several workflows. Accepted inputs include:

a string (recommended)

composition: Ca2NF
composition = "Ca2NF"
composition = "Ca2NF"

a dictionary that gives the composition

composition:
    Ca: 2
    N: 1
    F: 1
[composition]
Ca = 2
N = 1
F = 1
composition={
    "Ca": 2, 
    "N": 1, 
    "F": 1,
}

a Composition object (best for advanced logic)

from simmate.toolkit import Compositon

composition = Composition("Ca2NF")

compress_output

This parameter determines whether to compress the directory to a zip file at the end of the run. After compression, it will also delete the directory. The default is False.

compress_output: true
compress_output = true
compress_output = True

convergence_cutoff

For evolutionary searches, the search will be considered converged when the best structure is not changing by this amount (in eV). In order to officially signal the end of the search, the best structure must survive within this convergence limit for a specific number of new individuals -- this is controlled by the best_survival_cutoff. The default of 1meV is typically sufficient and does not need to be changed. More often, users should update best_survival_cutoff instead.

convergence_cutoff: 0.005
convergence_cutoff = 0.005
convergence_cutoff = 0.005

copy_previous_directory

This parameter determines whether to copy the directory from the previous calculation (if one exists) and use it as a starting point for the new calculation. This is only possible if you provided an input that points to a previous calculation. For instance, structure would need to use a database-like input:

structure:
    database_table: Relaxation
    database_id: 123
copy_previous_directory: true
copy_previous_directory: true

[structure]
database_table = "Relaxation"
database_id = 123
structure = {"database_table": "Relaxation", "database_id": 123}
copy_previous_directory=True

diffusion_analysis_id

(advanced users only) This is the entry id from the DiffusionAnalysis table to link the results to. This is set automatically by higher-level workflows and rarely (if ever) set by the user.


directory

This is the directory where everything will be run -- either as a relative or full path. This is passed to the utilities function simmate.ulitities.get_directory, which generates a unique folder name if not provided (such as simmate-task-12390u243). This will be converted into a pathlib.Path object. Accepted inputs include:

leave as default (recommended)

a string

directory: my-new-folder-00
directory = "my-new-folder-00"
directory = "my-new-folder-00"

a pathlib.Path (best for advanced logic)

from pathlib import Path

directory = Path("my-new-folder-00")

directory_new

Exclusive to the restart.simmate.automatic workflow, this is the folder where the workflow will be continued. It follows the same rules/inputs as the directory parameter.


directory_old

Exclusive to the restart.simmate.automatic workflow, this is the original folder that should be used as the starting point. It follows the same rules/inputs as the directory parameter.


electride_finder_cutoff

Exclusive to the badelf workflows in the simmate app. This is the minimum ELF value that the algorithm will consider an electride. Any maxima in the ELF below this will not be considered an electride site during the algorithm.

electride_finder_cutoff: 0.5
electride_finder_cutoff = 0.5
electride_finder_cutoff = 0.5

find_electrides

Exclusive to the badelf workflows in the simmate app. This parameter indicates whether the algorithm should search for electrides. Reasons to set this as false may be that the user knows there is no electride character in the structure of interest or if the user has manually placed electride sites.

find_electrides: true
find_electrides = true
find_electrides = True

fitness_field

(advanced users only) For evolutionary searches, this is the value that should be optimized. Specifically, it should minimize this value (lower value = better fitness). The default is energy_per_atom, but you may want to set this to a custom column in a custom database table.


input_parameters

(experimental feature) Exclusive to customized.vasp.user-config. This is a list of parameters to pass to workflow_base.


is_restart

(experimental feature) This parameter indicates whether the calculation is a restarted workflow run. The default is False. If set to true, the workflow will go through the given directory (which must be provided) and determine where to resume.

directory: my-old-calc-folder
is_restart: true
directory = "my-old-calc-folder"
is_restart = true
directory = "my-old-calc-folder"
is_restart = True

max_atoms

For workflows that involve generating a supercell or random structure, this will be the maximum number of sites to allow in the generated structure(s). For example, an evolutionary search may set this to 10 atoms to limit the compositions & stoichiometries that are explored.

max_atoms: 10
max_atoms = 10
max_atoms = 10

max_path_length

For diffusion workflows, this is the maximum length allowed for a single path.

max_path_length: 3.5
max_path_length = 3.5
max_path_length = 3.5

max_stoich_factor

This is the maximum stoichiometric ratio that will be analyzed. In a binary system evolutionary search, this will only look at non-reduced compositions up to the max_stoich_factor. For example, this means Ca2N and max factor of 4 would only look up to Ca8N4 and skip any compositions with more atoms (e.g. Ca10N5 is skipped)

max_stoich_factor: 5
max_stoich_factor = 5
max_stoich_factor = 5

max_structures

For workflows that generate new structures (and potentially run calculations on them), this will be the maximum number of structures allowed. The workflow will end at this number of structures regardless of whether the calculation/search is converged or not.

max_structures: 100
max_structures = 100 
max_structures = 100

Warning

In structure-prediction workflows, min_structure_exact takes priority over this setting, so it is possible for your search to exceed your maximum number of structures. If you want max_structures to have absolute control, you can set min_structure_exact to 0.


max_supercell_atoms

For workflows that involve generating a supercell, this will be the maximum number of sites to allow in the generated structure(s). For example, NEB workflows would set this value to something like 100 atoms to limit their supercell image sizes.

max_supercell_atoms: 100
max_supercell_atoms = 100
max_supercell_atoms = 100

migrating_specie

This is the atomic species/element that will be moving in the analysis (typically NEB or MD diffusion calculations). Note, oxidation states (e.g. "Ca2+") can be used, but this requires your input structure to be oxidation-state decorated as well.

migrating_specie: Li
migrating_specie = "Li"
migrating_specie = "Li"

migration_hop

(advanced users only) The atomic path that should be analyzed. Inputs are anything compatible with the MigrationHop class of the simmate.toolkit.diffusion module. This includes:

  • MigrationHop object
  • a database entry in the MigrationHop table

(TODO: if you'd like full examples, please ask our team to add them)


migration_images

The full set of images (including endpoint images) that should be analyzed. Inputs are anything compatible with the MigrationImages class of the simmate.toolkit.diffusion module, which is effectively a list of structure inputs. This includes:

MigrationImages object

a list of Structure objects

a list of filenames (cif or POSCAR)

migration_images:
    - image_01.cif
    - image_02.cif
    - image_03.cif
    - image_04.cif
    - image_05.cif
migration_images = [
    "image_01.cif",
    "image_02.cif",
    "image_03.cif",
    "image_04.cif",
    "image_05.cif",
]
migration_images = [
    "image_01.cif",
    "image_02.cif",
    "image_03.cif",
    "image_04.cif",
    "image_05.cif",
]

min_atoms

This is the opposite of max_atoms as this will be the minimum number of sites allowed in the generate structure(s). See max_atoms for details.


min_structures_exact

(experimental) The minimum number of structures that must be calculated with exactly matching nsites as specified in the fixed-composition.


min_supercell_atoms

This is the opposite of max_supercell_atoms as this will be the minimum number of sites allowed in the generated supercell structure.


min_supercell_vector_lengths

When generating a supercell, this is the minimum length for each lattice vector of the generated cell (in Angstroms). For workflows such as NEB, larger is better but more computationally expensive.

min_supercell_vector_lengths: 7.5
min_supercell_vector_lengths = 7.5
min_supercell_vector_lengths = 7.5

nfirst_generation

For evolutionary searches, no mutations or "child" individuals will be scheduled until this number of individuals have been calculated. This ensures we have a good pool of candidates calculated before we start selecting parents and mutating them.

nfirst_generation: 15
nfirst_generation = 15
nfirst_generation = 15

nimages

The number of images (or structures) to use in the analysis. This does NOT include the endpoint images (start/end structures). More is better, but computationally expensive. We recommend keeping this value odd in order to ensure there is an image at the midpoint.

nimages: 5
nimages = 5
nimages = 5

Danger

For apps such as VASP, your command parameter must use a number of cores that is divisible by nimages. For example, nimages=3 and command="mpirun -n 10 vasp_std > vasp.out" will fail because 10 is not divisible by 3.


nsteadystate

This parameter sets the number of individual workflows to be scheduled at once, effectively setting the queue size of an evolutionary search. The number of workflows run in parallel is determined by the number of Workers started. However, the nsteadystate value sets the maximum number of parallel runs as the queue size will never exceed this value. This parameter is closely tied with steadystate_sources.

nsteadystate: 50
nsteadystate = 50
nsteadystate = 50

nsteps

This parameter sets the total number of steps for the calculation. For instance, in molecular dynamics workflows, the simulation will stop after this many steps.

nsteps: 10000
nsteps = 10000
nsteps = 10000

percolation_mode

This parameter sets the percolating type to detect. The default is ">1d", which searches for percolating paths up to the max_path_length. Alternatively, this can be set to "1d" to stop unique pathway finding when 1D percolation is achieved.

percolation_mode: 1d
percolation_mode = "1d"
percolation_mode = "1d"

relax_bulk

This parameter determines whether the bulk structure (typically the input structure) should be relaxed before running the rest of the workflow.

relax_bulk: false
relax_bulk: false
relax_bulk: false

relax_endpoints

This parameter determines whether the endpoint structures for an NEB diffusion pathway should be relaxed before running the rest of the workflow.

relax_endpoints: false
relax_endpoints: false
relax_endpoints: false

run_id

This parameter is the id assigned to a specific workflow run/calculation. If not provided, this will be randomly generated. It is highly recommended to leave this at the default value. This id is based on unique-ids (UUID), so every id should be 100% unique and in a string format.

run_id: my-unique-id-123
run_id = "my-unique-id-123"
run_id = "my-unique-id-123"

search_id

(advanced users only) This parameter is the evolutionary search that this individual is associated with. This allows us to determine which Selector, Validator, and StopCondition should be used when creating and evaluating the individual. When running a search, this is set automatically when submitting a new flow.


selector_kwargs

(advanced users only) This parameter is a dictionary of extra conditions to use when initializing the selector class. MySelector(**selector_kwargs). This is closely tied with the selector_name parameter.


selector_name

(experimental feature; advanced users only) This parameter is the base selector class that should be used. The class will be initialized using MySelector(**selector_kwargs). The input should be given as a string.

Warning

Currently, we only support truncated selection, so this should be left at its default value.


singleshot_sources

(experimental feature; advanced users only) This parameter is a list of structure sources that run once and never again. This includes generating input structures from known structures (from third-party databases), prototypes, or substituting known structures.

In the current version of simmate, these features are not enabled and this input should be ignored.


sleep_step

This parameter is the amount of time in seconds that the workflow will shutdown before restarting the cycle when there is a cycle within a workflow (such as iteratively checking the number of subworkflows submitted and updating results). For evolutionary searches, setting this to a larger value will save on computation resources and database load, so we recommend increasing it where possible.

run_id: 180
run_id = 180
sleep_step = 180  # 3 minutes

source

(experimental feature; advanced users only) This parameter indicates where the input data (and other parameters) came from. The source could be a number of things including a third party id, a structure from a different Simmate database table, a transformation of another structure, a creation method, or a custom submission by the user.

By default, this is a dictionary to account for the many different scenarios. Here are some examples of values used in this column:

# from a thirdparty database or separate table
source = {
    "database_table": "MatprojStructure",
    "database_id": "mp-123",
}

# from a random structure creator
source = {"creator": "PyXtalStructure"}

# from a templated structure creator (e.g. substituition or prototypes)
source = {
    "creator": "PrototypeStructure",
    "database_table": "AFLOWPrototypes",
    "id": 123,
}

# from a transformation
source = {
    "transformation": "MirrorMutation",
    "database_table":"MatprojStructure",
    "parent_ids": ["mp-12", "mp-34"],
}

Typically, the source is set automatically, and users do not need to update it.


standardize_structure

This parameter determines whether to standardize the structure during our setup(). This means running symmetry analysis on the structure to reduce the symmetry and convert it to some standardized form. There are three different forms to choose from and thus 3 different values that standardize_structure can be set to:

  • primitive: for the standard primitive unitcell
  • conventional: for the standard conventional unitcell
  • primitive-LLL: for the standard primitive unitcell that is then LLL-reduced
  • False: this is the default and will disable this feature

We recommend using primitive-LLL when the smallest possible and most cubic unitcell is desired.

We recommend using primitive when calculating band structures and ensuring we have a standardized high-symmetry path. Note,Existing band-structure workflows use this automatically.

To control the tolerances used to symmetrize the structure, you can use the symmetry_precision and angle_tolerance attributes.

By default, no standardization is applied.

standardize_structure: primitive-LLL
standardize_structure = "primitive-LLL"
standardize_structure = "primitive-LLL"

steadystate_source_id

(advanced users only) This parameter is the structure source that this individual is associated with. This allows us to determine how the new individual should be created. When running a search, this is set automatically when submitting a new flow.


steadystate_sources

(experimental feature; advanced users only) This parameter is a dictionary of sources that will be scheduled at a "steady-state", meaning there will always be a set number of individuals scheduled/running for this type of structure source. This should be defined as a dictionary where each is {"source_name": percent}. The percent determines the number of steady stage calculations that will be running for this at any given time. It will be a percent of the nsteadystate parameter, which sets the total number of individuals to be scheduled/running. For example, if nsteadystate=40 and we add a source of {"RandomSymStructure": 0.30, ...}, this means 0.25*40=10 randomly-created individuals will be running/submitted at all times. The source can be from either the toolkit.creator or toolkit.transformations modules.

singleshot_sources:
    RandomSymStructure: 0.30
    from_ase.Heredity: 0.30
    from_ase.SoftMutation: 0.10
    from_ase.MirrorMutation: 0.10
    from_ase.LatticeStrain: 0.05
    from_ase.RotationalMutation: 0.05
    from_ase.AtomicPermutation: 0.05
    from_ase.CoordinatePerturbation: 0.05
[singleshot_sources]
"RandomSymStructure": 0.30
"from_ase.Heredity": 0.30
"from_ase.SoftMutation": 0.10
"from_ase.MirrorMutation": 0.10
"from_ase.LatticeStrain": 0.05
"from_ase.RotationalMutation": 0.05
"from_ase.AtomicPermutation": 0.05
"from_ase.CoordinatePerturbation": 0.05
singleshot_sources = {
    "RandomSymStructure": 0.30,
    "from_ase.Heredity": 0.30,
    "from_ase.SoftMutation": 0.10,
    "from_ase.MirrorMutation": 0.10,
    "from_ase.LatticeStrain": 0.05,
    "from_ase.RotationalMutation": 0.05,
    "from_ase.AtomicPermutation": 0.05,
    "from_ase.CoordinatePerturbation": 0.05,
}

Note: if your percent values do not sum to 1, they will be rescaled. When calculating percent*nsteadystate, the value will be rounded to the nearest integer.

We are moving towards accepting kwargs or class objects as well, but this is not yet allowed. For example, anything other than percent would be treated as a kwarg:

[singleshot_sources.RandomSymStructure]
percent: 0.30
spacegroups_exclude: [1, 2, 3]
site_generation_method: "MyCustomMethod"

structure

The crystal structure to be used for the analysis. The input can be anything compatible with the Structure toolkit class. Accepted inputs include:

a filename (cif or poscar) (recommended)

structure: NaCl.cif
structure = NaCl.cif
structure="NaCl.cif"

a dictionary that points to a database entry.

# example 1
structure:
    database_table: MatprojStructure
    database_id: mp-123

# example 2
structure:
    database_table: StaticEnergy
    database_id: 50

# example 3
structure:
    database_table: Relaxation
    database_id: 50
    structure_field: structure_final
# example 1
[structure]
database_table: MatprojStructure
database_id: mp-123

# example 2
[structure]
database_table: StaticEnergy
database_id: 50

# example 3
[structure]
database_table: Relaxation
database_id: 50
structure_field: structure_final
# example 1
structure={
    "database_table": "MatprojStructure",
    "database_id": "mp-123",
}

# example 2
structure={
    "database_table": "StaticEnergy",
    "database_id": 50,
}

# example 3
structure={
    "database_table": "Relaxation",
    "database_id": 50,
    "structure_field": "structure_final",
}

Note

instead of database_id, you can also use the run_id or directory to indicate which entry to load. Further, if the database table is linked to multiple structures (e.g. relaxations have a structure_start and structure_final), then you can also add the structure_field to specify which to choose.

a Structure object (best for advanced logic)

from simmate.toolkit import Structure

structure = Structure(
    lattice=[
        [2.846, 2.846, 0.000],
        [2.846, 0.000, 2.846],
        [0.000, 2.846, 2.846],
    ],
    species=["Na", "Cl"],
    coords=[
        [0.5, 0.5, 0.5],
        [0.0, 0.0, 0.0],
    ],
    coords_are_cartesian=False,
)

a Structure database object

structure = ExampleTable.objects.get(id=123)

json/dictionary serialization from pymatgen


subworkflow_kwargs

This parameter is a dictionary of parameters to pass to each subworkflow run. For example, the workflow will be ran as subworkflow.run(**subworkflow_kwargs). Note, many workflows that use this argument will automatically pass information that is unique to each call (such as structure).

subworkflow_kwargs:
    command: mpirun -n 4 vasp_std > vasp.out
    compress_output: true
[subworkflow_kwargs]
command = "mpirun -n 4 vasp_std > vasp.out"
compress_output = true
subworkflow_kwargs=dict(
    command="mpirun -n 4 vasp_std > vasp.out",
    compress_output=True,
)

subworkflow_name

This parameter is the name of workflow that used to evaluate structures generated. Any workflow that is registered and accessible via the get_workflow utility can be used instead. If you wish to submit extra arguments to each workflow run, you can use the subworkflow_kwargs parameter.

subworkflow_name: relaxation.vasp.staged
subworkflow_name = "relaxation.vasp.staged"
subworkflow_name = "relaxation.vasp.staged"

supercell_end

This parameter is the endpoint image supercell to use. This is really just a structure parameter under a different name, so everything about the structure parameter also applies here.


supercell_start

This parameter is the starting image supercell to use. This is really just a structure parameter under a different name, so everything about the structure parameter also applies here.


symmetry_precision

If standardize_structure=True, then this is the cutoff value used to determine if the sites are symmetrically equivalent. (in Angstroms)

symmetry_precision: 0.1
symmetry_precision = 0.1

tags

When submitting workflows via the run_cloud command, tags are 'labels' that help control which workers are allowed to pick up and run the submitted workflow. Workers should be started with matching tags in order for these scheduled flows to run.

When no tags are set, the following default tags will be used for a Simmate workflow:

  • simmate (this is the default worker tag as well)
  • the workflow's type name
  • the workflow's app name
  • the full workflow name

For example, the static-energy.vasp.matproj would have the following tags:

- simmate
- static-energy
- vasp
- static-energy.vasp.matproj

To override these default tags, use the following:

tags:
    - my-tag-01
    - my-tag-02
tags = ["my-tag-01", "my-tag-02"]
tags = ["my-tag-01", "my-tag-02"]

Warning

When you have a workflow that is submitting many smaller workflows (such as structure-prediction workflows), make sure you set the tags in the subworkflow_kwargs settings:

subworkflow_kwargs:
    tags:
        - my-tag-01
        - my-tag-02

Bug

Filtering tags does not always work as expected in SQLite3 because a worker with my-tag will incorrectly grab jobs like my-tag-01 and my-tag-02. This issue is known by both Django and SQLite3. Simmate addresses this issue by requiring all tags to be 7 characters long AND fully lowercase when using SQLite3.


temperature_end

For molecular dynamics simulations, this is the temperature to end the simulation at (in Kelvin). This temperature will be reached through a linear transition from the temperature_start parameter.

temperature_end: 1000
temperature_end = 1000

temperature_start

For molecular dynamics simulations, this is the temperature to begin the simulation at (in Kelvin).

temperature_start: 250
temperature_start = 250
temperature_start = 250

threads

For BadELF algorithms, determines how many threads will be used during pybader calculations. If None this will be automatically set to 90% of available threads.

threads: 8
threads = 8
threads = 8

time_step

For molecular dynamics simulations, this is time time between each ionic step (in femtoseconds).

time_step: 1.5
time_step = 1.5
time_step = 1.5

updated_settings

(experimental feature) Unique to customized.vasp.user-config. This is a list of parameters to update the workflow_base with. This often involves updating the base class attributes.


vacancy_mode

For NEB and diffusion workfows, this determines whether vacancy or interstitial diffusion is analyzed. Default of True corresponds to vacancy-based diffusion.

vacancy_mode: false
vacancy_mode = false
vacancy_mode = False

validator_kwargs

(advanced users only) This parameter is a dictionary of extra conditions to use when initializing the validator class. MyValidator(**validator_kwargs). This is closely tied with the validator_name parameter.


validator_name

(experimental feature; advanced users only) This parameter is the base validator class that should be used. The class will be initialized using MyValidator(**validator_kwargs). The input should be given as a string.

Warning

Currently, we only support CrystallNNFingerprint validation, so this should be left at its default value.


workflow_base

(experimental feature) Unique to customized.vasp.user-config. This is the base workflow to use when updating critical settings.


write_electride_files

This parameter is unique to badelf workflows. If set to True and ELFCAR and CHGCAR will be written containing only the values where the volume belongs to an electride and zero elsewhere.

write_electride_files: false
write_electride_files = false
write_electride_files = False

write_summary_files

This parameter determines whether or not to write output files. For some workflows, writing output files can cause excessive load on the database and possibly make the calculation IO bound. In cases such as this, you can set this to False.

write_summary_files: false
write_summary_files = false
write_summary_files = False

Tip

Beginners can often ignore this setting. This is typically only relevant in a setup where you have many computational resources and have many evolutionary searches (>10) running at the same time.