Create and Fill Cell
Description
This function creates an empty cell and fills it with copies of other systems.
The arrangement of the inserted systems can be controlled using the variables orientation and position. The orientation variable allows for random rotation of each inserted molecule (using the random option) or keeping the system’s original orientation (using the regular option), so all inserted systems maintain the same orientation. The position variable can be set to either random or space-fill.
The space-fill option implement this algorithm:
-
It first creates a straight line going from the origin of the coordinates' system (also origin of the simulation cell) to the point:
[int(replica_x)*cell_x, int(replica_y)*cell_y, int(replica_z)*cell_z]wherecell_x,cell_yandcell_zare the cell sides and:replica_z = 1 replica_y = (N_t)^(1/3) * (cell_z)^(1/3) * (cell_x*cell_y)^(-1/6) replica_x = (replica_y * N_t)^(1/2) (cell_y/cell_x)^(1/2)whereN_tis the total number of molecule to insert. -
Then, it insert the
N_tmolecule on the defined line, leaving equal space among them. -
Finally, it wraps the straight line into the simulation cell, guaranteeing a uniform distribution of the molecules in the cell.
In every case, a minimum distance between the inserted systems can be defined in input.
It’s important to consider that the system cell, number of molecules, and minimum distance affect the reliability and speed of the algorithm. These parameters should be chosen carefully to ensure that the system density is compatible with the specified minimum distance. The denser the system, the longer it will take the algorithm to find a stable arrangement.
Periodic boundary conditions (PBCs) can also be considered when inserting systems, meaning that the distance between atoms will be calculated using PBC. Regardless of whether PBC is used, the center of mass of each component will always be placed inside the cell.
Latest version
Allowed number of parents: 1 or 2
-
System to insert
-
System to insert
| Parameter | Description | Value type | Value restrictions | Default value | Units |
|---|---|---|---|---|---|
Cell dimensions |
The three cell lengths (x,y,z) |
float |
>0 |
[0.0, 0.0, 0.0] |
Angstrom |
Seed for random generation |
The seed used in the random generator, -1 can be selected for a random seed |
int |
>-1 |
123 |
N/A |
Total number of components |
The number of components to insert. We have one entry for each parent component (max2) |
int |
≥0 |
0 |
N/A |
Orientation |
The orientation of the components to be inserted |
selector |
random, regular |
random |
N/A |
Position |
The position within the cell where the components shall be inserted |
selector |
random, spacefilling |
random |
N/A |
Minimum distance between atoms |
Minimum distance between the atoms of the inserted component and the existing system. We have one entry for each inserted component (maximum two entries). If only one parent is provided, this parameter controls the minimum distance between the inserted components |
float |
>0 |
2.0 |
Angstrom |
Periodic boundary conditions |
Indicates whether we have periodic boundary conditions in x, y and z |
boolean |
True, False |
[True, True,True] |
N/A |
Enable minimization |
Indicates if a GROMACS energy minimization should be performed to increase the insertion success rate |
boolean |
True, False |
False |
N/A |
Number of steps |
Maximum number of steps in the energy minimization |
integer |
>0 |
5000 |
N/A |
Convergence criterion for energy minimization |
Force convergence criterion for the energy minimization |
float |
0 < x < 10000 |
100 |
kJ mol-1 nm-1 |
Initial step for energy minimization |
The initial step size for the energy minimization |
float |
0 < x < 0.1 |
0.001 |
nm |
Distance limit for energy minimization |
If the minimization is enabled, it indicates the minimum distance between the inserted component and the existing system before the minimization |
float |
>0 |
0.5 |
Angstrom |