|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hello,
Does anybody know how to create an isosurface for the atomic orbitals?
Specifically the s, p and d (I can't find the equations for the f
orbitals....). I have forgotten most of my quatum physics and even more math
(calc and diffeq).
Any guidance or scene files would be much appreciated :-)
-thanks a lot
paul
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Wasn't it Paul Jones who wrote:
>Hello,
>
>Does anybody know how to create an isosurface for the atomic orbitals?
>Specifically the s, p and d (I can't find the equations for the f
>orbitals....). I have forgotten most of my quatum physics and even more math
>(calc and diffeq).
>
>Any guidance or scene files would be much appreciated :-)
s orbitals are easy, they're just spheres.
One of the d orbitals is available as the f_quantum(x,y,z,0) function.
#include "functions.inc"
isosurface {
function {f_quantum(x,y,z,0)}
max_gradient 2
contained_by {sphere {0,8}}
pigment {rgb 1}
}
In the old MegaPOV syntax it's {"func_11" <0>} .
I don't know about the rest.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Some properly rotated lemniscates should *fake* p orbitals quite well. BTW
you can always try with some parametric equations (not that easy):
2px is given by the following parametric function (I'm using polar
coordinates):
1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))*sin(theta)*sen(ph
i)
where Z is the atomic number and a = 0.529 e-10 m.
2py:
1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))*cos(theta)
2pz:
1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))*sin(theta)*cos(ph
i)
The parametric equations are (obviously):
x = r*sin(theta)*sin(phi);
y = r*sin(theta)*cos(phi);
z = r*cos(theta);
Nothing that I would really try. Good luck.
--
Jonathan.
"Paul Jones" <pdj### [at] psuedu> ha scritto nel messaggio
news:3c176f32@news.povray.org...
> Hello,
>
> Does anybody know how to create an isosurface for the atomic orbitals?
> Specifically the s, p and d (I can't find the equations for the f
> orbitals....). I have forgotten most of my quatum physics and even more
math
> (calc and diffeq).
>
> Any guidance or scene files would be much appreciated :-)
>
> -thanks a lot
>
>
> paul
>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Mike Williams" <mik### [at] nospamplease> ha scritto nel messaggio
news:L7D### [at] econymdemoncouk...
> Those aren't parametric equations. They're straight forward polar
> equations.
They are parametric functions. Instead of having a F(x,y,z), with orbitals
is *easier* to work with polar coordinates ==> F(r,theta,phi)
> You haven't told us what "r" is.
Aw, come on. Don't you know polar coordinates? :P
> >The parametric equations are (obviously):
> >x = r*sin(theta)*sin(phi);
> >y = r*sin(theta)*cos(phi);
> >z = r*cos(theta);
> These are parametric equations, but they're just the parametric
> equations of a sphere, which doesn't help very much.
No. R is a parameter, just like theta and phi. It's not a fixed value. You
need those equations to convert polar coordinates to Cartesian coordinates.
> To convert that into a POV function we need to:-
> Change the "pow"s into "^"s
Huh, doesn't pow() work with isos?
> Change theta and pii into f_th(x,y,z) and f_ph(x,y,z)
Ok.
> Think of a value for "r" (I chose 1.0)
Nope. R is the third polar coordinate, it can't be a fixed value.
You have a point in 3d space defined by three Cartesian coordinates <X,Y,Z>.
If you're using polar coordinates your point is known if you know its three
polar coordinates <r,theta,phi>.
r is the length of the vector <x,y,z>. theta is the angle between that
vector and the Z axis. phi is the angle between the projected vector on the
XY plane and the Y axis.
> Assume that "sen" is a misprint for "sin"
Oops. No, it's just Italian.
--
Jonathan.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Wasn't it JRG who wrote:
>Some properly rotated lemniscates should *fake* p orbitals quite well. BTW
>you can always try with some parametric equations (not that easy):
>2px is given by the following parametric function (I'm using polar
>coordinates):
>1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))*sin(theta)*sen(ph
>i)
>where Z is the atomic number and a = 0.529 e-10 m.
>2py:
>1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))*cos(theta)
>2pz:
>1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))*sin(theta)*cos(ph
>i)
>
>The parametric equations are (obviously):
>x = r*sin(theta)*sin(phi);
>y = r*sin(theta)*cos(phi);
>z = r*cos(theta);
>
>Nothing that I would really try. Good luck.
Oops. Please Ignore my previous post. For some reason I'd thought that
"r" was some constant, but it's the third polar co-ordinate.
So converting
1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))*sin(theta)
*sen(phi)
into POV code gives us
#declare F = function {1/4
* (1/(2*pi))^(1/2)
* (Z/a)^(3/2)
* (Z*f_r(x,y,z)/a)
* exp(-Z*f_r(x,y,z)/(2*a))
* sin(f_th(x,y,z))
* sin(f_ph(x,y,z))
}
This has a lobe in the positive x direction when the threshold is
positive, and a lobe in the negative x direction when the threshold is
negative. To render both lobes at once, I've taken the square of the
function, so that both lobes are rendered with positive threshold.
The 2py function has four lobes, and the 2pz has one lobe.
#include "functions.inc"
sky_sphere { pigment {
function{abs(y)}
color_map { [0.0 color blue 0.6] [1.0 color rgb 1] }
}
}
light_source {<100,400,-100> colour rgb 1}
#declare R = 1.5;
camera { location <0, 0, -2*R> look_at <0, 0, 0>}
#declare Z=3;
#declare a=0.529;
//1/4*pow(1/(2*pi),1/2)*pow(Z/a,3/2)*(Z*r/a)*exp(-Z*r/(2*a))
//*sin(theta)*sen(phi)
#declare F = function {1/4
* (1/(2*pi))^(1/2)
* (Z/a)^(3/2)
* (Z*f_r(x,y,z)/a)
* exp(-Z*f_r(x,y,z)/(2*a))
* sin(f_th(x,y,z))
* sin(f_ph(x,y,z))
}
isosurface {
function { F(x,y,z)^2 }
//max_gradient 3500
threshold 0.1
contained_by{sphere{0,R}} open
pigment {rgb .9}
finish {phong 0.5 phong_size 10}
}
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Substitute f_ph with f_th and viceversa to get the right shapes (latitude
and longitude are inverted in POV-Ray, where y is up). Every orbital should
consist of two lobes.
--
Jonathan.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
To see real quantum physics isosurfaces, look here:
http://www.kressworks.com/Research/Quantum_Chemistry/Unimolecular_Decomposit
ion_Reactions/Amine_oxides/N_N_Dimethyl_N_Ethyl_Amine_Oxide/N_N_Dimethyl_N_E
thyl_Amine_Oxide.html
Cut and paste into your browser if the url breaks.
Jim
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|