Next: Computing Eigenvalues
Up: Modelling the geometry
Previous: Boundary conditions
You have to give gd1 the following information:
- what geometry you are interested in (-brick -gbor etc),
- what the boundary planes of your computational volume are (-mesh),
- what the conditions at these boundary planes are (-mesh),
- what the default mesh density shall be (-mesh),
- where gd1 shall store the result (-general),
- what kind of computation gd1 shall perform (-eigenvalues, -fdtd).
The complete inputfile up to now (doris04.gdf) is:
#
# Some helpful symbols:
#
define(EL, 1) define(MAG, 2)
define(INF, 1000)
#
# We define symbols that will be used to describe our cavity:
# The names of the symbols can be up to 32 characters long,
# The values of the symbols can be up to 128 characters long.
#
define(OuterRadius , eval(46.23e-2/2) )
define(InnerRadius , eval(13.00e-2/2) )
define(GapLength , 27.60e-2 )
define(CurveRadius , 0.585e-2 )
define(BeamPipeRadius, eval(14.17e-2/2) )
define(TaperLength , 13.2e-2 )
###
### We enter the section "-general"
### Here we define the name of the database where the
### results of the computation shall be written to.
### (outfile= )
### We also define what names shall be used for scratchfiles.
### (scratchbase= )
###
-general
outfile= /tmp/bruw1931/garbage/doris
scratchbase= /tmp/bruw1931/garbage/doris-scratch
###
### We define the borders of the computational volume,
### we define the default mesh-spacing,
### and we define the conditions at the borders:
###
-mesh
spacing= eval(InnerRadius/15)
pxlow= eval(-1.1*OuterRadius)
pylow= eval(-1.1*OuterRadius)
pzlow = eval(-(GapLength/2+TaperLength+9e-2))
pxhigh= 0
pyhigh= 0
pzhigh= 0
#
# The conditions to use at the borders of the computational volume:
#
cxlow= electric, cxhigh= magnetic
cylow= electric, cyhigh= magnetic
czlow= electric, czhigh= electric
######
######
######
######
#
# we fill the universe with metal
#
-brick
material= EL
xlow= -INF, xhigh= INF
ylow= -INF, yhigh= INF
zlow= -INF, zhigh= INF
doit
#
# we carve out the body of the cavity
#
-gbor
material= 0
origin= (0,0,0)
zprimedirection= (0,0,1)
rprimedirection= (1,0,0)
range= (0,360)
clear # clear any old polygon-description
# point= (z,r)
point= (eval(-(GapLength/2+TaperLength+10e-2)), 0 ) # p1
point= (eval(-(GapLength/2+TaperLength+10e-2)), BeamPipeRadius)
point= (eval(-(GapLength/2+TaperLength )), BeamPipeRadius)
point= (eval(-(GapLength/2+CurveRadius )), InnerRadius )
arc, radius= CurveRadius, size= small, type= counterclockwise
point= (eval(-(GapLength/2 )), eval(InnerRadius+CurveRadius))
point= (eval(-(GapLength/2 )), OuterRadius )
## crossing z=0 plane
point= (eval( (GapLength/2 )), OuterRadius )
point= (eval( (GapLength/2 )), eval(InnerRadius+CurveRadius))
arc, radius= CurveRadius, size= small, type= counterclockwise
point= (eval( (GapLength/2+CurveRadius )), InnerRadius )
point= (eval( (GapLength/2+TaperLength )), BeamPipeRadius)
point= (eval( (GapLength/2+TaperLength+10e-2)), BeamPipeRadius)
point= (eval( (GapLength/2+TaperLength+10e-2)), 0 )
show= now
doit
-mesh
#
# enforce two meshplanes, at the bottom and the top of the cavity:
#
zfixed(2, eval(-GapLength/2), eval(GapLength/2) )
-volumeplot
## doit
-eigenvalues
solutions= 15
estimation= 10e9 # the estimated highest frequency
doit