solving a stationary problem with matlab: descritization

36 Views Asked by At

The given equation is $$ \Delta(-\phi+\phi^3-\Delta\phi)=\frac{\partial \phi}{\partial t}. $$

I think it is equivalent to $\Delta\phi = \phi^3-\phi$

so I arrived to:

$$ \frac{\phi_{i+1,j}+\phi_{i-1,j}+\phi_{i,j-1}+\phi_{i,j+1}-4\phi_{i,j}}{\delta^2}=\phi_{i,j}^3-\phi_{i,j} $$

I should have $\phi_{i,j}= ...$ (function not depending on $\phi_{i,j}$) so that I could apply the methods of Jacobi, Gauss-Seidel and SOR that are the theme of the worksheet this question is in.

Can you help me?

Thanks

1

There are 1 best solutions below

0
On

You can not just drop the time derivative and laplacian. That would be a completely different equation which share some solutions with yours.

If you're absolutely sure you need to solve $\Delta \phi = \phi^3 - \phi$ using some interational method for SLAE you need to linearize your problem first.

Start with some initial approximation for the solution $\phi_0$. Assuming it is close to $\phi$ let's introduce new unknown function $\psi = \phi - \phi_0$. $$ \Delta \psi = \Delta (\phi - \phi_0) = \phi^3 - \phi - \Delta \phi_0 = (\phi_0 + \psi)^3 - (\phi_0 + \psi) - \Delta \phi_0 \approx \phi_0^3 + 3\phi_0 \psi - \phi_0 - \psi - \Delta \phi_0 $$ So we've arrived to $$ \Delta \psi + (1 - 3\phi_0)\psi = \phi_0^3 + \phi_0 - \Delta \phi_0 $$ Boundary conditions should be adjusted accordingly (That's what I do not understand. The original problem should have a pair of conditions in each point of the boundary while the new one should have only a single one. That's an argument against dropping the outer laplacian). Discretizing that problem will result in SLAE for $\psi$ which has meaning of a correcting term for $\phi_0$, so the new approximation for the solution $\phi_1$ would be $\phi_1 = \phi_0 + \psi$. Repeat until convergence. If this method diverges you need to choose a better (closer to the solution) $\phi_0$.