MADNESS 0.10.1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
GridBuilder Class Reference

#include <IntegratorXX.h>

Collaboration diagram for GridBuilder:
Collaboration graph
[legend]

Classes

struct  dummygrid
 

Public Member Functions

 GridBuilder ()
 
std::size_t get_angular_order () const
 a quadrature of a give order will integrate a spherical harmonic of that order exactly
 
std::size_t get_nradial () const
 number of radial gridpoints on the interval [0,\inf)
 
std::vector< madness::Vector< double, 3 > > get_points () const
 get the grid points
 
std::vector< double > get_weights () const
 
void make_grid ()
 
void set_angular_order (const std::size_t order)
 a quadrature of a give order will integrate a spherical harmonic of that order exactly
 
void set_nradial (const std::size_t nradial1)
 number of radial gridpoints on the interval [0,\inf)
 
void set_origin (const madness::Vector< double, 3 > &o)
 the origin/center of the grid
 

Private Types

typedef std::array< double, 3 > pointT
 

Private Member Functions

void set_angular_points_from_order (const std::size_t order)
 number of angular gridpoints, derived from the angular order
 

Private Attributes

std::size_t angular_order =7
 
std::string angular_scheme ="LebedevLaikov"
 
bool debug =false
 
std::shared_ptr< dummygridgrid
 
std::size_t nangular =0
 
std::size_t nradial =25
 
madness::Vector< double, 3 > origin ={0,0,0}
 
std::vector< pointTpoints
 
std::string radial_scheme ="TA"
 

Detailed Description

Builder for a molecular integration grid, using IntegratorXX

usage: GridBuilder builder; builder.set_nradial(nrad); builder.set_origin(gridcenter); builder.set_angular_order(order); builder.make_grid(); std::vector<Vector<double,3>> points=builder.get_points(); see test_IntegratorXX.cc for an example

Member Typedef Documentation

◆ pointT

typedef std::array<double,3> GridBuilder::pointT
private

Constructor & Destructor Documentation

◆ GridBuilder()

GridBuilder::GridBuilder ( )
inline

Member Function Documentation

◆ get_angular_order()

std::size_t GridBuilder::get_angular_order ( ) const
inline

a quadrature of a give order will integrate a spherical harmonic of that order exactly

References angular_order.

Referenced by madness::molecular_grid< NDIM >::get_grid(), and test_integration().

◆ get_nradial()

std::size_t GridBuilder::get_nradial ( ) const
inline

number of radial gridpoints on the interval [0,\inf)

References nradial.

Referenced by madness::molecular_grid< NDIM >::get_grid(), and test_integration().

◆ get_points()

std::vector< madness::Vector< double, 3 > > GridBuilder::get_points ( ) const
inline

◆ get_weights()

std::vector< double > GridBuilder::get_weights ( ) const
inline

References grid, and MADNESS_CHECK_THROW.

Referenced by test_integration().

◆ make_grid()

void GridBuilder::make_grid ( )
inline

◆ set_angular_order()

void GridBuilder::set_angular_order ( const std::size_t  order)
inline

a quadrature of a give order will integrate a spherical harmonic of that order exactly

References angular_order.

Referenced by madness::dftgrid< NDIM >::dftgrid(), madness::dftgrid< NDIM >::dftgrid(), and test_integration().

◆ set_angular_points_from_order()

void GridBuilder::set_angular_points_from_order ( const std::size_t  order)
inlineprivate

number of angular gridpoints, derived from the angular order

References angular_scheme, MADNESS_EXCEPTION, and nangular.

Referenced by make_grid().

◆ set_nradial()

void GridBuilder::set_nradial ( const std::size_t  nradial1)
inline

number of radial gridpoints on the interval [0,\inf)

References nradial.

Referenced by madness::dftgrid< NDIM >::dftgrid(), madness::dftgrid< NDIM >::dftgrid(), and test_integration().

◆ set_origin()

void GridBuilder::set_origin ( const madness::Vector< double, 3 > &  o)
inline

the origin/center of the grid

References origin.

Referenced by madness::dftgrid< NDIM >::dftgrid(), and test_integration().

Member Data Documentation

◆ angular_order

std::size_t GridBuilder::angular_order =7
private

◆ angular_scheme

std::string GridBuilder::angular_scheme ="LebedevLaikov"
private

◆ debug

bool GridBuilder::debug =false
private

Referenced by make_grid().

◆ grid

std::shared_ptr<dummygrid> GridBuilder::grid
private

Referenced by get_points(), get_weights(), and make_grid().

◆ nangular

std::size_t GridBuilder::nangular =0
private

◆ nradial

std::size_t GridBuilder::nradial =25
private

Referenced by get_nradial(), make_grid(), and set_nradial().

◆ origin

madness::Vector<double,3> GridBuilder::origin ={0,0,0}
private

Referenced by get_points(), and set_origin().

◆ points

std::vector<pointT> GridBuilder::points
private

Referenced by get_points().

◆ radial_scheme

std::string GridBuilder::radial_scheme ="TA"
private

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