本帖最后由 问题很多 于 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;