YAML file
For the .yaml file to be read by ClayCode.builder, the relative path must be specified when calling the function.
Multiple YAML files are supplied with ClayCode within the Tutorial directory. The files are named by their corresponding clay system (e.g. NAu1.yaml), and can be used as examples.
Required Parameters
The required input parameters are general directives for model construction.
OUTPUT: /path/to/directory [ str ]CLAY_COMP: /path/to/file.csv [ str ]SYSNAME: clay_name [ str ]CLAY_TYPE: unit_cell [ str ]data/UCS/ (see data files). For example, a Dioctahedral 2:1 unit cell is D21.Optional Parameters
There are a number of optional parameters. If no directives are given by the user, ClayCode.builder will use the default values.
Clay Sheet Size
X_CELLS: x_unit_cells [ int ] (Default = 5)Y_CELLS: y_unit_cells [ int ] (Default = 5)N_SHEETS: sheet_number [ int ] (Default = 5)Clay Composition
ClayCode.builder uses the supplied .csv file to calculate the number and type of unit cells necessary to match the desired composition. The way in which ClayCode will match this target composition can be specified.
OCC_TOL: occupation_tolerance [ float ] (Default = 0.1)csv:T total unit cell occupancy of 4 and OCC_TOL of 0.1, any composition with tetrahedral occupancies between 3.9 and 4.1 will be automatically adjusted to match the expected value.ZERO_THRESHOLD: threshold [ float ] (Default = 0.05)SEL_PRIORITY: charge_correction [ str ] (Default = charges)charges: Conserve specified charges and adjust substitution occupancies. E.g. mgo: 0.4 -> 0.3occupancies: Conserve occupancies and adjust charges. E.g. -0.3 e -> -0.4 eCHARGE_PRIORITY: charge_correction [ str ] (Default = total_charge)total_charge: Conserve the total charge and adjust tetrahedral and octahedral occupancies. E.g. tetrahedral charge: -0.70 -> -0 .65 and octahedral charge: -0.40 -> -0.35sheet_charges: Conserve the sheet charges and adjust total charge. E.g. total charge: -1.00 -> 1.10MATCH_TOLERANCE: tolerance [ float ] (Default = 0.02)No CSV File
The clay composition can also be supplied manually in the .yaml file using the following parameters. See the Pyrophyllite tutorial for an example.
UC_INDEX_LIST: unit_cells [ list ].gro and .itp files in the data/UCS/CLAY_TYPE directory.UC_RATIOS_LIST: cell_probabilities [ list ]IL_ION_RATIOS: ions_and_ratios [ dict[str: int] ] (Default = Ca: 1 Cl: 1)Interlayer Solvent and Ions
IL_SOLV: solvent_presence [ bool ] (Default = True)UC_WATERS: 20.ION_WATERS: waters_per_ion [ int, dict[str: int] ]UC_WATERS: waters_per_uc [ int ] (Default = 20)SPACING_WATERS: hydrated_spacing [ float ]Simulation Box
BOX_HEIGHT: z_box_length [ float ] (Default = 15.0)BULK_SOLV: solvent_presence [ bool ] (Default = True)BULK_IONS: ion_type_conc [ dict[str: int] ] (Default = ‘Na’: 0.0 ‘Cl’: 0.0)GROMACS version
GMX: bash_alias [ str ]