MADNESS 0.10.1
Classes | Namespaces | Functions
operator.h File Reference

Implements most functionality of separated operators. More...

#include <type_traits>
#include <limits.h>
#include <madness/mra/adquad.h>
#include <madness/tensor/aligned.h>
#include <madness/tensor/tensor_lapack.h>
#include <madness/constants.h>
#include <madness/mra/simplecache.h>
#include <madness/mra/convolution1d.h>
#include <madness/mra/displacements.h>
#include <madness/mra/function_common_data.h>
#include <madness/mra/gfit.h>
#include <madness/mra/operatorinfo.h>
Include dependency graph for operator.h:

Go to the source code of this file.

Classes

struct  madness::SeparatedConvolution< Q, NDIM >::ApplyTerms
 laziness for calling lists: which terms to apply More...
 
struct  madness::archive::ArchiveLoadImpl< Archive, const SeparatedConvolution< T, NDIM > * >
 
struct  madness::archive::ArchiveStoreImpl< Archive, const SeparatedConvolution< T, NDIM > * >
 
class  madness::SeparatedConvolution< Q, NDIM >
 Convolutions in separated form (including Gaussian) More...
 
struct  madness::SeparatedConvolutionData< Q, NDIM >
 SeparatedConvolutionData keeps data for all terms, all dimensions. More...
 
struct  madness::SeparatedConvolutionInternal< Q, NDIM >
 
struct  madness::SeparatedConvolution< Q, NDIM >::Transformation
 too lazy for extended calling lists More...
 

Namespaces

namespace  madness
 Namespace for all elements and tools of MADNESS.
 
namespace  madness::archive
 Namespace for I/O tools.
 

Functions

template<typename T , typename R , std::size_t NDIM, std::size_t KDIM>
std::vector< Function< TENSOR_RESULT_TYPE(T, R), NDIM > > madness::apply (const SeparatedConvolution< T, KDIM > &op, const std::vector< Function< R, NDIM > > f)
 Applies an operator to a vector of functions — q[i] = apply(op,f[i])
 
template<typename T , std::size_t NDIM>
CCPairFunction< T, NDIMmadness::apply (const SeparatedConvolution< T, NDIM > &G, const CCPairFunction< T, NDIM > &argument)
 apply the operator on a CCPairfunction, both with the same dimension
 
template<typename T , std::size_t NDIM>
std::vector< CCPairFunction< T, NDIM > > madness::apply (const SeparatedConvolution< T, NDIM > &op, const std::vector< CCPairFunction< T, NDIM > > &argument)
 
template<typename T , std::size_t NDIM>
CCPairFunction< T, NDIMmadness::apply (const SeparatedConvolution< T, NDIM/2 > &op, const CCPairFunction< T, NDIM > &arg)
 apply the operator to the argument
 
template<typename T , std::size_t NDIM>
std::vector< CCPairFunction< T, NDIM > > madness::apply (const SeparatedConvolution< T, NDIM/2 > &op, const std::vector< CCPairFunction< T, NDIM > > &argument)
 apply the operator to the argument
 
template<std::size_t NDIM>
static SeparatedConvolution< double, NDIMmadness::BSHOperator (World &world, double mu, double lo, double eps, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int k=FunctionDefaults< NDIM >::get_k())
 Factory function generating separated kernel for convolution with BSH kernel in general NDIM.
 
static SeparatedConvolution< double, 3 > madness::BSHOperator3D (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with exp(-mu*r)/(4*pi*r) in 3D.
 
template<std::size_t NDIM>
static SeparatedConvolution< double, NDIM > * madness::BSHOperatorPtr (World &world, double mu, double lo, double eps, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int k=FunctionDefaults< NDIM >::get_k())
 Factory function generating separated kernel for convolution with BSH kernel in general NDIM.
 
static SeparatedConvolution< double, 3 > * madness::BSHOperatorPtr3D (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with exp(-mu*r)/(4*pi*r) in 3D.
 
static SeparatedConvolution< double, 3 > madness::CoulombOperator (World &world, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with 1/r in 3D.
 
static SeparatedConvolution< double, 3 > * madness::CoulombOperatorPtr (World &world, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with 1/r in 3D.
 
static SeparatedConvolution< double, 3 > madness::F2GOperator (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with (1/(2 mu)*(1 - exp(-mu*r)))^2/r in 3D.
 
static SeparatedConvolution< double, 3 > * madness::F2GOperatorPtr (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with (1/(2 mu)*(1 - exp(-mu*r)))^2/r in 3D.
 
static SeparatedConvolution< double, 3 > madness::FGOperator (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with 1/(2 mu)*(1 - exp(-mu*r))/r in 3D.
 
static SeparatedConvolution< double, 3 > * madness::FGOperatorPtr (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with 1/(2 mu)*(1 - exp(-mu*r))/r in 3D.
 
template<std::size_t NDIM>
static SeparatedConvolution< double, NDIMmadness::GaussOperator (World &world, double mu, double lo=0.0, double eps=0.0, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int k=FunctionDefaults< NDIM >::get_k())
 Factory function generating separated kernel for convolution with exp(-mu*r*r)
 
template<std::size_t NDIM>
static SeparatedConvolution< double, NDIM > * madness::GaussOperatorPtr (World &world, double mu, double lo=0.0, double eps=0.0, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int k=FunctionDefaults< NDIM >::get_k())
 Factory function generating separated kernel for convolution with exp(-mu*r*r) in 3D.
 
static std::vector< std::shared_ptr< SeparatedConvolution< double, 3 > > > madness::GradBSHOperator (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating operator for convolution with grad(bsh) in 3D.
 
static std::vector< std::shared_ptr< SeparatedConvolution< double, 3 > > > madness::GradCoulombOperator (World &world, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating operator for convolution with grad(1/r) in 3D.
 
static SeparatedConvolution< double_complex, 3 > madness::PeriodicBSHOperator3D (World &world, Vector< double, 3 > args, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with exp(-mu*r)/(4*pi*r) in 3D.
 
static SeparatedConvolution< double_complex, 3 > * madness::PeriodicBSHOperatorPtr3D (World &world, Vector< double, 3 > args, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with exp(-mu*r)/(4*pi*r) in 3D.
 
static SeparatedConvolution< double_complex, 3 > madness::PeriodicHFExchangeOperator (World &world, Vector< double, 3 > args, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with 1/r in 3D.
 
static SeparatedConvolution< double, 3 > madness::SlaterF12Operator (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 
static SeparatedConvolution< double, 3 > * madness::SlaterF12OperatorPtr (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 Factory function generating separated kernel for convolution with (1 - exp(-mu*r))/(2 mu) in 3D.
 
static SeparatedConvolution< double, 3 > madness::SlaterF12sqOperator (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 
static SeparatedConvolution< double, 3 > * madness::SlaterF12sqOperatorPtr (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 
template<std::size_t NDIM = 3>
static SeparatedConvolution< double, NDIMmadness::SlaterOperator (World &world, double mu, double lo, double eps, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int k=FunctionDefaults< NDIM >::get_k())
 Factory function generating separated kernel for convolution with exp(-mu*r) in 3D.
 
static SeparatedConvolution< double, 3 > * madness::SlaterOperatorPtr (World &world, double mu, double lo, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 
template<std::size_t NDIM>
static SeparatedConvolution< double, NDIM > * madness::SlaterOperatorPtr_ND (World &world, double mu, double lo, double eps, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int k=FunctionDefaults< NDIM >::get_k())
 
template<std::size_t NDIM>
static SeparatedConvolution< double, NDIMmadness::SmoothingOperator (World &world, double eps, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int k=FunctionDefaults< NDIM >::get_k())
 
static SeparatedConvolution< double, 3 > madness::SmoothingOperator3D (World &world, double eps, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), int k=FunctionDefaults< 3 >::get_k())
 

Detailed Description

Implements most functionality of separated operators.