MADNESS
0.10.1
|
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>
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 | |
madness | |
File holds all helper structures necessary for the CC_Operator and CC2 class. | |
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]) More... | |
template<typename T , std::size_t NDIM> | |
CCPairFunction< T, NDIM > | madness::apply (const SeparatedConvolution< T, NDIM > &G, const CCPairFunction< T, NDIM > &argument) |
apply the operator on a CCPairfunction, both with the same dimension More... | |
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, NDIM > | madness::apply (const SeparatedConvolution< T, NDIM/2 > &op, const CCPairFunction< T, NDIM > &arg) |
apply the operator to the argument More... | |
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 More... | |
template<std::size_t NDIM> | |
static SeparatedConvolution< double, NDIM > | madness::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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
template<std::size_t NDIM> | |
static SeparatedConvolution< double, NDIM > | madness::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) More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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, NDIM > | madness::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. More... | |
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, NDIM > | madness::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()) |
Implements most functionality of separated operators.