![]() |
dirac_solver 0.0.1
A Dirac ecuation Solver
|
Implementación de una condición de frontera absorbente (ABC) para simulaciones 1D. Más...
#include <AbsorbingBoundary.h>
Diagrama de herencia de AbsorbingBoundary
Diagrama de colaboración de AbsorbingBoundary:Métodos públicos | |
| AbsorbingBoundary (double strength) | |
| Constructor de la condición de frontera absorbente. | |
| void | apply (std::vector< Dirac::Spinor > &psi, const Grid &grid) const override |
| Aplica la condición de frontera absorbente a la función de onda. | |
| std::string | get_name () const override |
| Devuelve el nombre de la condición de frontera. | |
Métodos públicos heredados de BoundaryCondition | |
| virtual | ~BoundaryCondition ()=default |
Implementación de una condición de frontera absorbente (ABC) para simulaciones 1D.
Esta clase aplica un amortiguamiento en los extremos del dominio espacial para minimizar reflexiones artificiales en la frontera. Se utiliza típicamente en simulaciones de la ecuación de Dirac o de Schrödinger cuando se desea emular un dominio abierto.
Actualmente, la clase sólo soporta dominios unidimensionales (1D).
|
inline |
Constructor de la condición de frontera absorbente.
| strength | Factor de absorción (0 < strength < 1). Valores mayores implican una absorción más fuerte en los extremos. |
|
inlineoverridevirtual |
Aplica la condición de frontera absorbente a la función de onda.
Multiplica los valores del spinor en los extremos de la malla por un factor complejo reductor de magnitud (1 - strength), lo que atenúa progresivamente la amplitud del campo.
| psi | Vector de spinors de Dirac que representan el campo en la malla. |
| grid | Objeto que define la malla espacial asociada a la simulación. |
| std::runtime_error | Si la malla no es unidimensional (dim ≠ 1). |
Implementa BoundaryCondition.
|
inlineoverridevirtual |
Devuelve el nombre de la condición de frontera.
"AbsorbingBoundary". Implementa BoundaryCondition.