JDFTx  1.7.0
TranslationOperatorSpline Class Reference

Translation operator which works in real space using interpolating splines. More...

#include <TranslationOperator.h>

Inheritance diagram for TranslationOperatorSpline:
TranslationOperator

Public Types

enum  SplineType { Constant , Linear }
 Types of interpolating spline available for translation. More...
 

Public Member Functions

 TranslationOperatorSpline (const GridInfo &gInfo, SplineType splineType)
 
void taxpy (const vector3<> &t, double alpha, const ScalarField &x, ScalarField &y) const
 
- Public Member Functions inherited from TranslationOperator
 TranslationOperator (const GridInfo &gInfo)
 

Public Attributes

enum TranslationOperatorSpline::SplineType splineType
 
- Public Attributes inherited from TranslationOperator
const GridInfogInfo
 

Detailed Description

Translation operator which works in real space using interpolating splines.

Member Enumeration Documentation

◆ SplineType

Types of interpolating spline available for translation.

Enumerator
Constant 

0th order spline i.e. nearest neighbour interpolation

Linear 

1st order spline i.e. linear interpolation

Member Function Documentation

◆ taxpy()

void TranslationOperatorSpline::taxpy ( const vector3<> &  t,
double  alpha,
const ScalarField x,
ScalarField y 
) const
virtual

Compute \( y += alpha T_t(x) \) , where \( T_t \) is the translation operator \( T_t(x(r)) = x(r+t) \) modulo the lattice vectors T must conserve integral(x) and satisfy \( T^{\dagger}_t = T_{-t} \) exactly for gradient correctness Note that \( T^{-1}_t = T_{-t} \) may only be approximately true for some implementations.

Implements TranslationOperator.


The documentation for this class was generated from the following file: