Next: Analysing the results with Up: Analysing the real 3D Previous: Steering gd1 or gd1.pp

Computing Wakepotentials

As with the cavity without plungers, when we want to compute wakepotentials, we cannot use the symmetry plane of the geometry at z=0, since the excitation with the line-charge is not symmetric. We change the borders of the computational volume to:
 ###
 ### 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= eval( 1.1*OuterRadius)
     pyhigh= eval( 1.1*OuterRadius)
     pzhigh= eval( (GapLength/2+TaperLength+9e-2))

     #
     # The conditions to use at the borders of the computational volume:
     #
     cxlow= electric, cxhigh= electric
     cylow= electric, cyhigh= electric
     czlow= electric, czhigh= electric
For the linecharge, we have to specify its total charge, its length, and the (x,y)-position where it shall travel. We also have to say that we do not want to compute eigenvalues, but we want to perform a time domain computation. We specify that at the lower and upper z-planes absorbing boundary conditions shall be applied. In the section -time, we specify that we want to have saved the fields at 100 equidistant times between the time that the line charge has traveled 0.1 m and it has traveled 1 m.

We edit our inputfile, such that the end of it looks as:

 -eigenvalues
    solutions= 15
    estimation= 2e9   # the estimated highest frequency
#     doit

 -fdtd
    -lcharge
        charge= 1e-12
        sigma= eval(4*STPSZE)
        xposition= 0, yposition= 0
        shigh= 1.5
        showdata= yes
    return

    -ports
        name= beamlow , plane= zlow, modes= 3, npml= 40, doit
        name= beamhigh, plane= zhigh, modes= 3, npml= 40, doit
    return

    -time
        firstsaved= eval(0.1/@clight)
        lastsaved= eval(1/@clight)
        distancesaved= eval(0.01/@clight)
    return

    doit
The so edited inputfile can be found as /usr/local/gd1/Tutorial-SRRC/wPlunger-wake.gdf. When we feed gd1 with the edited inputfile,
 gd1 < wPlunger-wake.gdf
gd1 stops and complains
  *** rnum: Bad Constant: starts here: "position1 "
  *** DefinitionsAndExpand: Status: ill-formed expression
  *** last raw line: " call InnerPlunger(eval(OuterRadius-position1), 17 )"

 *** Since this not seems to be an interactive session,
 *** I decide to treat this as a fatal error.
 *** Fix the input.
 stop
We did not what the value of the symbols position1 and position2 shall be. We do this by defining them on the commandline of gd1:
 gd1 -Dposition1=50e-3 -Dposition2=0 < wPlunger-wake.gdf
Now the computation runs. After some minutes, the last words of gd1 are:
 ## I cannot find an excited port.. is this a wake computation?
 timestep=      900, simulated time=    6.9055e-09 s
 cpu time/sec: used:   798.40, since last call:    36.94, MFLOPs/s:   30.43
 Wall clock time:    1.697e+03 s,                         MFLOPs/s:   14.32
 ## I cannot find an excited port.. is this a wake computation?
  The highest simulation time is reached .., I am stopping
 ################################
 # cpu-seconds for FDTD :      815
 # start time           : 19:26:05
 # end time             : 20:07:39
 # date                 : 17/09/99
 ## This is the normal end. Don't worry.
 ## Start the postprocessor to look at the results.
 stop FDTDLoop

Next: Analysing the results with Up: Analysing the real 3D Previous: Steering gd1 or gd1.pp