Loading...
Searching...
No Matches
PairHessian.h File Reference
#include "BaseStructures.h"
#include "Eigen.h"
#include "ObjectiveFunction.h"
#include <algorithm>
#include <cmath>
#include <limits>
#include <string>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  eonc
 RAII resource manager for the ARTn C library with global synchronization.
namespace  eonc::pairhess

Functions

void eonc::pairhess::addPairBlock (Eigen::MatrixXd &P, int i, int j, const Eigen::Vector3d &rij, double k_par, double k_perp)
void eonc::pairhess::ljDerivs (double r, double eps, double sigma, double &vp, double &vpp)
void eonc::pairhess::morseDerivs (double r, double D, double a, double re, double &vp, double &vpp)
bool eonc::pairhess::isModelHess (const std::string &kind)
void eonc::pairhess::addScalarInternal (Eigen::MatrixXd &P, const int *atoms, const Eigen::Vector3d *g, int n_atoms, double k)
 Rank-1 update (k\,(\nabla q)(\nabla q)^\top) for a scalar internal.
bool eonc::pairhess::angleGrads (const Eigen::Vector3d &ri, const Eigen::Vector3d &rj, const Eigen::Vector3d &rk, Eigen::Vector3d g[3])
 Wilson (B) rows for the valence angle (i{-}j{-}k) ((j) central).
bool eonc::pairhess::torsionGrads (const Eigen::Vector3d &ri, const Eigen::Vector3d &rj, const Eigen::Vector3d &rk, const Eigen::Vector3d &rl, Eigen::Vector3d g[4])
 Wilson (B) rows for the torsion (i{-}j{-}k{-}l).
double eonc::pairhess::lindhRho (double r, double r_nn, double alpha)
double eonc::pairhess::swartScreen (double r, double r_nn)
void eonc::pairhess::addModelHess (Eigen::MatrixXd &P, const Eigen::VectorXd &pos, const std::string &kind, double A, double mu, double r_nn, double rcut, ObjectiveFunction &objf)
Eigen::MatrixXd eonc::pairhess::build (const Eigen::VectorXd &pos, const std::string &kind, PotType pot, double A, double mu, double rcut_in, ObjectiveFunction &objf)
 Analytic pair or model Hessian.