atsim.potentials.spline
¶
Package Contents¶
Classes¶
Spline_Point (potential_function, r) |
Class for the attachment and detachment points of potential objects and region to be splined |
Exp_Spline (detach_point, attach_point) |
Class for represention splines of the form: |
Buck4_Spline (detach_point, attach_point, r_min) |
Class for representing the splined part of the four ranged Buckingham potential. |
Custom_SplinePotential (spline) |
Callable to allow splining of one potential to another |
SplinePotential (startPotential, endPotential, detachmentX, attachmentX) |
Callable to allow splining of one potential to another using an exponential spline |
Buck4_SplinePotential (startPotential, endPotential, detachmentX, attachmentX, r_min) |
Callable to allow splining of one potential to another using the Buck4 spline type |
Functions¶
gradient (func, h=1e-06) |
Function wrapper that returns derivative of func. |
-
atsim.potentials.spline.
gradient
(func, h=1e-06)[source]¶ Function wrapper that returns derivative of func.
If the callable, func provides a .deriv(r) method this will be used to evaluate the derivative of the function, if not the returned function will use num_deriv() in gradient evaluation.
If the callable additionally provides a .deriv2(r) method, representing its second derivative, the function returned by this routine will have a deriv() method which will delegate to func.deriv2() when called.
By providing .deriv() and .deriv2() on the func callable analytical descriptions of a potential’s first and second derivatives may be specified.
Parameters: - func – Function to be wrapped
- h – Step size used when performing numerical differentiation
Returns: Function that returns derivative of func
-
class
atsim.potentials.spline.
Spline_Point
(potential_function, r)[source]¶ Bases:
object
Class for the attachment and detachment points of potential objects and region to be splined
-
class
atsim.potentials.spline.
Exp_Spline
(detach_point, attach_point)[source]¶ Bases:
object
Class for represention splines of the form:
\[U(r_{ij}) = \exp \left( B_0 + B_1 r_{ij} + B_2 r_{ij}^2 + B_3 r_{ij}^3 + B_4 r_{ij}^4 + B_5 r_{ij}^5 \right) + C\]The spline coefficients \(B_{0...5}\) and C can be obtained using the
spline_coefficients()
property.
-
class
atsim.potentials.spline.
Buck4_Spline
(detach_point, attach_point, r_min)[source]¶ Bases:
object
Class for representing the splined part of the four ranged Buckingham potential.
Between the detachment point and r_min this is a 5th order polynomial:
\[U(r_{ij}) = A_0 + A_1 r_{ij} + A_2 r_{ij}^2 + A_3 r_{ij}^3 + A_4 r_{ij}^4 + A_5 r_{ij}^5\]and between r_min and the re-attachment point a 3rd order spline is used:
\[U(r_{ij}) = B0 + B_1 r_{ij} + B_2 r_{ij}^2 + B_3 r_{ij}^3\]The spline coefficients \(A_{0..5}\) and \(B_{0..3}\) are solved such that the the spline values match with the potential functions at the detach and re-attachment points and r_min. They are continuous in their first and second derivatives across these points and where the two splines meet at r_min. Finally, the derivative at r_min is set to be 0 with the aim of creating a minimum.
-
spline_coefficients
[source]¶ Spline coefficients as list of form [A_0, A_1, A_2, A_3, A_4, A_5, B_0, B_1, B_2, B_3]
-
spline5
[source]¶ Callable (atsim.potentials.potentialfunctions.polynomial) object representing the fifth order section of the buck4 spline - between detach_point and r_min
-
-
class
atsim.potentials.spline.
Custom_SplinePotential
(spline)[source]¶ Bases:
object
Callable to allow splining of one potential to another
-
interpolationFunction
[source]¶ Returns: Spline object connecting startPotential and endPotential for separations detachmentX
< rij <attachmentX
-
-
class
atsim.potentials.spline.
SplinePotential
(startPotential, endPotential, detachmentX, attachmentX)[source]¶ Bases:
atsim.potentials.spline.Custom_SplinePotential
Callable to allow splining of one potential to another using an exponential spline
-
class
atsim.potentials.spline.
Buck4_SplinePotential
(startPotential, endPotential, detachmentX, attachmentX, r_min)[source]¶ Bases:
atsim.potentials.spline.Custom_SplinePotential
Callable to allow splining of one potential to another using the Buck4 spline type