dirac_solver 0.0.1
A Dirac ecuation Solver
Cargando...
Buscando...
Nada coincide
ScalarPotential.h
Ir a la documentación de este archivo.
1#pragma once
2
3#include "Potential.h"
4#include <pybind11/pybind11.h>
5#include <functional>
6
7namespace py = pybind11;
8
39class ScalarPotential : public Potential {
40public:
54 ScalarPotential(std::function<double(const std::vector<double>&)> func)
55 : func_(func) {}
56
66 double evaluate(const std::vector<double>& r) const override {
67 return func_(r);
68 }
69
75 std::string get_name() const override {
76 return "ScalarPotential";
77 }
78
79private:
85 std::function<double(const std::vector<double>&)> func_;
86};
Clase base abstracta para todos los potenciales escalares (patrón Template).
Definition Potential.h:15
Implementación flexible de un potencial escalar definido por el usuario.
Definition ScalarPotential.h:39
std::string get_name() const override
Devuelve el nombre simbólico de la clase.
Definition ScalarPotential.h:75
ScalarPotential(std::function< double(const std::vector< double > &)> func)
Constructor que acepta una función escalar arbitraria.
Definition ScalarPotential.h:54
double evaluate(const std::vector< double > &r) const override
Evalúa el potencial escalar en una posición dada.
Definition ScalarPotential.h:66