| 查看: 6344 | 回复: 19 | ||||
| 【奖励】 本帖被评价11次,作者514233增加金币 8.3 个 | ||||
[资源]
【资源】光纤中,分布傅里叶算法解非线性薛定谔方程MATLAB源程序
|
||||
|
function u1 = ssprop(u0,dt,dz,nz,alpha,betap,gamma,maxiter,tol); % This function solves the nonlinear Schrodinger equation for % pulse propagation in an optical fiber using the split-step % Fourier method. % % The following effects are included in the model: group velocity % dispersion (GVD), higher order dispersion, loss, and self-phase % modulation (gamma). % % USAGE % % u1 = ssprop(u0,dt,dz,nz,alpha,betap,gamma); % u1 = ssprop(u0,dt,dz,nz,alpha,betap,gamma,maxiter); % u1 = ssprop(u0,dt,dz,nz,alpha,betap,gamma,maxiter,tol); % % INPUT % % u0 - starting field amplitude (vector) % dt - time step % dz - propagation stepsize % nz - number of steps to take, ie, ztotal = dz*nz % alpha - power loss coefficient, ie, P=P0*exp(-alpha*z) % betap - dispersion polynomial coefs, [beta_0 ... beta_m] % gamma - nonlinearity coefficient % maxiter - max number of iterations (default = 4) % tol - convergence tolerance (default = 1e-5) % % OUTPUT % % u1 - field at the output % % NOTES The dimensions of the input and output quantities can % be anything, as long as they are self consistent. E.g., if % |u|^2 has dimensions of Watts and dz has dimensions of % meters, then gamma should be specified in W^-1*m^-1. % Similarly, if dt is given in picoseconds, and dz is given in % meters, then beta(n) should have dimensions of ps^(n-1)/m. % % See also: sspropc (compiled MEX routine) % % AUTHOR: Thomas E. Murphy (tem@umd.edu) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Copyright 2006, Thomas E. Murphy % % This file is part of SSPROP. % % SSPROP is free software; you can redistribute it and/or % modify it under the terms of the GNU General Public License % as published by the Free Software Foundation; either version % 2 of the License, or (at your option) any later version. % % SSPROP is distributed in the hope that it will be useful, but % WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public % License along with SSPROP; if not, write to the Free Software % Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA % 02111-1307 USA if (nargin<9) tol = 1e-5; end if (nargin<8) maxiter = 4; end nt = length(u0); w = 2*pi*[(0:nt/2-1),(-nt/2:-1)]'/(dt*nt); halfstep = -alpha/2; for ii = 0:length(betap)-1; halfstep = halfstep - j*betap(ii+1)*(w).^ii/factorial(ii); end halfstep = exp(halfstep*dz/2); u1 = u0; ufft = fft(u0); for iz = 1:nz, uhalf = ifft(halfstep.*ufft); for ii = 1:maxiter, uv = uhalf .* exp(-j*gamma*(abs(u1).^2 + abs(u0).^2)*dz/2); uv = fft(uv); ufft = halfstep.*uv; uv = ifft(ufft); if (norm(uv-u1,2)/norm(u1,2) < tol) u1 = uv; break; else u1 = uv; end end if (ii == maxiter) warning(sprintf('Failed to converge to %f in %d iterations',... tol,maxiter)); end u0 = u1; end http://www.photonics.umd.edu/software/ssprop/ssprop-3.0.1-windows.zip [ Last edited by 514233 on 2010-5-7 at 11:50 ] |
» 收录本帖的淘帖专辑推荐
matlab |
» 猜你喜欢
上海工程技术大学【激光智能制造】课题组招收硕士
已经有6人回复
带资进组求博导收留
已经有11人回复
自荐读博
已经有5人回复
求个博导看看
已经有16人回复
上海工程技术大学张培磊教授团队招收博士生
已经有4人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
最近几年招的学生写论文不引自己组发的文章
已经有11人回复
中科院杭州医学所招收博士生一名(生物分析化学、药物递送)
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
【求助】薛定谔方程转换成矩阵形式的理论依据
已经有4人回复
【讨论】密度泛函理论与薛定谔方程的关系?
已经有7人回复
【求助】紧束缚模型与薛定谔方程的区别与联系
已经有13人回复
【求助】一道博士生面试题:薛定谔方程和热传导方程
已经有10人回复
【求助】解含时薛定谔方程的问题
已经有5人回复
【求助】O3的薛定谔方程表达式,及每一项的物理意义
已经有4人回复
【求助】ALGaN/GaN 薛定谔泊松方程自洽求解(插AlN层)
已经有5人回复
14楼2011-01-12 11:55:16
15楼2011-01-12 12:10:36
16楼2011-01-12 16:11:48
17楼2011-01-12 18:51:38
2楼2010-05-07 12:03:28
3楼2010-05-08 21:48:17
4楼2010-05-09 23:30:36
5楼2010-05-10 18:50:41
6楼2010-05-11 13:33:27
8楼2010-05-22 16:38:13
9楼2010-12-06 23:25:18
11楼2010-12-23 10:16:45
12楼2010-12-27 15:41:18
18楼2011-03-18 18:43:30
19楼2012-10-24 10:41:53
20楼2022-06-09 17:29:04
简单回复
2010-05-11 14:13
回复


张小肆10楼
2010-12-21 10:14
回复
谢谢分享~~~
optimist910513楼
2010-12-29 20:50
回复
五星好评 谢谢分享!







回复此楼