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
144 #endif // 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);
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 calculate_values(const std::vector< SCVector3 > &Points, std::vector< double > &Vals)=0
Returns the value of the vector function at the given coordinate.
WriteVectorGrid provides an interface for writing the value of a vector function evaluated at a given...
Definition: grid.h:141
A template class that maintains references counts.
Definition: ref.h:361
virtual void initialize()=0
Prepares some pre-calculated values before the repetitive grid calculations are perfomed.
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...
virtual Ref< Molecule > get_molecule()=0
Returns the molecule around which the grid values are calculated.
The Grid class defines a finite regular Carthesian grid.
Definition: grid.h:35
The abstract WriteGrid class provides an interface for writing the value of a scalar function evaluat...
Definition: grid.h:85
WriteVectorGrid(const Ref< KeyVal > &)
The KeyVal constructor.
void run()
Writes the grid data.
The Runnable class is a DescribedClass with a pure virtual run member.
Definition: runnable.h:36
Definition: xmlwriter.h:215
Classes which need runtime information about themselves and their relationship to other classes can v...
Definition: class.h:233
Grid(const Ref< KeyVal > &)
The KeyVal constructor.
virtual void label(char *buffer)=0
A label that identifies the scalar function evaluated at the grid points, is written to the buffer ar...
a 3-element version of SCVector
Definition: vector3.h:43
virtual std::size_t ndim() const =0
number of dimensions of the vector
virtual const DimensionMap & dimension_map() const =0
dimension map
WriteGrid(const Ref< KeyVal > &)
The KeyVal constructor.
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
The Units class is used to perform unit conversions.
Definition: units.h:38
Generated at Sun Jan 26 2020 23:24:00 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.