List of Potential Modifiers¶
Potential modifiers are described here: Potential modifiers.
A list of available potential modifiers is provided here.
pow()
¶
Modifier that raises each potentialform to the power of the next.
If the potentials provide analytical derivatives, the pow()
modifier will combine these correctly.
Example:¶
To take the square of the sum() of a series of potential forms you could use:
[Pair]
# This would evaluate to 0.16
AB : pow(sum(as.constant 1, as.constant 0.1, as.constant 0.5),
as.constant 2)
pow()
can take more than two potential forms as its arguments:
[Pair]
# This would evaluate to 2^(2^3) = 256
AB : pow(as.constant 2, as.constant 3, as.constant 2)
You aren’t restricted to using constant values as arguments:
[Pair]
# This is equivalent to 2^(0.5r + r^2)
AB : pow(as.constant 2, as.polynomial 0 0.5 1)
product()
¶
Modifier that takes the product of the potentialforms provided to it as arguments.
If the potentials provide analytical derivatives the product()
modifier will combine these correctly.
Example:¶
Any number of potential instances can be multiplied by each other:
[Pair]
# Evaluates to 16
AA : product(as.constant 2.0, as.constant 2.0, as.constant 4.0)
# Apply a softcutoff at 2.5 Angs to a Buckingham potential
# This defines a custom function in the [PotentialForm] section
# based on the complementary error function for this purpose.
BB : product(as.buck 1000.0 0.2 32.0,
truncate 2.5)
[PotentialForm]
truncate(rij, cutoff) = erfc(4*(rijcutoff))/2.0
spline()
¶
Modifier that smoothly splines between two potential forms by linking them with an intermediate spline.
spline()
takes a single argument which is defined as a multirange potential. This must define three ranges:
 Start potential
 Interpolating spline
 End potential
The Interpolating spline section has the form:
SPLINE_LABEL SPLINE_PARAMETERS
Where the SPLINE_LABEL
defines the type of spline to be used and the (optional) SPLINE_PARAMETERS
is a list of space separated options taken by the spline function.
A list of spline types usable with SPLINE_LABEL
is now given:
buck4_spline
¶
Spline Signature:  



Description:  Combination of a fifth and third order polynomial joined by a stationary point at \(r_\text{min}\). This is the spline used in the wellknown fourrange Buckingham potential form. 
See also: 
exp_spline
¶
Spline Signature:  



Description:  Exponential of fifth order polynomial. 
See also: 
Example:¶
A configuration string might be defined as:
[Pair]
SiO : spline(>0 as.zbl 14 8 >=0.8 exp_spline >=1.4 as.buck 180003 0.3 32.0)
This would create a zbl and Buckingham potential connected by an exponential spline when r is between 0.8 and 1.4.
See also
Splining is introduced in more detail here: Splining.
List of examples:
sum()
¶
Modifier that sums all the potentials given as arguments.
If the potentials provide analytical derivatives the sum()
modifier will combine these correctly.
Example:¶
Any number of potential instances can be summed:
[Pair]
# Evaluates to 3
AA : sum(as.constant 1.0, as.constant 2.0)
# Evaluates to 6
BB : sum(as.constant 1.0, as.constant 2.0, as.constant 3.0)
See also
This modifier is used in the following examples:
trans()
¶
Modifier that applies the following transformation to a given potential function:
potential(r+X)
Where X is the transformation value.
This modifier takes two arguments, the first is a potential form instance. The second must be an instance of as.constant
that takes X
as its argument.
Example¶
To shift a Buckingham paair potential two angstroms to the left the trans()
modifier could be used like this:
[Pair]
AB : trans(as.buck 1000.0 0.1 32.0, as.constant 2)