next up previous contents
Next: Analysing the results with Up: Analysing the real 3D Previous: Steering gd1 or gd1.pp   Contents

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= InnerRadius/15
     pxlow= -1.1*OuterRadius
     pylow= -1.1*OuterRadius
     pzlow = -(GapLength/2+TaperLength+9e-2)
     pxhigh=  1.1*OuterRadius
     pyhigh=  1.1*OuterRadius
     pzhigh=  (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 10 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= 4*STPSZE
        xposition= 0, yposition= 0
        shigh= 1.5
        showdata= yes

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

    -time
        firstsaved= 0.1/@clight
        lastsaved= 1/@clight
        distancesaved= 0.1/@clight

 -fdtd
    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
 # was: " call InnerPlunger( (OuterRadius-position1), 17 )"
 gbor> 
 gbor>   *** rnum: Bad Constant: starts here: "position1) "
  evaluate me(:lenEvaluate): "(231.15e-3-position1) "
 *** Status: "Bad factor :"p""
 *** : "(231.15e-3-position1) "
                       |
 *** 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 specify 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:
 timestep=      900, simulated time=    6.9214e-9  s
 wakepotentials are known up to s=    1.3455     m
 cpu time/sec: used:   300.13, since last call:    31.23, MFLOPs/s:   82.67
 Wall clock time:   305.99     s,                         MFLOPs/s:   81.09
  The highest simulation time is reached .., I am stopping
 ################################
 # cpu-seconds for FDTD :      320
 # start date           : 30/11/2002
 # end date             : 30/11/2002
 # start time           : 22:25:31
 # end time             : 22:33:22
 ## This is the normal end. Don't worry.
 ## Start the postprocessor to look at the results.
 stop FDTDLoop

next up previous contents
Next: Analysing the results with Up: Analysing the real 3D Previous: Steering gd1 or gd1.pp   Contents