How to solve large sparse system without storing the entire matrix in memory?

2 views (last 30 days)
Hi, I need to solve a coupled 3D Schrodinger-Poisson equation, with 200,200,320 grid points in x,y and z directions respectively. I am using the same mesh grid for both schrodinger and Poisson equations.
Taking a standard 7 point stencil for 3D FDM, I will have approx. 200*200*320=1.28X10^7 unknowns and roughly 8.96X10^7 non-zero entries in my FDM matrix (say A).
Storing A even in sparse format is giving me out of memory errors. Is there a way to get the eigenvalues of this matrix without storing the entire matrix in memory for solving the Schrodinger equation. I just need say 10-15 smallest Eigenvalues at this point.
Also how do I solve the Poisson equation in such a scenario because I need to store old and updated potentials at 1.28X10^7 nodes along with the Jacobian for solving the Poisson equation. How do I solve without getting a out of memory errors?
Will splitting up the matrix help or is there some other better way to do this.
Thanks.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!