File Second3D.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
-
namespace
AutomaticDifferentiation
Functions
-
class
Second3D
- #include <Second3D.h>
Class representing values in three dimensions and allowing for the automatic calculation of first and second derivatives.
Public Functions
-
Second3D
() Constructor that takes no arguments and intializes value and derivatives to Zero.
-
Second3D
(double v, double dx, double dy, double dz, double xx = 0, double yy = 0, double zz = 0, double xy = 0, double xz = 0, double yz = 0) Constructor that takes the value and all derivatives as doubles.
-
Second3D
opposite
() const Returns a Second3D object with first derivatives only multiplied by -1.
- Return
-
double
value
() const Getter for the value.
- Return
double Value.
-
void
setValue
(double v) Setter for the value.
-
void
setFirst3D
(const Eigen::Vector3d &d) Setter for first derivative as Eigen::Vector3d.
-
void
setZero
() Zero initializer.
-
Eigen::Vector3d
deriv
() const Getter for first derivative.
- Return
Eigen::Vector3d
-
void
setXX
(double v) Setter for all the second derivatives.
XX refers to (dv)^2/(dx)^2, XY to (dv)^2/(dxdy), and so on…
-
void
setYY
(double v)¶
-
void
setZZ
(double v)¶
-
void
setXY
(double v)¶
-
void
setYX
(double v)¶
-
void
setXZ
(double v)¶
-
void
setZX
(double v)¶
-
void
setYZ
(double v)¶
-
void
setZY
(double v)¶
-
double
dx
() const Getter for dv/dx derivative.
- Return
double dv/dx
-
double
dy
() const Getter for dv/dy derivative.
- Return
double dv/dy
-
double
dz
() const Getter for dv/dz derivative.
- Return
double dv/dz
-
double
XX
() const Getter for the second derivatives.
- Return
double
-
double
YY
() const¶
-
double
ZZ
() const¶
-
double
XY
() const¶
-
double
YX
() const¶
-
double
XZ
() const¶
-
double
ZX
() const¶
-
double
YZ
() const¶
-
double
ZY
() const¶
-
Second3D
operator-
() const Definition of all differentiation rules.
-
-
class
-
namespace
-
namespace