Add (Node)
Overview
The Add
node is a core component of nearly all configuration generators requiring the initial construction of a suitable starting point. It adds a number of copies of a given target species to the current box, either at specific or random coordinates. By default, the box is resized to accommodate the new population of molecules based on a supplied density.
If the species is periodic, the box associated with that species can be copied to the model as part of the Add
process. In that case, an initial
Box
node is not necessary in the procedure.
Description
When adding molecules of the target species to the current configuration, there are several possible actions on the periodic box for that configuration:
- No resizing of the box is performed (
BoxAction
=None
) - The box retains its original geometry regardless of the number of added molecules. This is useful if an explicit box geometry has already been set by a Box node, or it has existing contents that should not be resized (e.g. a crystal). - The box volume is increased to accommodate the new molecules (
BoxAction
=AddVolume
) - Additional volume is added to the box based on the density and population of the target species. Existing molecules within the box have their centres of geometry scaled as well. - The box volume is scaled to give the supplied density (
BoxAction
=ScaleVolume
) - The box volume is scaled to give the requested density, taking into account the existing box contents and the new population of molecules requested. Existing molecules within the box have their centres of geometry scaled as well. - The box is set (
BoxAction
=Set
) from a definition on the species itself (if it is periodic). This is typically used when the species is a framework-type model (e.g. a metal organic framework) and it is to be used as the main basis for a configuration.
When resizing the box, the default is to scale equally in all directions A, B, and C. The scaling can be restricted to two or even one principal axis by setting ScaleA
, ScaleB
, and/or ScaleC
to false
. At least one axis must remain scalable, for obvious reasons!
Options
Target
Keyword | Arguments | Default | Description |
---|---|---|---|
Species |
name |
– | Required Target species to add, unless aCoordinateSets has been given. Using the Species option will result in identical copies of the molecule being added to the box. Note that the two options are mutually exclusive, and setting both will result in an error. |
CoordinateSets |
CoordinateSets | – | Required Target coordinate set source to use when adding, unless aSpecies has been given. Note that the two options are mutually exclusive, and setting both will result in an error. |
Density |
expr DensityUnit |
0.1 atoms/A3 |
Density at which to add the target species. Note that the use of this value differs according to the selected BoxAction (see above). |
Population |
expr |
0 |
Population of the target species to add. |
Box Modification
Keyword | Arguments | Default | Description |
---|---|---|---|
BoxAction |
BoxActionStyle |
AddVolume |
Action to take on the Box geometry / volume on addition of the species |
ScaleA |
bool |
true |
Whether to scale the A cell axis when changing the cell volume. |
ScaleB |
bool |
true |
Whether to scale the B cell axis when changing the cell volume. |
ScaleC |
bool |
true |
Whether to scale the C cell axis when changing the cell volume. |
Positioning
Keyword | Arguments | Default | Description |
---|---|---|---|
Positioning |
PositioningType |
Random |
Positioning type for individual molecules. |
Region |
name |
– | Region node controlling the location of inserted species into the configuration. |
Rotate |
bool |
true |
Whether to randomly rotate molecules on insertion. |