Hi Matsiv,
Assuming that you are building a forcefield from scratch, the basic elements of the workflow are:
1) Prepare the configuration in the builder. This consists of adding tags to signify the different atom types. If your custom potential broadly follows the typing conventions of one of the supported forcefields (OPLS, UFF or Dreiding) you can also automatically assign types based on the geometry.
You can also optionally set up partial charges at this stage as well. QuantumATK is able to work with partial charges either set individually on each atom in the configuration or set based on atom types as part of the potential. If you want to use specific atomic charges for the atoms you can set that now.
Potentials that use bond terms also require that Static Bonds are enabled on the configuration.
2) Once you have the starting configuration prepared, send it to the Script Generator. There add a Forcefield calculator.
3) Open the calculator and select a New -> Potential Set. This will open the Potential Editor. This is where you can specify the details of your potential. Start with adding editing the atom types. Here you can set the tags that the atom type uses, the partial charge and the Lennard-Jones parameters. If a type doesn’t have a tag, then it applies to every element of that type.
4) Add in the potentials and the Coulomb solver. Every different bond, angle, torsion, ect requires that a potential is added. Adding a Coulomb solver also specifies the algorithm that is used to sum the electrostatic interactions. If the potential is set correctly, you should not see any warnings.
5) As a final step, select OK in the Potential Editor to return to the ForceFieldCalculator dialog. Here select the source of the partial charges. You can choose between using the charges associated with the atom types, the charges on the configuration or calculating charges in the initial configuration using QEq.
6) If everything is correct the calculator will be valid and you can add the remaining blocks for your calculation.
As specifying all of the bond, angle and torsion potentials can be rather tedious, it is possible to add potentials based on one or more molecular templates. This works using the potential scheme of one of the supported potentials, adding the necessary potential functions from that forcefield. To do this:
1) In the builder, create a new MoleculeConfiguration of the template molecule, and assign the same atom types as the molecules in the BulkConfiguration.
2) In the Potential Editor, load the molecule into the Potential builder. If you select “Load from file..” it will automatically open the Stash file and allow to select molecules from the builder.
3) Select the forcefield and click “Generate components”. This will populate the potential with the terms necessary for modelling that molecule, as well as the cross Lennard-Jones potentials for the other atom types in the BulkConfiguration.
4) Repeat this process for each template.
For systems that have atoms that are not well parameterized by those forcefields, it is possible to add placeholder types. These types have the same prefix as types from the supported forcefields (UFF_, DREI_ or OPLS_), but the type itself is not in the potential. When placeholder types are encountered the relevant potential is added without parameters. These can be filled in manually. Using placeholder types enables adding new atom types to an existing forcefield, and automatically identifies the potential data that is missing and must be manually added.
I hope that helps with your calculation. It is a rather long explanation, but the potential editor is itself has a lot of useful features. It has also seen some significant improvement in the latest S-2021 release, including the ability to use templates.
Cheers,
Brad.