23#ifndef _util_misc_grid_h
24#define _util_misc_grid_h
26#include <chemistry/molecule/molecule.h>
27#include <util/class/class.h>
28#include <util/misc/runnable.h>
29#include <util/misc/units.h>
74 Grid(
int numx = 1,
int numy = 1,
int numz = 1,
87 void wf_mpqc(std::ostream &out);
88 void wf_gaussian_cube(std::ostream &out);
89 void wf_vtk2(std::ostream &out);
90 void wf_mpqc_raw(std::ostream &out);
92 std::string filename_;
95 void (
WriteGrid::*write_format_)(std::ostream &out);
103 virtual void label(
char* buffer) = 0;
142#ifdef MPQC_NEW_FEATURES
149 virtual int operator()(
int d)
const {
160 void wf_gaussian_cube(std::ostream &out,
const DimensionMap& dmap);
162 std::string filename_;
174 virtual void label(
char* buffer) = 0;
178 virtual void calculate_values(
const std::vector<SCVector3>& Points, std::vector<double>& Vals)=0;
180 virtual std::size_t
ndim()
const =0;
204 std::string gridformat, std::string gridfile);
208#ifdef MPQC_NEW_FEATURES
209 virtual boost::property_tree::ptree& write_xml(boost::property_tree::ptree& parent,
const XMLWriter& writer);
Classes which need runtime information about themselves and their relationship to other classes can v...
Definition class.h:233
The Grid class defines a finite regular Carthesian grid.
Definition grid.h:35
Grid(const Ref< KeyVal > &)
The KeyVal constructor.
A template class that maintains references counts.
Definition ref.h:361
The Runnable class is a DescribedClass with a pure virtual run member.
Definition runnable.h:36
a 3-element version of SCVector
Definition vector3.h:44
The Units class is used to perform unit conversions.
Definition units.h:38
The abstract WriteGrid class provides an interface for writing the value of a scalar function evaluat...
Definition grid.h:85
WriteGrid(const Ref< KeyVal > &)
The KeyVal constructor.
virtual Ref< Molecule > get_molecule()=0
Returns the molecule around which the grid values are calculated.
virtual double calculate_value(SCVector3 point)=0
Returns the value of the scalar function at the given coordinate.
virtual void initialize()=0
Prepares some pre-caculated values before the repetitive grid calculations are perfomed.
void run()
Writes the grid data.
virtual void label(char *buffer)=0
A label that identifies the scalar function evaluated at the grid points, is written to the buffer ar...
WriteVectorGrid provides an interface for writing the value of a vector function evaluated at a given...
Definition grid.h:145
virtual void initialize()=0
Prepares some pre-calculated values before the repetitive grid calculations are perfomed.
void run()
Writes the grid data.
WriteVectorGrid(const Ref< KeyVal > &)
The KeyVal constructor.
virtual void calculate_values(const std::vector< SCVector3 > &Points, std::vector< double > &Vals)=0
Returns the value of the vector function at the given coordinate.
virtual void label(char *buffer)=0
A label that identifies the scalar function evaluated at the grid points, is written to the buffer ar...
virtual Ref< Molecule > get_molecule()=0
Returns the molecule around which the grid values are calculated.
virtual const DimensionMap & dimension_map() const =0
dimension map
virtual std::size_t ndim() const =0
number of dimensions of the vector
Definition xmlwriter.h:223
Contains all MPQC code up to version 3.
Definition mpqcin.h:14