Referencia de la API
Esta sección documenta la clase principal del paquete,
campo_estatico_mdf.LaplaceSolver2D, que implementa la solución numérica
de la ecuación de Laplace 2D con MDF y métodos iterativos (Jacobi / Gauss–Seidel).
LaplaceSolver2D
- class campo_estatico_mdf.LaplaceSolver2D(N: int, bc: Dict[str, float], epsilon: float = 1e-05, max_iter: int = 50000, method: str = 'jacobi', Lx: float = 1.0, Ly: float = 1.0, seed: int | None = None)[fuente]
Bases:
objectResuelve la ecuación de Laplace en 2D con MDF (stencil de 5 puntos) y condiciones de borde Dirichlet. Ofrece Jacobi y Gauss-Seidel, y calcula E = -∇V.
Parámetros
- Nint
Tamaño del mallado (N×N). N >= 3 recomendado.
- bcdict
Voltajes de contorno. Claves: “left”,”right”,”top”,”bottom”.
- epsilonfloat
Tolerancia de convergencia (max|ΔV| < epsilon).
- max_iterint
Máximo de iteraciones.
- methodstr
«jacobi» o «gauss_seidel». También se acepta «gauss-seidel» (se normaliza internamente).
- Lx, Lyfloat
Dimensiones físicas del dominio (para dx, dy).
- seedint | None
Semilla opcional para reproducibilidad si se añade ruido inicial.
- solve() Tuple[ndarray, int, float][fuente]
Ejecuta el solver seleccionado.
- Devuelve:
V (np.ndarray) – Potencial convergido (N×N).
n_iter (int) – Número de iteraciones realizadas.
err_final (float) – Error máximo en la última iteración.