Re: Schroedinger EQ
- To: mathgroup at smc.vnet.net
- Subject: [mg122037] Re: Schroedinger EQ
- From: raj kumar <rajesh7796gm at gmail.com>
- Date: Mon, 10 Oct 2011 04:27:18 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j6q61b$p1g$1@smc.vnet.net>
sorry, A =82 On Oct 9, 2:50 am, raj kumar <rajesh779... at gmail.com> wrote: > dear esteemed experts, > > i wonder if somebody can help me > > i have been trying to find a a certain value of a parameter V that > will "match" the logarithmic derivative (of solutions to the time > independent Schroedinger eq ) at both sides of a particular point > called the matching point. But cannot seem to find the correct V value > that will make > bc1[V_] = bc2[V_].. ...mathematica keeps giving an error message .See > below for the code. > > any help will be most appreciated > > a=0.63; > A8; > j=9/2; > L=4; > mu=(931.5 (208 1.))/(208+1.); > Z=82; > Subscript[a, so]=0.5; > R=1.25 A^(1/3); > Subscript[V, so]=7; > Subscript[R, c]=1.25 A^(1/3); > Subscript[R, so]=1.1 A^(1/3); > V1[x_,V_]:=-(V/(E^((x-R)/a)+1)); V2[x_]:=-((2 ((j+1) j-L (L+1)-3/4= ) > Subscript[V, so] E^((x-Subscript[R, so])/Subscript[a, so]))/ > (Subscript[a, so] (E^((x-Subscript[R, so])/Subscript[a, so])+1)^2)); > pott[x_,V_]=V1[x,V]+V2[x]; > > emin=-55; > emax= -5; > xmax=10; > xmin=0.1; > xmatch=4.5; > e=3.94; > > eq[V_, x_, x0_] = {-( > \!\(\*SuperscriptBox["y", "\[Prime]\[Prime]", > MultilineFunction->None]\)[x]/( > 2 mu)) + (pott[x, V] + L (L + 1)/(2 mu (x^2))) y[x] == -e= y[x], > y[x0] == 0, > \!\(\*SuperscriptBox["y", "\[Prime]", > MultilineFunction->None]\)[x0] == 1/10^6}; > y1[V_, x_] := y[x] /. NDSolve[eq[V, x, xmin], y, {x, xmin, xmatch}]; > bc1[V_] := \!\( > \*SubscriptBox[\(\[PartialD]\), \(x\)]\(y1[x]\)\)/y1[x] /. x -> > xmatch; > y2[V_, x_] := y[x] /. NDSolve[eq[V, x, xmax], y, {x, xmax, xmatch}]; > bc2[V_] := \!\( > \*SubscriptBox[\(\[PartialD]\), \(x\)]\(y2[x]\)\)/y2[x] /. x -> > xmatch; > bc[V_?NumericQ] := bc1[V] - bc2[V]; > Vvalue = V /. > If[emax == emin, V, > FindRoot[bc[V], {V, emin, emax}, AccuracyGoal -> 10, > WorkingPrecision -> 20]]; > Print["the value of V is =" , Vvalue]