43 : Z_(Z), epsilon_(epsilon) {}
58 double evaluate(
const std::vector<double>& r)
const override {
60 for (
double val : r) {
63 r_norm = std::sqrt(r_norm);
66 return -Z_ / (r_norm + epsilon_);
77 return "CoulombPotential";
Implementación concreta de un potencial de Coulomb regularizado.
Definition CoulombPotential.h:30
std::string get_name() const override
Devuelve el nombre simbólico del potencial.
Definition CoulombPotential.h:76
CoulombPotential(double Z, double epsilon=1e-6)
Constructor principal del potencial de Coulomb.
Definition CoulombPotential.h:42
double evaluate(const std::vector< double > &r) const override
Evalúa el potencial en un punto espacial.
Definition CoulombPotential.h:58
Clase base abstracta para todos los potenciales escalares (patrón Template).
Definition Potential.h:15