![]() |
dirac_solver 0.0.1
A Dirac ecuation Solver
|
Implementa condiciones de borde periódicas. Más...
#include <PeriodicBoundary.h>
Diagrama de herencia de PeriodicBoundary
Diagrama de colaboración de PeriodicBoundary:Métodos públicos | |
| void | apply (std::vector< Dirac::Spinor > &psi, const Grid &grid) const override |
Aplica condiciones de borde periódicas al campo. En el esquema FDTD, esto generalmente se maneja en el propio bucle de actualización, donde el vecino del punto 0 es N-1, y el vecino de N-1 es 0. Esta función de aplicación explícita se puede usar si el bucle principal no lo maneja, por ejemplo, para forzar la condición en los puntos de borde después de un paso. Para nuestra implementación FDTD actual, la lógica se integrará directamente en la función step por eficiencia. | |
| std::string | get_name () const override |
| Devuelve el nombre de la estrategia de condición de borde. | |
Métodos públicos heredados de BoundaryCondition | |
| virtual | ~BoundaryCondition ()=default |
Implementa condiciones de borde periódicas.
Esta estrategia trata la malla como un toro, donde el valor al inicio de un eje está vinculado al valor al final. Para una malla 1D, esto significa que psi[0] está vinculado a psi[N-1].
|
inlineoverridevirtual |
Aplica condiciones de borde periódicas al campo. En el esquema FDTD, esto generalmente se maneja en el propio bucle de actualización, donde el vecino del punto 0 es N-1, y el vecino de N-1 es 0. Esta función de aplicación explícita se puede usar si el bucle principal no lo maneja, por ejemplo, para forzar la condición en los puntos de borde después de un paso. Para nuestra implementación FDTD actual, la lógica se integrará directamente en la función step por eficiencia.
| psi | Una referencia al vector de espinores (el campo). |
| grid | La malla de simulación. |
Implementa BoundaryCondition.
|
inlineoverridevirtual |
Devuelve el nombre de la estrategia de condición de borde.
Implementa BoundaryCondition.