搜索附件  
头雁微网 附件中心 技术应用 情报信息 电子枪.doc
板块导航
附件中心&附件聚合2.0
For Discuz! X3.5 © hgcad.com

电子枪.doc

 

学习magic中遇到的问题(第一个例子):
本帖最后由 问题很多 于 2011-11-8 22:44 编辑

这个例子我学习了四天,也是课件中的一个比较典型的发射电子束的问题,后面是我的疑惑,麻烦大家看看了。
文中注释以及不懂和大概不懂的地方使用红笔标注,长度的单位均为mm。
先附上结构图形

TERMINATE ERROR;

GRAPHICS SCREEN;

COMMENT " This is an input file for the day 3Seminar.";
HEADER ORGANIZATION  "MissionResearch Corporation.";
HEADER AUTHOR  "Gao xi";
HEADER DEVICE  "electronicgun.";
HEADER  RUN"3";
HEADER REMARKS  "V=500kv.";


!==========define variable==========
device_length=100.mm;
device_radius=28.mm;

cathode_width=30.mm;
cathode_radius=100.mm;

b_field=0.5tesla;
delta_r=0.4mm;
delta_z=0.4mm;
zorigin=0.0mm;
runtime=2nanosecond;
r0=0.0mm;

trise=0.2nanoseconds;
voltage_max=0.5megavolts;
function ramp1(t)=min(1.0,t/trise);
functionftemporal(t)=voltage_max*ramp1(t);
问题:这里应该是一个电压波形命令吧,当t小于0.2ns时,比如0.1ns,那么ftemporal应该=0.25MV,相当于0.2ns是一个上升前沿,对吧?

system cylindrical;

!==========define cathod1==============
z1_cathod1=zorigin;           r1_cathod1=0.0mm;
z2_cathod1=15.mm;           r2_cathod1=16.mm;

area  cathod1conformal      z1_cathod1,r1_cathod1
                             z2_cathod1,r2_cathod1;
cathod1 :conformal(0,0)(15,16)

!===========define tip cathod=========
z1_cathod=z2_cathod1;        r1_cathod=r1_cathod1;
z2_cathod=z2_cathod1+3.mm;   r2_cathod=r2_cathod1-3.mm;
z3_cathod=z2_cathod1+28.mm;  r33_cathod=r2_cathod1-2*delta_r;
                            r3_cathod=r2_cathod1;

area cathod polygonal   z1_cathod,r2_cathod
                       z2_cathod,r2_cathod
                       z3_cathod,r33_cathod
                       z3_cathod,r3_cathod
                       z1_cathod,r3_cathod
                       z1_cathod,r2_cathod;
cathod:polygonal (15,13)(18,13)(43,15.2)(43,16)(15,16)(15,13)

!==========define tip cathod2=========
z1_tip=z2_cathod1;       r1_tip=4.8mm;
z2_tip=z2_cathod1+3.mm;  r2_tip=r1_tip-3.mm;
z3_tip=z2_cathod1+28.mm; r33_tip=r1_tip-2*delta_r;
                         r3_tip=r1_tip;
area tip_cathod polygonal z1_tip,r2_tip
                          z2_tip,r2_tip
                          z3_tip,r33_tip
                          z3_tip,r3_tip
                          z1_tip,r3_tip
                          z1_tip,r2_tip;

!==========define backward absorb currentcathode===
z1_cathod2=60.mm;   r1_cathod2=0.0mm;
z2_cathod2=70.mm;   r2_cathod2=20.mm;
area cathod2 rect z1_cathod2,r1_cathod2
                 z2_cathod2,r2_cathod2;


!========define anod1================
z1_anod1=0.0mm;   r1_anod1=50.mm;
z2_anod1=30.mm;   r2_anod1=28.mm;
z3_anod1=40.mm;   z4_anod1=45.mm;
r3_anod1=52.mm;
area anod1 polygonal  z1_anod1,r1_anod1
                      z2_anod1,r1_anod1
                      z3_anod1,r2_anod1
                     z4_anod1,r2_anod1
                      z4_anod1,r3_anod1
                      z1_anod1,r3_anod1
                      z1_anod1,r1_anod1;
anod1:polygonal (0,50)(30,50)(40,28)(45,28)(45,52)(0,52)(0,50)

!========define anod2==================
z1_anod2=z4_anod1;        r1_anod2=28.mm;
z2_anod2=device_length;   r2_anod2=r1_anod2+2.0mm;
area anod2 conformal z1_anod2, r1_anod2
                    z2_anod2, r2_anod2;
anod2:conformal (45,28)(100,30)

!=========define anod3================
z1_anod3=120.mm;  r1_anod3=28.mm;
r_anod3=7.mm;
! area anod3 quarterround  3 z1_anod3, r1_anod3  r_anod3;

!==========define anod4==============
z1_anod4=z1_anod3;      r1_anod4=21.mm;
z2_anod4=z1_anod4+5.mm;  r2_anod4=28.mm;
area anod4   rect  z1_anod4,r1_anod4
                   z2_anod4,r2_anod4;
anod4:rect(120,21)(125,28)

!========define axial  line==========
line axial conformal  z1_cathod1,r1_cathod1
                       device_length,r1_cathod1;
axial: conformal (0,0)(100,0)
!=======mark mesh===================
mark axial  x1 size delta_z;

mark  cathod1x2  size delta_r;
mark cathod  x2  size delta_r;
mark  cathod2x2  size delta_r;
mark tip_cathod  x2  size delta_r;

mark anod1   x2  size delta_r;
mark anod2   x2  size  delta_r;
mark  anod4   x2  size  delta_r;
问题:这里不明白,为什么没有对cathod1,cathod等在x1方向进行mark,因为普遍来讲应该对x1和x2方向均进行mark命令。
!========generate spatial grid=======
autogrid;

!========define algorith==========
mode both;
maxwell biased;
duration runtime;

!=========define boundary============
conductor cathod1;
conductor cathod;
conductor anod1;
conductor  anod2;
conductor  anod4;

!========define magnetic field=======
radius=30.mm;
coils  axis x1;
     current=32000amps;
z0=30.mm;  ri=r0; zz=22.mm;
do i=1,8;
zi=z0+(i-1)*zz;
point coil_center'i' zi,ri;
coils definitioncoil_center'i',radius,current;
enddo;

cur1=500amps;
rj=r0;
do  j=1,10;
zj=z0+(j-1)*3.mm;
point coil_centre'j'  zj,rj;
coils definition coil_centre'j',radius, cur1;
enddo;

cur2=-500amps;
rk=r0;
do k=1,5;
zk=190.mm+(k-1)*2.mm;
point coil_cent'k' zk,rk;
coils definitioncoil_cent'k',radius,cur2;
enddo;

!========define port line==========
line output conformal z2_anod2,r1_cathod1
                    z2_anod2,r2_anod2;
output:conformal (100,0)(100,30)
line  inletconformal  z1_cathod1,r2_cathod1
                    z1_anod1,r1_anod1;
inlet:conformal (0,16)(0,50)
area simulation_1 rectangular  0.0mm,0.0mm
                               600.mm,200mm;
simulation_1:rectangular (0,0)(600,200)

port output  negative;
function gx1(z,r)=1/r;
function  gx2(z,r)=0.0;
port inlet  positive
            incoming ftemporal
            function e2gx1 e3 gx2
            normalization voltage inlet;
问题,我发现加电压好像都是这样加,在端口处加上一个波形。不太理解的是function e2 gx1 e3 gx2,简单来说就是function Er 1/r  EФ 0 ,就是说波形在空间的分布是r方向按1/r来分布,Ф方向没有分量,那我想问下,这个波向不向Z方向传播呢?如果向Z方向传播的话那就还有一大堆问题了。
还有就是为什么空间分布r方向按1/r来分布?这个我觉得非常重要啊。可能这个问题有点难,我想。

!==========define emissionprocess=======
emission explosive
        surface_spacing  random
         threshold  5.E6;
emit explosive cathod;
问题:这里我一直不明白,这个阈值电场值的单位是多少,V/cm还是V/m,然后这个值和材料的特性有什么联系,总不能随意写一个值上去吧,比如不锈钢是多少呢?天鹅绒是多少呢?LaB6是多少呢?这个是不是有一个公式什么的啊?

timer  chkitperiodic 10 10000 20;
statistics chkit;
phasespace  axes x1 x2 chkit;
phasespace axes x1 ke tsys$last
            axis y 0.0 voltage_max;
问题:axis y 0.0 voltage_max;这个选项我虽然不明白是什么意思,但是我将这个选项去掉进行仿真之后,发现没有什么发生了变化。

observe field_integral e.dl inlet;
问题:这个是对电场在inlet线的积分,但是积分总得有个从哪里到哪里吧,对电场的积分是电压我知道,实际上这条命令就是想看inlet上得电压值,但是是正还是负呢?这个怎么判断,虽然能从最后的结果上看出来是正值。

zi=sys$x1mn+delta_z;
ri=device_radius-delta_r;
point incident.loop zi,ri;
incident.loop:point (0.4,27.6)
observe field_integral h.dlincident.loop;
问题:observe是变量随实践的变化关系,但是后面的这个field_integral h.dl是什么意思呢?我只知道最后的物理单位是A(安培),但是不懂到底测的是这个点的什么物理量。

range particle power   electron x1 tsys$last;
问题:这个命令是描述在系统时间tsys$last时刻,也就是仿真的最后一刻,粒子功率(article power)随着z(x1)轴的变化对吧?

range field b1st axial tsys$first;

!=======observe net particlecurrent=====
zi=z2_anod2-100.mm;
ri=0.0;  rf=device_radius;
line jplane  conformal  zi,ri
                         zi,rf;
jplane:conformal(0,0)(0,28)

observe field_integral j.da jplane
          suffix paticle.current
           filter step trise;
问题:这里不明白的是对于一条直线jplane进行j.da的积分,命令的物理意思和得到的结果是什么呢?最后的单位是A,那与上面对h.dl的积分,最后的单位也是安培有什么区别呢?难道只是一个是对点,一个是对线吗?
    接下来的filter step trise;命令非常重要,是进行滤波的命令,这个命令有什么作用呢?从结果里能看出如果不加这个命令,图形就会有一定的锯齿形状,但是还是不懂到底有啥用,还有就是trise的选择有什么依据吗?好像这个比较重要。

!=======observe net particle current======
area simulation conformal  sys$x1mn,sys$x2mn
                           sys$x1mx,sys$x2mx;
observe field_power e.j_particlesimulation  suffix particle.power
                filter step trise;
问题:依然是trise的选择和filter的意义。整个命令的意思是电子在整个仿真区域中,从电场中得到或者失去能量随时间的变化,对吗?

contour field e2 simulation chkit
            axis x sys$x1mn sys$x2mx
              axis y sys$x2mn sys$x2mx
           integratey negative;
问题,contour是画等值线的(不是等势线),就是说画出Er具有相同值的地方,但是最后加上了integrate y negative;这个命令,好像画得就不是Er了,应该是积分什么的,从结果上来看像是等势线什么的,但是仅仅对于Er的积分应该不能得到等势线,因为里面不仅有Er,还应该有Ez的。所以不明白这个命令的意思,还有就是ynegative是什么意思呢?

!=========set dump=========
dump prefix "gun_gaoxi.";
dump name   gun_gaoxi.;
dump format ASCII;
dump type   TABLE;

display;
start;
晕死啊,怎么上传上去,格式竟然出问题了!
客服中心 搜索
关于我们
关于我们
关注我们
联系我们
帮助中心
资讯中心
企业生态
社区论坛
服务支持
资源下载
售后服务
推广服务
关注我们
官方微博
官方空间
官方微信
返回顶部