Python runs in your browser. Heavy or infinite loops may freeze your browser tab. Use "Stop" if needed; for heavy jobs, run locally.
Program 1
Explicit Methods
Output 1
Time-Dependent Schrödinger Equation with Explicit Method
1. Time-Dependent Schrödinger Equation (TDSE):
The TDSE can be expressed as:
$$
i \hbar \frac{\partial \psi(x,t)}{\partial t} = -\frac{\hbar^2}{2m} \frac{\partial^2 \psi(x,t)}{\partial x^2} + V(x) \psi(x,t)
$$
2. Discretization:
We discretize both space and time:
- Spatial Grid: Divide the spatial domain into \(N\) grid points with spacing \(\Delta x\).
- Temporal Grid: Divide the time domain into discrete time steps with size \(\Delta t\).
3. Finite Difference Approximations:
Using finite difference approximations, we write:
- Temporal Derivative:
$$ \frac{\partial \psi}{\partial t} \approx \frac{\psi_i^{n+1} - \psi_i^n}{\Delta t} $$
- Spatial Second Derivative:
$$ \frac{\partial^2 \psi}{\partial x^2} \approx \frac{\psi_{i+1}^n - 2\psi_i^n + \psi_{i-1}^n}{(\Delta x)^2} $$
4. Update Equation:
Substituting these approximations into the TDSE, we have:
$$
\psi_i^{n+1} = \psi_i^n + \frac{i \hbar \Delta t}{2m} \frac{\psi_{i+1}^n - 2\psi_i^n + \psi_{i-1}^n}{(\Delta x)^2} - i\Delta t \cdot V_{i}^n \psi_i^n
$$
This simplifies to:
$$
\psi_i^{n+1} = \left(1 - i\Delta t \cdot V_{i}^n \right) \psi_i^n + \frac{i \hbar \Delta t}{2m} \left( \frac{\psi_{i+1}^n - 2\psi_i^n + \psi_{i-1}^n}{(\Delta x)^2} \right)
$$
5. Substituting \( \mu \):
We define \( \mu = \frac{i \Delta t}{2m\hbar (\Delta x)^2} \). Thus, the update equation can be expressed as:
$$
\psi_i^{n+1} = (1 - i\Delta t \cdot V_{i}^n -2 \mu) \psi_i^n + \mu \psi_{i+1}^n + \mu \psi_{i-1}^n
$$
6. Matrix Representation:
Define the state vector \(\mathbf{\psi}^n\):
$$
\mathbf{\psi}^n = \begin{bmatrix}
\psi_1^n \\
\psi_2^n \\
\vdots \\
\psi_N^n
\end{bmatrix}
$$
The update can be expressed in matrix form. Construct a matrix \(M\) that includes the kinetic and potential energy contributions:
$$
\mathbf{\psi}^{n+1} = A \cdot \mathbf{\psi}^n
$$
where \(A\) is structured as:
$$
A = \begin{bmatrix}
1 - i\Delta t V_{1}^n - 2\mu & \mu & 0 & \ldots & 0 \\
\mu & 1 - i\Delta t V_{2}^n - 2\mu & \mu & \ldots & 0 \\
0 & \mu & 1 - i\Delta t V_{3}^n - 2\mu & \ddots & 0 \\
\vdots & \vdots & \ddots & \ddots & \mu \\
0 & 0 & 0 & \mu & 1 - i\Delta t V_{N}^n - 2\mu
\end{bmatrix}
$$
7. Stability Conditions:
For stability, we must ensure that the matrix \(A\) behaves well, typically by checking the eigenvalues. A condition similar to the Courant-Friedrichs-Lewy (CFL) condition applies:
$$
\left| \mu \right| \leq C \quad \text{for some constant } C < 1
$$
Limitations of the Explicit Method for TDSE
- Stability Conditions: Requires adherence to stability conditions (CFL condition) for accurate results.
- Time Step Constraints: Time step \(\Delta t\) must be small enough for stability, impacting computational efficiency.
- Spatial Discretization: Accuracy is dependent on grid size \(\Delta x\); finer grids improve accuracy but increase computation time.
- Boundary Conditions: Challenges in effectively handling various boundary conditions (e.g., absorbing or periodic).
- Nonlinear Systems: Primarily suited for linear systems; struggles with nonlinear TDSEs.
- Multi-Dimensional Problems: Increased complexity and stability issues when extended to multiple dimensions.
- Resource Intensive: High memory and processing power requirements, especially for high-resolution grids.
- Error Accumulation: Numerical errors can accumulate over time, affecting long-term accuracy.