The Movie is created via these four Commands, with the proper Inputfiles:
 mkdir -p /tmp/UserName/garbage
    gd1 < arndt-movie.gdf
    gd1.pp -ignore-profile < E-pp-in
    convert -loop 0 /tmp/UserName/garbage/Arndt-E*.gif Arndt-E-0.3-animated.gif
The Solver  gd1  is used to compute the Fields. At selected Times the Fields are stored.
     gd1 < arndt-movie.gdf
 The Postprocessor  gd1.pp  reads these stored Fields and writes Plotfiles.
 The Plot-Program  gd1.3dplot  reads these Plotfiles and writes xwd Bit-Map Files.
 ImageMagicks  convert  converts these xwd Bit-Map Files to GIF-Files which
 are moved to some other Directory.
 These three Steps are all performed with the Command:
     gd1.pp < E-pp-in
 ImageMagicks  convert  converts these GIF-Files to an animated GIF.
     convert -loop 0 /tmp/UserName/garbage/Arndt-E*.gif Arndt-E-0.3-animated.gif
The Inputfile for the Solver  gd1  is:
arndt-movie.gdf
 define(CU, 3) # Materialindex for Copper
 define( FREQ, 13.1e9 ) # Center-Frequency of the Excitation.
 define(WGH, 15.8e-3) define(WGW0, 7.9e-3) define(T0, 6.6e-3)
 define(CSW1, 4.2e-3) define(T1, 6.2e-3)
 define(STPSZE, 0.2e-3 )
 define(XHIGH, 30e-3) define(XLOW, -XHIGH )
 define(ZHIGH, 12e-3) define(ZLOW, -ZHIGH )
 ########
 ########
 ########
 -general
   outfile= /tmp/UserName/arndt-movie
   scratch= /tmp/UserName/scratch-arndt
 -mesh
   spacing= STPSZE
   graded= on, qfgraded= 1.2, dmaxgraded= 3e8/FREQ/80
   pxlow= XLOW, pxhigh= XHIGH        # pxlow: Position of xLow
   pylow= -WGH/2-STPSZE, pyhigh= 0
   pzlow= ZLOW, pzhigh= ZHIGH
   cxlow= electric, cxhigh= electric # cxlow: Condition at xLow
   cylow= electric, cyhigh= magnetic
   czlow= electric, czhigh= magnetic
 -material
   material= CU,  type= impedance, kappa= 56e6
 ###################
 ###################
 ###################
 ###################
 ###################
 #
 # Fill the Universe with Material CU.
 #
 -brick
    material= CU,
        volume= ( -INF, INF, \
                  -INF, INF, \
                  -INF, INF)
    doit
    #
    # Carve out the upper Waveguide.
    #
    material= 0,
       volume= ( -INF, INF,\
                 -WGH/2, WGH/2,\
                 T0/2, T0/2+WGW0 )
       doit
    #
    # Carve out the lower Waveguide.
    #
       volume= (-INF, INF,\
                -WGH/2, WGH/2,\
                -(T0/2+WGW0), -T0/2 )
       doit
    #
    # Carve out the coupling Slits.
    #
       volume= ( -CSW1/2, CSW1/2,\
                 -WGH/2, WGH/2,\
                 -(T0/2+WGW0), T0/2+WGW0 )
       doit
       volume= ( -(4.2e-3/2+3.0e-3), (4.2e-3/2+3.0e-3),\
                 -WGH/2, WGH/2,\
                 T0/2, T0/2+WGW0 ),
       doit
       volume= ( -(4.2e-3/2+3.0e-3), (4.2e-3/2+3.0e-3),\
                 -WGH/2, WGH/2,\
                 -(T0/2+WGW0), -T0/2 ),
       doit
       #
       #
       #
define(XDUM, 4.2e-3/2+3.0e-3 )
       volume= ( -(XDUM+3.2e-3), -XDUM,\
                 -WGH/2, WGH/2,\
                 -(T0/2+WGW0), T0/2+WGW0 ),
       doit
       volume= ( XDUM, (XDUM+3.2e-3),\
                 -WGH/2, WGH/2,\
                 -(T0/2+WGW0), T0/2+WGW0 ),
       doit
       #
       #
       #
define(XDUM, 4.2e-3/2+3.0e-3+3.2e-3+4.2e-3 )
       volume= ( -(XDUM+1.6e-3), -XDUM,\
                 -WGH/2, WGH/2,\
                 -(T0/2+WGW0), T0/2+WGW0 ),
       doit
       volume= ( XDUM, XDUM+1.6e-3,\
                 -WGH/2, WGH/2,\
                 -(T0/2+WGW0), T0/2+WGW0 ),
       doit
 ########
 ########
 ########
 ########
 #
 -volumeplot,
   eyeposition= ( 1.0, 2.0, 0.5) 
# doit # volumeplot
 -fdtd
   -ports
      name= xlow1,  plane= xlow,  pzlow= 0,  modes= 2, doit
      name= xlow2,  plane= xlow,  pzhigh= 0, modes= 2, doit
      name= xhigh1, plane= xhigh, pzlow= 0,  modes= 2, doit
      name= xhigh2, plane= xhigh, pzhigh= 0, modes= 2, doit
     list
  -pexcitation
     port= xlow1
     mode= 1, amplitude= 1, frequency= FREQ
 define( BANDWIDTH, FREQ / 3 )
       bandwidth= BANDWIDTH
  -time
 define( DISTANCE, 0.1 / FREQ )
 define( FIRSTSAVED,  2 / BANDWIDTH )
 define( LASTSAVED, FIRSTSAVED + 202 * DISTANCE )
     tmin= LASTSAVED + DISTANCE
     tmax= LASTSAVED + DISTANCE
     firstsaved= FIRSTSAVED
     lastsaved= LASTSAVED
     distancesaved= DISTANCE
  -fdtd, doit
The Inputfile for the Postprocessor  gd1.pp  is: 
E-pp-in
 -general
     infile= /tmp/UserName/arndt-movie
     scratchbase= ./Arndt-E-
 -3darrowplot
     lenarrows= 1
     scale= 4, fcolour= 7, arrows= 5000, fonmat= yes
     eyeposition= ( 1.0, 2.3, 0.5 )
     onlyplotfile= yes
     quantity= e
     #
     # A first Pass through the Results.
     # We want to know what the max-Values of the Fields are,
     # to not use autoscaling of the Arrow-Lengths and fonmat Patches.
     #
 define( FARROWMAX, 0 )
 define( FMAXONMAT, 0 )
     do ii= 1, 200
        solution= ii
 # Just to not occupy too much FileSpace.
 system( rm -f ./*-3D-Arrowplot.*.gld )
        doit
 define( FARROWMAX, max( FARROWMAX, @farrowmax ) )
 define( FMAXONMAT, max( FMAXONMAT, @absfmax ) )
     end do
 echo fArrowMax: FARROWMAX
 echo fonMatMax: FMAXONMAT
     #
     # The second pass through the Results.
     # We now know the Max Values, and scale every Frame for the same
     # Max Values that will occur in all the Frames.
     #
     fmaxonmat= FMAXONMAT / 2  # Slightly cheating.
     fscale= 1.5 /  FARROWMAX
     do ii= 1, 200
        solution= ii
 # Delete all *.gld Files in the current Directory,
 # so that the now to be created gld-File will be the only one.
 system( rm -f ./*.gld )
        doit   # Create the gld-File.
 # Convert the gld-File to a xwd-BitMap File.
 system( gd1.3dplot -xwd -geometry 650x530+1+1 ./*.gld )
 # Convert the xwd-BitMap File ./dumped.window to GIF-File.
 # The Name of the GIF-File is constructed from the Name
 # of the just written gld-File.
 system( convert -verbose ./dumped.window `basename ./*-3D-Arrowplot.*.gld gld`gif )
 # Move the created GIF-File to some other Directory.
 system( mv *.gif /tmp/UserName/garbage )
     end do
 echo fArrowMax: FARROWMAX
 echo fonMatMax: FMAXONMAT