Schrödinger wave function: How to use it to get 3-D atomic orbitals?

Click For Summary
SUMMARY

The discussion centers on using the Schrödinger wave function to plot 3-D atomic orbitals, specifically the 1s orbital represented by the function (e^(-r/a))/(sqrt(pi*a)), where 'a' is the Bohr radius. Participants suggest converting the spherical coordinates to Cartesian coordinates using the formula sqrt(x²+y²+z²) for proper visualization. Tools like Wolfram Alpha and VTK are recommended for plotting, with VTK being highlighted for its capability to create volumetric visualizations and isosurfaces of the probability density, psi². Additionally, relevant code repositories are shared for further exploration.

PREREQUISITES
  • Understanding of the Schrödinger equation and wave functions
  • Familiarity with spherical and Cartesian coordinate systems
  • Basic knowledge of programming for visualization (Python, C++)
  • Experience with visualization tools like VTK
NEXT STEPS
  • Learn how to convert spherical coordinates to Cartesian coordinates for plotting
  • Explore VTK for volumetric visualization and isosurfaces
  • Investigate the use of Python libraries for scientific visualization
  • Study the principles of probability density in quantum mechanics
USEFUL FOR

Students and enthusiasts in physics, particularly those interested in quantum mechanics and computational visualization of atomic structures.

Tymothee Waldner
Messages
7
Reaction score
2
Hi, I am 16 year old and I am very interested in Physics.

This summer I solved Schrödinger equation using griffiths' introduction to quantum physics and other sources. I achieved to get an exact solution of the wave function but I would like to plot it in a programm in order to get the 3d atomic orbital. My function for 1s energy level is the following:

(e^(-r/a))/(sqrt(pi*a))= psi

Where a is the bohr radius. It is in spherical coordonates and according to griffiths' book it is correct. What should I do to obtain 3d orbital ? Can I find some program able to convert it into a 3d graph ? Should I programm it myself ? In this last case could you give me some hints please ?

Thank you very much for your help !
 
  • Love
  • Like
Likes   Reactions: vanhees71 and PeroK
Physics news on Phys.org
Last edited:
caz said:
Try wolfram alpha (wolframalpha.com)
I already tried and it does not work, I suppose it is because my function is not expressed in cartesian coordonates however I don't know how to pass it back to this system...

But thank you for your help !
 
Sorry. You want to plot a value that is a function of 3 variables xyz; i.e. you want to plot 4 things. Since we live in a 3d world, you are going to have to make artistic decisions on what you plot. If you look at the images you get if you google atomic orbitals, the artistic decision was to emphasize the directionality of the orbitals. The 1s orbital is spherically symmetric, so it is going to look the same from any direction. It has a maximum value at r =0 and undergoes exponential decay in the radial direction from the origin.
 
Last edited:
caz said:
Sorry. You want to plot a value that is a function of 3 variables xyz; i.e. you want to plot 4 things. Since we live in a 3d world, you are going to have to make artistic decisions on what you plot. If you look at the images you get if you google atomic orbitals, the artistic decision was to emphasize the directionality of the orbitals. The 1s orbital is spherically symmetric, so it is going to look the same from any direction. It has a maximum value at r =0 and undergoes exponential decay in the radial direction from the origin.
Okay I think I understoof what you said... So I should pass my actual function into a cartesian system and then plot it into walfram alpha. Should I only convert the r of my function into its cartesian coordonates equivalence (sqrt (x²+y²+z²)), or do I have to do more works ? And finally what do you call "artistic decisions" ?

I am very grateful for your help (sorry for my writing errors I am french...)
 
As an example, you will want to find something that can plot e-√(x2+y2+z2)=0.5
If it can handle this, it should be able to handle more complicated orbitals (I couldn’t get wolfram alpha to do this)
You could solve this yourself and then just plot the solution points.
Artistic in this case is picking 0.5 (i.e., making the decision on what brings out what you want).

Sorry I couldn‘t be of more help.
 
  • Like
Likes   Reactions: Tymothee Waldner
caz said:
As an example, you will want to find something that can plot e-√(x2+y2+z2)=0.5
If it can handle this, it should be able to handle more complicated orbitals (I couldn’t get wolfram alpha to do this)
You could solve this yourself and then just plot the solution points.
Artistic in this case is picking 0.5 (i.e., making the decision on what brings out what you want).

Sorry I couldn‘t be of more help.
Oh okay I see what you mean. I am going to try all of this today, and if it does not work I will keep investigating.

Thank you very much !
 
One way would be to do a volumetric visualization of the probability density.

Sort of like this:
 
  • Like
Likes   Reactions: Tymothee Waldner
  • #10
aaroman said:
One way would be to do a volumetric visualization of the probability density.

Sort of like this:

Hi, thank you for your contribution, I am going to look more in deep on this way. I've been investigating and I am now thinking that orbitals are isosurfaces of the squared of my function (as psi²= probability of finding the electron). Do you know some program able to show isosurfaces of a function (wolfram alpha does not do it) ?
 
  • #11
I used VTK https://vtk.org/ for that implementation. In that case, it's volumetric visualization, not isosurfaces, but those are possible as well with VTK (see for example https://www.evl.uic.edu/aspale/cs526/final/3-5-2-0.htm ). Other packages/libraries have also that possibility.

PS
The code is available here https://github.com/aromanro/DFTQuantumDot for those that want to take a look. I also have a python repository https://github.com/aromanro/PythonCompphys, the Density Functional Theory notebook covers the same things that are in the C++ project.
 
  • Like
Likes   Reactions: vanhees71 and PeroK
  • #12
aaroman said:
I used VTK https://vtk.org/ for that implementation. In that case, it's volumetric visualization, not isosurfaces, but those are possible as well with VTK (see for example https://www.evl.uic.edu/aspale/cs526/final/3-5-2-0.htm ). Other packages/libraries have also that possibility.

PS
The code is available here https://github.com/aromanro/DFTQuantumDot for those that want to take a look. I also have a python repository https://github.com/aromanro/PythonCompphys, the Density Functional Theory notebook covers the same things that are in the C++ project.
Thank you so much for your help ! So I will use this way to obtain my orbitals. Did you do all that stuff yourselves ? It is very interesting
 

Similar threads

  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 18 ·
Replies
18
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 36 ·
2
Replies
36
Views
8K
  • · Replies 23 ·
Replies
23
Views
8K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 31 ·
2
Replies
31
Views
6K