41 std::array<size_t, 3> numbers_of_steps;
42 std::array<double, 3> step_sizes;
100 template <
typename OutputType>
103 std::vector<OutputType> values;
107 values.push_back(function(r));
121 template <
typename T>
125 auto result = std::accumulate(field.
values().begin(), field.
values().end(), field.
value(0));
126 result -= field.
value(0);
138 void forEach(
const std::function<
void(
const size_t,
const size_t,
const size_t)>& callback)
const;
169 std::vector<Vector<double, 3>>
points()
const;
176 size_t numbersOfSteps(
const size_t axis)
const {
return this->numbers_of_steps[axis]; }
181 const std::array<size_t, 3>&
numbersOfSteps()
const {
return this->numbers_of_steps; }
188 double stepSize(
const size_t axis)
const {
return this->step_sizes[axis]; }
193 const std::array<double, 3>&
stepSizes()
const {
return this->step_sizes; }
Definition: CubicGrid.hpp:38
size_t numberOfPoints() const
Definition: CubicGrid.cpp:291
double totalVolume() const
Definition: CubicGrid.hpp:198
const std::array< double, 3 > & stepSizes() const
Definition: CubicGrid.hpp:193
const std::array< size_t, 3 > & numbersOfSteps() const
Definition: CubicGrid.hpp:181
static CubicGrid ReadRegularGridFile(const std::string &filename)
Definition: CubicGrid.cpp:144
Vector< double, 3 > position(const size_t i, const size_t j, const size_t k) const
Definition: CubicGrid.cpp:304
size_t numbersOfSteps(const size_t axis) const
Definition: CubicGrid.hpp:176
double stepSize(const size_t axis) const
Definition: CubicGrid.hpp:188
static CubicGrid ReadCubeFile(const std::string &filename)
Definition: CubicGrid.cpp:76
T integrate(const Field< T > &field) const
Definition: CubicGrid.hpp:122
static CubicGrid Centered(const Vector< double, 3 > &point, const size_t number_of_steps, const double step_size)
Definition: CubicGrid.cpp:54
Field< OutputType > evaluate(const Function< OutputType, Vector< double, 3 > > &function) const
Definition: CubicGrid.hpp:101
double voxelVolume() const
Definition: CubicGrid.cpp:391
void writeToCubeFile(const Field< double > &scalar_field, const std::string &filename, const Molecule &molecule) const
Definition: CubicGrid.cpp:338
std::vector< Vector< double, 3 > > points() const
Definition: CubicGrid.cpp:317
void forEach(const std::function< void(const size_t, const size_t, const size_t)> &callback) const
Definition: CubicGrid.cpp:261
const Vector< double, 3 > & origin() const
Definition: CubicGrid.hpp:155
const T & value(const size_t index) const
Definition: Field.hpp:363
const std::vector< T > & values() const
Definition: Field.hpp:377
Definition: Function.hpp:153
Definition: Matrix.hpp:47
Definition: Molecule.hpp:34
Definition: BaseOneElectronIntegralBuffer.hpp:25