quantum by SabeerAli1

VIEWS: 13 PAGES: 7

									EP475 – Computaional Methods in Physics                                                                  1



7 – QUANTUM MECHANICS

7.1 Basic postulates

In quantum mechanics, a wave function,  , can be associated to a particle.

For the 1D case:

        Normalization condition:
         *dx   |  | dx  1
                         2
                                                                                             (7-1)
        Expectation value and uncertinity of the positon:
         x   x |  | 2 dx ,              x 2   x 2 |  | 2 dx and x   x    x 
                                                                                  2          2
                                                                                                     (7-2)
        Probability of finding particle between [a,b]:
                b
        P   |  | 2 dx                                                                             (7-3)
                a


Example: Assume that the wave function (wfn) of a particle confined in the region between
[–a, a] is given by:
                                            ( x)  a 2  x 2
if a = 2 calculate
     (a) normalization constant of wfn
     (b) expectation value of position of the particle
     (c) the probability of finding particle between [–a/2,a/2].
Use Simpson routine to solve the integrals for n = 4.

                    1
(a) N                                 0.306
           2

            (4  x
                            2
                                )dx
           2
               2
(b)  x   x(4  x 2 )dx  0
            2


                        1
(c) P  (0.306) 2  (4  x 2 )dx  0.69
                        1
EP475 – Computaional Methods in Physics                                                           2



7.2 Time-Independent Schrödinger Equation

Schrödinger's equation (time- independent, one-dimensional) for a particle of mass m is:

                                        2 d 2
                                                V ( x)  E                              (7-4)
                                       2m dx 2

Normally one would take units   m  1           in which to simplify the algebra. This equation
then becomes:

                                   d 2
                                         2(V ( x)  E )                                   (7-5)
                                   dx 2

This equation is similar to many other second order differential equations, with one
interesting twist, the energy, E, is also unknown. Consequently, the numerical solution of this
equation must determine both  (x) and E.



7-3 Example Applications:

Infinite deep well

The time- independent Schrödinger Equation for a free
particle (V(x)=0) of mass m in an infinitely deep well             ∞             ∞
whose width is L is given by:

                         1 d 2
                                E
                         2 dx 2

and energy eigenvalues                                                 m

                     2
              En         n 2  49348022 n 2                                                  x
                     2                                             0            L

In the numerical solution, at x = 0 we can select

                                        (0)  0 and  ' (0)  1

since the Schrödinger Equation is linear, we also know that a solution can be multiplied by a
constant factor and still be a solution.

The method of solution for Eqn. (7.5) is to pick a values of E, propagate the solutions to the
end of the box to determine if they match the boundary condition at x=L. If they do not,
adjust the value of E and try again. This is procedure is known as Shooting Method and the
task is performed by the calculate routine given below.
EP475 – Computaional Methods in Physics                3



Main Program: main.f90
PROGRAM Main
IMPLICIT NONE
REAL :: E
E = 0.0
CALL Calculate(E)

CONTAINS

 INCLUDE 'calculate.inc'

END PROGRAM Main

Calculate Routine: calculate.inc
SUBROUTINE Calculate(E)
!---------------------------------------------------
! returns energy eigenvalue of the particle in a box
!---------------------------------------------------
REAL, INTENT(INOUT) :: E
INTEGER, PARAMETER :: N = 100 ! number of part
REAL, PARAMETER     :: L = 1.0 ! width of the well
REAL, PARAMETER     :: dx = L/N ! step size
INTEGER             :: I,Iter
REAL                :: x,PSI,PSI_OLD,z,dE,Enew,Tol

dE         =   0.1    ! energy step
Enew       =   E      ! calculated new energy
Tol        =   1E-6   ! tolerance for |Enew-E|
E          =   E + dE
PSI_OLD    =   0.0
Iter       =   0

DO
     x    = 0.0 ! at x=0.0
     PSI = 0.0 ! PSI
     z    = 1.0 ! PSI'
     DO I=1,N
        PSI = PSI + z*dx
        z    = z   + (-2*E*PSI)*dx
        IF(ABS(PSI)>2) EXIT ! Is psi diverging ?
        x = x + dx
     END DO

     IF(PSI*PSI_OLD<0) dE = -dE/2
     PSI_OLD = PSI
     E = E + dE
     IF( ABS(Enew-E)<1E-6 ) EXIT
     Enew = E

     Iter = Iter + 1
     PRINT *,Iter,E

END DO

END SUBROUTINE Calculate
EP475 – Computaional Methods in Physics                                                     4



Output of the program:

           1     0.200000
           2     0.300000
           ...
           26    2.700000
           27    2.799999
           28    2.899999
           ...
           66    4.934422
           67    4.934373
           68    4.934397
           69    4.934385
           70    4.934391
           71    4.934397
           72    4.934394
           73    4.934396

Final energy value 4.934396 is in good agreement with ground state energy 493448022 even
we have used Euler steps. If one can select N=1000 and Tol=1E-9 then

           1     0.200000
           2     0.300000
           ...
           79    4.934796
           80    4.934796
           81    4.934797

This result is more accurate than the first one. Actua lly, if we use fourth order Runge-Kutta
method instead of Euler (with N=100 and Tol=1E-9) then:

           1     0.200000
           2     0.300000
           ...
           65    4.934801
           66    4.934803
           67    4.934802
           68    4.934802

The program can also be used to determine the energies of exited states. But you should put
exclamation before

           PRINT *,Iter,E

and modify the main program such that:
EP475 – Computaional Methods in Physics                                   5



Main Program: main2.f90
PROGRAM Main2
IMPLICIT NONE
REAL    :: E
INTEGER :: I

E = 0.0
DO I=1,5
   CALL Calculate(E)
   PRINT *,I,E
END DO

CONTAINS

 INCLUDE 'calculate.inc'

END PROGRAM Main2

Now out of the program (for N=100 and Tol=1E-9) will be:

           I              E (euler)              E (RK4)      E (Exact)
           1              4.9343958             4.9348025     4.9348025
           2             19.7327175            19.7392159    19.7392101
           3             44.3803558            44.4132767    44.4132233
           4             78.8529968            78.9571686    78.9568405
           5            123.1166000           123.3712997   123.3700638
EP475 – Computaional Methods in Physics                                                      6



Symmetric potentials

When the potential is symmetric, the wave functions can be written as purely odd or purely
even functions of x.

An even parity solution requires :  (0)  1 and     ' (0)  0
An odd parity solution requires :  (0)  0 and      ' (0)  1

Since the Schrödinger Equation is linear, one can later use the normalization condition,
 *  1, to determine the precise multiplier.
The method of solution for Eqn. (7.5) is to pick a values of E, propagate the solutions (for a
given parity) to large x to determine if they match the boundary condition at large x. If they
do not, adjust the value of E and try again.

Here some important parts of the programs are given to solve the Scrödinger equation.

Calculate Routine: calculate.inc
SUBROUTINE Calculate(E)
!----------------------------------------------------
! returns energy eigenvalue of the particle in a well
! *** even parity solution only ***
!----------------------------------------------------

     ...

     Mstep = 20*N ! ?

DO
      x    = 0.0 ! at x=0.0
      PSI = 1.0 ! PSI
      z    = 0.0 ! PSI'
      DO I=1,MStep
         PSI = PSI + z*dx
         z    = z   + (V(x)-2*E*PSI)*dx
         IF(ABS(PSI)>2) EXIT ! Is psi diverging ?
         x = x + dx
      END DO

      ...

END DO

END SUBROUTINE Calculate

Also you should define the potential function:

Potential function. potential.inc
REAL FUNCTION V(x)
REAL, INTENT(IN) :: x
V = ...
END FUNCTION V
EP475 – Computaional Methods in Physics                                                 7



and you should re-write the main program:

Main Program: main3.f90
PROGRAM Main3
...
CONTAINS

 INCLUDE 'calculate.inc'
 INCLUDE 'potentail.inc'

END PROGRAM Main3



In Lab, you will write a Fortran program to calculate energies of first few levels of the
following potentials:

   (a) V(x)=|x|      (linear potential)
   (b) V(x)=x2 /2    (harmonic oscillator)
   (c) V(x)=x4       (unharmonic oscillator)

Finally you will re-wite all the codes

      to solve Eqn. (7-5) by fourth-order Runge-Kutta Method
        both even and odd parity case
      to plot the wave functions

Normally, we will leave this task for homework.



                                                                           Ahmet Bingül
                                                                               Feb 2004

								
To top