26#ifndef dftefeEnrichmentManagerAtomSphericalNumerical_h
27#define dftefeEnrichmentManagerAtomSphericalNumerical_h
31#include <physics/atoms/AtomsData.h>
60 template <
typename ValueTypeBasisData,
size_type dim>
75 const std::vector<std::string> > &atomSymbols,
76 const std::vector<utils::Point> &atomCoordinates,
77 const AtomsData & atomsData);
100 virtual ValueTypeBasisData
111 virtual ValueTypeBasisData
113 const std::vector<double> &point)
const = 0;
125 virtual std::vector<ValueTypeBasisData>
127 const std::vector<utils::Point> &points)
const = 0;
139 virtual std::vector<ValueTypeBasisData>
141 const std::vector<std::vector<double>> &points)
const = 0;
154 virtual std::vector<ValueTypeBasisData>
157 const size_type derivativeOrder)
const = 0;
170 virtual ValueTypeBasisData
172 const std::vector<double> &point,
173 const size_type derivativeOrder)
const = 0;
187 virtual std::vector<std::vector<ValueTypeBasisData>>
189 const std::vector<utils::Point> &points,
190 const size_type derivativeOrder)
const = 0;
204 virtual std::vector<std::vector<ValueTypeBasisData>>
206 const std::vector<std::vector<double>> &points,
207 const size_type derivativeOrder)
const = 0;
A class which provides access to spherical atom-centered enrichment functions, with the radial part g...
Definition: EnrichmentManagerAtomSphericalNumerical.h:62
virtual ValueTypeBasisData getValue(const size_type functionId, const std::vector< double > &point) const =0
Get the value of an enrichment function at a point.
virtual std::vector< std::vector< ValueTypeBasisData > > getDerivativeValues(const int functionId, const std::vector< utils::Point > &points, const size_type derivativeOrder) const =0
Get the derivative of an enriched function for a set of points.
virtual std::vector< ValueTypeBasisData > getValues(const int functionId, const std::vector< utils::Point > &points) const =0
Get the value of an enriched function for a set of points.
virtual int nFunctions() const =0
Get number of enrichement functions.
virtual std::vector< ValueTypeBasisData > getDerivativeValue(const size_type functionId, const utils::Point &point, const size_type derivativeOrder) const =0
Get the derivative of an enrichment function at a point.
EnrichmentManagerAtomSphericalNumerical(const std::vector< std::string > > &atomSymbols, const std::vector< utils::Point > &atomCoordinates, const AtomsData &atomsData)
Constructor.
virtual std::vector< std::vector< ValueTypeBasisData > > getDerivativeValues(const int functionId, const std::vector< std::vector< double > > &points, const size_type derivativeOrder) const =0
Get the derivative of an enriched function for a set of points.
virtual ValueTypeBasisData getDerivativeValue(const size_type functionId, const std::vector< double > &point, const size_type derivativeOrder) const =0
Get the derivative of an enrichment function at a point.
virtual ValueTypeBasisData getValue(const size_type functionId, const utils::Point &point) const =0
Get the value of an enrichment function at a point.
~EnrichmentManagerAtomSphericalNumerical()=default
Destructor.
virtual std::vector< ValueTypeBasisData > getValues(const int functionId, const std::vector< std::vector< double > > &points) const =0
Get the value of an enriched function for a set of points.
Definition: PointImpl.h:13
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8