![]() |
dirac_solver 0.0.1
A Dirac ecuation Solver
|
Implementación flexible de un potencial escalar definido por el usuario. Más...
#include <ScalarPotential.h>
Diagrama de herencia de ScalarPotential
Diagrama de colaboración de ScalarPotential:Métodos públicos | |
| ScalarPotential (std::function< double(const std::vector< double > &)> func) | |
| Constructor que acepta una función escalar arbitraria. | |
| double | evaluate (const std::vector< double > &r) const override |
| Evalúa el potencial escalar en una posición dada. | |
| std::string | get_name () const override |
| Devuelve el nombre simbólico de la clase. | |
Métodos públicos heredados de Potential | |
| virtual | ~Potential ()=default |
Implementación flexible de un potencial escalar definido por el usuario.
Esta clase permite definir un potencial arbitrario a partir de una función escalar proporcionada por el usuario, ya sea desde C++ o desde Python (gracias a la interoperabilidad con pybind11).
La función debe tener la forma:
donde r es el vector de coordenadas espaciales.
|
inline |
Constructor que acepta una función escalar arbitraria.
| func | Función que define el valor del potencial en un punto r. |
La función func puede ser un lambda de C++ o una función de Python si el módulo fue expuesto con pybind11.
evaluate, por lo que funciones muy complejas podrían impactar en el rendimiento.
|
inlineoverridevirtual |
Evalúa el potencial escalar en una posición dada.
| r | Vector de coordenadas espaciales. |
func_ se invoca directamente con el vector r. Implementa Potential.
|
inlineoverridevirtual |
Devuelve el nombre simbólico de la clase.
"ScalarPotential". Implementa Potential.