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