24小时热门版块排行榜    

查看: 1294  |  回复: 7
【悬赏金币】回答本帖问题,作者问天卖饼2将赠送您 100 个金币

问天卖饼2

捐助贵宾 (初入文坛)

[求助] 振荡的波函数如何求积分 已有1人参与

我用薛定谔方程分别求出199个phi和199个psi,现在的问题是phi*psi后求积分求不出来,代码如图所示。我尝试了很多种method都不行。求助广大强大的网友,该怎么求积分呢?

振荡的波函数如何求积分


@月只蓝 @月只蓝 @beefly 发自小木虫Android客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

问天卖饼2

捐助贵宾 (初入文坛)

2楼2020-11-12 10:09:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

问天卖饼2

捐助贵宾 (初入文坛)

1D的高度振荡的波函数的积分
3楼2020-11-12 10:13:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

问天卖饼2

捐助贵宾 (初入文坛)

4楼2020-11-12 10:17:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

问天卖饼2

捐助贵宾 (初入文坛)

L = 1000*10^-10; F = 10^7; m = 0.0665*9.1*10^-31; mhole =
0.34*9.1*10^-31; e = 1.6*10^-19; \[HBar] = 1.05*10^-34; Ne = 199;eqn1 = (-(\[HBar]^2/(2 m))* (\[Phi]^\[Prime]\[Prime])[x] +
   e*F*x*\[Phi][x]);{phivals, phifuns} =
  NDEigensystem[{eqn1,
    DirichletCondition[\[Phi][x] == 0,
     x \[GreaterSlantEqual] L/2 || x <= -L/2]}, \[Phi][x], {x, -L/2,
    L/2}, Ne,
   Method -> {"SpatialDiscretization" -> {"FiniteElement", \
{"MeshOptions" -> {MaxCellMeasure -> 10^-9}}}}];eqn2 = (-(\[HBar]^2/(2 mhole))* (\[Psi]^\[Prime]\[Prime])[x] -
   e*F*x*\[Psi][x]);{psivals, psifuns} = NDEigensystem[{eqn2, DirichletCondition[[Psi][x] == 0, x [GreaterSlantEqual] L/2 || x <= -L/2]}, [Psi][x], {x, -L/2, L/2}, Ne, Method -> {"SpatialDiscretization" -> {"FiniteElement", \ {"MeshOptions" -> {MaxCellMeasure -> 10^-9}}}}];Etable = Table[(psivals[] + phivals[[j]])/(1.6*10^-22), {i, Ne}, {j, Ne}];Itable = Table[ Abs[NIntegrate[psifuns[]*phifuns[[j]], {x, -L/2, L/2}, Method -> {"ExtrapolatingOscillatory"}]], {i, Ne}, {j, Ne}];
5楼2020-11-12 11:06:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

问天卖饼2

捐助贵宾 (初入文坛)

L = 1000*10^-10; F = 10^7; m = 0.0665*9.1*10^-31; mhole =
0.34*9.1*10^-31; e = 1.6*10^-19; \[HBar] = 1.05*10^-34; Ne = 199;eqn1 = (-(\[HBar]^2/(2 m))* (\[Phi]^\[Prime]\[Prime])[x] +
   e*F*x*\[Phi][x]);{phivals, phifuns} =
  NDEigensystem[{eqn1,
    DirichletCondition[\[Phi][x] == 0,
     x \[GreaterSlantEqual] L/2 || x <= -L/2]}, \[Phi][x], {x, -L/2,
    L/2}, Ne,
   Method -> {"SpatialDiscretization" -> {"FiniteElement", \
{"MeshOptions" -> {MaxCellMeasure -> 10^-9}}}}];eqn2 = (-(\[HBar]^2/(2 mhole))* (\[Psi]^\[Prime]\[Prime])[x] -
   e*F*x*\[Psi][x]);{psivals, psifuns} = NDEigensystem[{eqn2, DirichletCondition[[Psi][x] == 0, x [GreaterSlantEqual] L/2 || x <= -L/2]}, [Psi][x], {x, -L/2, L/2}, Ne, Method -> {"SpatialDiscretization" -> {"FiniteElement", \ {"MeshOptions" -> {MaxCellMeasure -> 10^-9}}}}];Etable = Table[(psivals + phivals[[j]])/(1.6*10^-22), {i, Ne}, {j, Ne}];Itable = Table[ Abs[NIntegrate[psifuns[]*phifuns[[j]], {x, -L/2, L/2}, Method -> {"ExtrapolatingOscillatory"}]], {i, Ne}, {j, Ne}];
6楼2020-11-12 11:47:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

问天卖饼2

捐助贵宾 (初入文坛)

L = 1000*10^-10; F = 10^7; m = 0.0665*9.1*10^-31; mhole = 0.34*9.1*10^-31; e = 1.6*10^-19; [HBar] = 1.05*10^-34; Ne = 199;
eqn1 = (-(\[HBar]^2/(2 m))* (\[Phi]^\[Prime]\[Prime])[x] + e*F*x*\[Phi][x]);
eqn2 = (-(\[HBar]^2/(2 mhole))* (\[Psi]^\[Prime]\[Prime])[x] - e*F*x*\[Psi][x])
{phivals, phifuns} = NDEigensystem[{eqn1, DirichletCondition[\[Phi][x] == 0,  x \[GreaterSlantEqual] L/2 || x <= -L/2]}, \[Phi][x], {x, -L/2, L/2}, Ne, Method -> {"SpatialDiscretization" ->{"FiniteElement", {"MeshOptions" -> {MaxCellMeasure -> 10^-9}}}}];
{psivals, psifuns} =  NDEigensystem[{eqn2,  DirichletCondition[\[Psi][x] == 0, x \[GreaterSlantEqual] L/2 || x <= -L/2]}, \[Psi][x], {x, -L/2, L/2}, Ne, Method -> {"SpatialDiscretization" -> "FiniteElement", \{"MeshOptions" -> {MaxCellMeasure -> 10^-9}}}}];
7楼2020-11-12 14:29:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
问天卖饼2: 金币+100, ★★★很有帮助 2020-11-13 15:48:19
既然phi和psi都已经计算出来(离散数据点),那么phi*psi也是确定的离散点,直接用梯形公式求解,当然这种精度也较低。可以采用样条插值增加点数,然后再计算积分,这样可以提高精度
数值计算
8楼2020-11-13 14:34:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 问天卖饼2 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见