11 #ifdef MADNESS_HAS_INTEGRATORXX
12 #ifndef INTEGRATORXX_INCLUDED
13 #define INTEGRATORXX_INCLUDED
14 #include <integratorxx/generators/impl/impl.hpp>
40 #ifdef MADNESS_HAS_INTEGRATORXX
41 IntegratorXX::SphericalGridFactory::spherical_grid_ptr
grid;
44 std::vector<pointT>
points()
const {
return std::vector<pointT>();};
45 std::vector<double>
weights()
const {
return std::vector<double>();}
47 std::shared_ptr<dummygrid>
grid;
52 #ifndef MADNESS_HAS_INTEGRATORXX
90 #ifdef MADNESS_HAS_INTEGRATORXX
91 auto radial_quadrature=IntegratorXX::radial_from_string(
"MuraKnowles");
92 auto radial_traits=IntegratorXX::make_radial_traits(radial_quadrature,
nradial,1.0);
93 auto angular_quadrature=IntegratorXX::angular_from_string(
"LebedevLaikov");
94 IntegratorXX::UnprunedSphericalGridSpecification unp{
95 radial_quadrature, *radial_traits,
99 auto pruning_spec = IntegratorXX::robust_psi4_pruning_scheme(unp);
100 grid=IntegratorXX::SphericalGridFactory::generate_grid(pruning_spec);
107 auto points0=
grid->points();
108 std::vector<madness::Vector<double,3>>
points;
115 return grid->weights();
121 #ifdef MADNESS_HAS_INTEGRATORXX
124 using traits=IntegratorXX::quadrature_traits< IntegratorXX::LebedevLaikov<double>>;
125 int nextorder=traits::next_algebraic_order(order);
126 nangular = traits::npts_by_algebraic_order(nextorder);
128 using traits=IntegratorXX::quadrature_traits< IntegratorXX::AhrensBeylkin<double>>;
129 int nextorder=traits::next_algebraic_order(order);
130 nangular = traits::npts_by_algebraic_order(nextorder);
Definition: IntegratorXX.h:29
void set_angular_points_from_order(const std::size_t order)
number of angular gridpoints, derived from the angular order
Definition: IntegratorXX.h:120
void set_nradial(const std::size_t nradial1)
number of radial gridpoints on the interval [0,\inf)
Definition: IntegratorXX.h:69
std::size_t nangular
Definition: IntegratorXX.h:36
void set_angular_order(const std::size_t order)
a quadrature of a give order will integrate a spherical harmonic of that order exactly
Definition: IntegratorXX.h:59
std::size_t get_angular_order() const
a quadrature of a give order will integrate a spherical harmonic of that order exactly
Definition: IntegratorXX.h:64
void set_origin(const madness::Vector< double, 3 > &o)
the origin/center of the grid
Definition: IntegratorXX.h:79
std::vector< pointT > points
Definition: IntegratorXX.h:33
std::string angular_scheme
Definition: IntegratorXX.h:39
bool debug
Definition: IntegratorXX.h:32
std::size_t nradial
Definition: IntegratorXX.h:35
std::size_t get_nradial() const
number of radial gridpoints on the interval [0,\inf)
Definition: IntegratorXX.h:74
std::shared_ptr< dummygrid > grid
Definition: IntegratorXX.h:47
std::vector< double > get_weights() const
Definition: IntegratorXX.h:113
GridBuilder()
Definition: IntegratorXX.h:51
madness::Vector< double, 3 > origin
Definition: IntegratorXX.h:34
void make_grid()
Definition: IntegratorXX.h:83
std::vector< madness::Vector< double, 3 > > get_points() const
get the grid points
Definition: IntegratorXX.h:105
std::string radial_scheme
Definition: IntegratorXX.h:38
std::array< double, 3 > pointT
Definition: IntegratorXX.h:31
std::size_t angular_order
Definition: IntegratorXX.h:37
char * p(char *buf, const char *name, int k, int initial_level, double thresh, int order)
Definition: derivatives.cc:72
#define MADNESS_EXCEPTION(msg, value)
Macro for throwing a MADNESS exception.
Definition: madness_exception.h:119
#define MADNESS_CHECK_THROW(condition, msg)
Check a condition — even in a release build the condition is always evaluated so it can have side eff...
Definition: madness_exception.h:210
void print(const T &t, const Ts &... ts)
Print items to std::cout (items separated by spaces) and terminate with a new line.
Definition: print.h:225
Definition: IntegratorXX.h:43
std::vector< double > weights() const
Definition: IntegratorXX.h:45
std::vector< pointT > points() const
Definition: IntegratorXX.h:44
Implement the madness:Vector class, an extension of std::array that supports some mathematical operat...
Declares the World class for the parallel runtime environment.