dirac_solver 0.0.1
A Dirac ecuation Solver
Cargando...
Buscando...
Nada coincide
Referencia de la clase dirac_solver.core.DiracProblemBuilder

Implementación del patrón Builder para crear objetos SimulationProblem. Más...

Métodos públicos

 __init__ (self)
 
 set_grid (self, Grid grid)
 Define la malla espacial a utilizar.
 
 set_initial_state (self, GaussianPacket initial_state)
 Define el estado inicial del campo espinorial.
 
 set_potential (self, potential)
 Define el potencial escalar.
 
 set_boundary_condition (self, boundary_condition)
 Define la condición de borde.
 
 set_time_parameters (self, float time_step, float total_time)
 Define los parámetros de tiempo de la simulación.
 
SimulationProblem build (self)
 Construye el objeto SimulationProblem con los parámetros actuales.
 

Atributos protegidos

 _grid
 
 _initial_state
 
 _potential
 
 _boundary_condition
 
 _time_step
 
 _total_time
 

Descripción detallada

Implementación del patrón Builder para crear objetos SimulationProblem.

Esta clase ofrece una interfaz fluida para configurar los componentes de una simulación del ecuación de Dirac. Facilita el proceso de validación y permite un flujo de construcción más legible.

Ejemplo de uso:

builder = DiracProblemBuilder()
problem = (builder
.set_grid(my_grid)
.set_initial_state(my_packet)
.set_potential(V)
.set_boundary_condition("absorbing")
.set_time_parameters(dt, T)
.build())

Documentación de constructores y destructores

◆ __init__()

dirac_solver.core.DiracProblemBuilder.__init__ (   self)
65 def __init__(self):
66 self._grid = None
67 self._initial_state = None
68 self._potential = None
69 self._boundary_condition = None
70 self._time_step = None
71 self._total_time = None
72

Documentación de funciones miembro

◆ build()

SimulationProblem dirac_solver.core.DiracProblemBuilder.build (   self)

Construye el objeto SimulationProblem con los parámetros actuales.

Devuelve
Instancia de SimulationProblem.
Excepciones
ValueErrorSi algún parámetro requerido no fue establecido.
Atención
Si el potencial no fue definido, se asume partícula libre (V=0).
114 def build(self) -> SimulationProblem:
115 if self._grid is None:
116 raise ValueError("La malla debe ser establecida antes de construir el problema.")
117 if self._initial_state is None:
118 raise ValueError("El estado inicial debe ser establecido antes de construir.")
119 if self._time_step is None or self._total_time is None:
120 raise ValueError("Los parámetros de tiempo deben ser establecidos.")
121 if self._boundary_condition is None:
122 raise ValueError("La condición de borde debe ser establecida.")
123
124 if self._potential is None:
125 print("Advertencia: Potencial no establecido. Usando partícula libre (V=0) por defecto.")
126
127 return SimulationProblem(
128 grid=self._grid,
129 initial_state=self._initial_state,
130 potential=self._potential,
131 boundary_condition=self._boundary_condition,
132 time_step=self._time_step,
133 total_time=self._total_time,
134 )
135
136

◆ set_boundary_condition()

dirac_solver.core.DiracProblemBuilder.set_boundary_condition (   self,
  boundary_condition 
)

Define la condición de borde.

Parámetros
boundary_conditionCadena o estructura que especifica el tipo de condición (e.g. "absorbing").
Devuelve
Referencia al propio builder.
97 def set_boundary_condition(self, boundary_condition):
98 self._boundary_condition = boundary_condition
99 return self
100

◆ set_grid()

dirac_solver.core.DiracProblemBuilder.set_grid (   self,
Grid  grid 
)

Define la malla espacial a utilizar.

Parámetros
gridObjeto Grid que describe el dominio espacial.
Devuelve
Referencia al propio builder para encadenamiento de métodos.
76 def set_grid(self, grid: Grid):
77 self._grid = grid
78 return self
79

◆ set_initial_state()

dirac_solver.core.DiracProblemBuilder.set_initial_state (   self,
GaussianPacket  initial_state 
)

Define el estado inicial del campo espinorial.

Parámetros
initial_stateInstancia de GaussianPacket u otro estado inicial compatible.
Devuelve
Referencia al propio builder.
83 def set_initial_state(self, initial_state: GaussianPacket):
84 self._initial_state = initial_state
85 return self
86

◆ set_potential()

dirac_solver.core.DiracProblemBuilder.set_potential (   self,
  potential 
)

Define el potencial escalar.

Parámetros
potentialPotencial espacialmente dependiente o constante (puede ser None).
Devuelve
Referencia al propio builder.
90 def set_potential(self, potential):
91 self._potential = potential
92 return self
93

◆ set_time_parameters()

dirac_solver.core.DiracProblemBuilder.set_time_parameters (   self,
float  time_step,
float  total_time 
)

Define los parámetros de tiempo de la simulación.

Parámetros
time_stepPaso de tiempo (Δt) utilizado por el integrador.
total_timeTiempo total de evolución.
Devuelve
Referencia al propio builder.
105 def set_time_parameters(self, time_step: float, total_time: float):
106 self._time_step = time_step
107 self._total_time = total_time
108 return self
109

Documentación de datos miembro

◆ _boundary_condition

dirac_solver.core.DiracProblemBuilder._boundary_condition
protected

◆ _grid

dirac_solver.core.DiracProblemBuilder._grid
protected

◆ _initial_state

dirac_solver.core.DiracProblemBuilder._initial_state
protected

◆ _potential

dirac_solver.core.DiracProblemBuilder._potential
protected

◆ _time_step

dirac_solver.core.DiracProblemBuilder._time_step
protected

◆ _total_time

dirac_solver.core.DiracProblemBuilder._total_time
protected

La documentación de esta clase está generada del siguiente archivo: