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 potential-form 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
A-B : 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
A-B : 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)
A-B : pow(as.constant 2, as.polynomial 0 0.5 1)
product()
¶
Modifier that takes the product of the potential-forms 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
A-A : product(as.constant 2.0, as.constant 2.0, as.constant 4.0)
# Apply a soft-cutoff at 2.5 Angs to a Buckingham potential
# This defines a custom function in the [Potential-Form] section
# based on the complementary error function for this purpose.
B-B : product(as.buck 1000.0 0.2 32.0,
truncate 2.5)
[Potential-Form]
truncate(rij, cutoff) = erfc(4*(rij-cutoff))/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 multi-range 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 well-known four-range 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]
Si-O : 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
A-A : sum(as.constant 1.0, as.constant 2.0)
# Evaluates to 6
B-B : 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]
A-B : trans(as.buck 1000.0 0.1 32.0, as.constant 2)