With this option it is possible to include only some atoms of a configuration in the optimization. This only affects forces; energies and stresses will ALWAYS be calculated for the entire configuration.
To enable support for this feature add the
–enable-contrib command line argument to the
waf configure command. e.g.:
./waf configure -i pair -m tab --enable-contrib
Currently there are two different possibilities to specify the atoms - they have to be either in a box or a sphere. All of the additional required coordinates have to be given in the header of a configuration and can be different for different configurations.
Atoms created by periodic boundary conditions will never contribute, even if the box or sphere of contributing atoms extends beyond the original box.
A box containing the contributing atoms can be defined by four vectors, given in the header of a configuration:
#B_O x y z #B_A x y z #B_B x y z #B_C x y z
B_O is the vector pointing to the origin of the box and
B_C are the three vectors spanning the box. There is no restriction on the orientation or size of this inner box.
You can only have one box of contributing particles per configuration. If you need more, include the configuration more often and add a different box each time.
Only atoms inside the sphere will be contributing to the error sum and thus the optimization.
To add such a sphere to a configuration, add the following line to the header of a configuration:
#B_S x y z r
The first three numbers will be interpreted as the center of the sphere and r as the radius.
It is possible to add several spheres to a single configuration, simply add more
#B_S lines to the configuration header.
It is possible to combine a box and spheres, but the same restrictions apply as before. You can only have a single box but several spheres per configuration:
#B_S x y z r // Sphere 1 #B_S x y z r // Sphere 2 #B_S x y z r // Sphere 3 #B_O x y z // origin of box #B_A x y z // vector A #B_B x y z // vector B #B_C x y z // vector C