计算电磁学
元周民
这个作者很懒,什么都没留下…
展开
-
群折射率$ n_g$与有效折射率$ n_{eff}$的关系详细推导(假设$ \lambda_0$为真空入射光波长)
群折射率和有效折射率关系公式的详细推导原创 2023-08-15 15:01:50 · 1640 阅读 · 0 评论 -
平板光波导中导模的(注意不是泄露模)传播常数β的matlab计算(验证了是对的)
(Slab waveguide)平板光波导的传播常数的计算原创 2023-07-29 20:58:59 · 1276 阅读 · 0 评论 -
二维体光子晶体的平面波展开法代码2
这篇文章接前面《二维体光子晶体的平面波展开法代码》这个是实际网格划分,各标记的含义上篇文章有说明下面是傅里叶系数恢复的相对介电常数分布(虚部),看起来非常大,那是因为imag(EpsMat)趋于0的原因。下面这个图是实空间相对介电常数分布的伪彩图:下面这个图是TE能带图,可以看到和FEM的结果还是有点偏差,但实际上只要加密网格同时遵守前一篇文章所述的nG参数和precisStruct参数的关系就可以获得误差更小的能带图。原创 2023-05-10 15:35:15 · 264 阅读 · 0 评论 -
二维体光子晶体的平面波展开法代码
二维平面波展开法原创 2023-05-04 09:25:48 · 1095 阅读 · 1 评论 -
(PWEM前置知识)解析公式求相对介电常数分布函数的 Fourier 展开系数以及基于此的绘制实空间原胞的相对介电常数分布
(PWEM前置知识)解析公式求相对介电常数分布函数的 Fourier 展开系数以及基于此的绘制实空间原胞的相对介电常数分布原创 2023-05-03 15:21:32 · 361 阅读 · 0 评论 -
一个有趣的极限(会在求标量格林函数的Ewald级数时且处理它的奇点的时候会遇到)
如题目所示,这就是要表达的意思原创 2022-06-29 16:23:02 · 76 阅读 · 0 评论 -
一个和二维泊松求和有关的公式(推导Ewald级数中有用,运用了2D泊松求和公式,傅里叶变换的位移性质)
如题所示原创 2022-06-28 21:24:57 · 375 阅读 · 0 评论 -
matlab复误差函数的高效计算(有官方背书)
matlab复误差函数的高效计算,可以和mathematica的官方函数对比验证下,有权威官方背书,是参考网站的代码改写而来。原创 2022-06-27 17:40:46 · 458 阅读 · 0 评论 -
赫尔维兹_勒奇超越函数(matlab自编函数)
function [out] = Lerch_fun(z,s,v)%Lerch_fun(exp(1j*2),3,0.1)% Lerch transcendent%表达式:\Phi(z, s, v)=\sum_{n=0}^{\infty} \frac{z^{n}}{(n+v)^{s}}%syms tf=@(t)((t.^(s-1)).*exp(-v*t))./(1-z.*exp(-t));out=(1/gamma(s))*(integral(f,0,Inf));end和Mathematic原创 2022-03-01 21:29:14 · 824 阅读 · 0 评论 -
三角格子BZ离散代码(T-K-M-T)(好像高对称点重复了)
function [k0]=BZ_dispersed()global a0delta=0.01;%可调参数T=[0,0];M=[0,2*pi/(sqrt(3)*a0)];K=[2*pi/(3*a0),2*pi/(sqrt(3)*a0)];TK=K-T;tk=TK(1)+TK(2)*1i;list_tk=(T(1)+T(2)*1i)+[0:delta:1]*tk;KM=M-K;km=KM(1)+KM(2)*1i;list_km=(K(1)+K(2)*1i)+[0:delta:原创 2022-01-01 17:31:14 · 237 阅读 · 0 评论 -
一个基本成功的TM模式FDFD代码
%Main_FDFD(0)%TM mode%version 2.0function []=Main_FDFD(para0)clearvars -except para0clc;close all%para0为1则画场图%c_const=299792458;%单位mglobal R a0R=1e-3;%圆柱半径 ,单位mPx=5e-3;%超原胞长度Py=5e-3;%超原胞宽度a0=Px;%晶格常数x_center=0.5*Px;%圆柱中心y_center=0.5*Py;%圆柱中心原创 2021-12-23 16:55:20 · 613 阅读 · 0 评论 -
一段判断点是否在多边形内的matlab代码
function [out]=shape_f(xx,yy,xp,yp)%xx、yy是输入的要判断的点,%xp 、yp是多边形的顶点(顺时针或逆时针,首尾相连)%xp、yp是向量%如果在多边形内或边上,out为1,否则为0out=double(inpolygon(xx,yy,xp,yp));end...原创 2021-12-23 16:52:38 · 495 阅读 · 0 评论 -
comsol提取的csv数据画能带图
clear;clc;c_const=299792458;%单位mX=csvread('F:\table_desk\COMSOL.VS.紧束缚\test_band1.csv',1);Y=csvread('F:\table_desk\COMSOL.VS.紧束缚\test_band2.csv',1);figure(2)scatter((X),abs(real(Y)).*(5e-3)/(c_const),'r.')axis tight原创 2021-12-23 16:48:39 · 762 阅读 · 0 评论 -
很好很高效的离散简约BZ的代码(好像高对称点重复了)
function [k0]=BZ_dispersed()global aa=1;%临时参数delta=0.01;%可调参数T=[0,0];M=(2*pi/a)*[1/(4+2*sqrt(2)),1/(4+2*sqrt(2))];X=(2*pi/a)*[1/(4+2*sqrt(2)),0];MT=T-M;mt=MT(1)+MT(2)*1i;list_mt=(M(1)+M(2)*1i)+[0:delta:1]*mt;TX=X-T;tx=TX(1)+TX(2)*1i;list_tx原创 2021-07-16 16:36:50 · 104 阅读 · 0 评论 -
光子晶体介质柱的讨论
矩形介质柱的kkk空间相对介电常数计算:α(G)={αAf+αB(1−f),G=0(αA−αB)P(G),G≠0\alpha(G)=\left\{\begin{array}{l}\alpha_{\mathrm{A}} f+\alpha_{\mathrm{B}}(1-f), G=0 \\\left(\alpha_{\mathrm{A}}-\alpha_{\mathrm{B}}\right) P(G), \quad G \neq 0\end{array}\right.α(G)={αAf+αB(1原创 2021-07-15 19:24:07 · 325 阅读 · 0 评论 -
光子晶体中的平面波展开法学习
把平面波展开法当做一个响应器,即有输入和输出,先谈它的输入,输入有:1.介质柱的相对介电常数2.背景的相对介电常数3.填充率(介质柱横截面积比上正格子中二维原胞面积,三角格子光子晶体的原胞是一个菱形,正方格子光子晶体的原胞是一个矩形)4.圆形介质柱的半径R(但是介质柱可能不是圆形甚至是不规则的形状,这个问题留在后面讨论),这个半径一般表示为晶格常数a的倍数.5.还有一个参数和计算过程中运用的平面波的数目有关,我们假定它是n,平面波展开法中平面波的数目越多计算结果就会越精确,但我不确定这是否是绝对的原创 2020-11-05 21:48:54 · 3152 阅读 · 0 评论