create new tag
view all tags

A quick GdfidL tutorial

GdfidL license is installed on the Faraday Cluster.

What is this software?

  • GdfidL is a 3D electromagnetic simulation code written in FORTRAN.
  • It uses orthogonal mesh with diagonal fillings to discretise the geometry
  • FDTD (Finite Difference Time Domain) algorithm at the core
  • Two solvers are included: eigenmode and time domain
  • Can run in interactive mode
  • Has a built-in interpreter with basic maths and powerful syntax (variables, ifs, loops)
  • Runs on serial and parallel machines
  • Includes a postprocessor for computing macro parameters and field-derived values (Q-values, wakepotentials)

What can you do with the code?

  • Eigenmode simulations
    • Eigenmodes => resonant frequencies
    • Includes periodic boundary conditions
    • Q, R/Q etc using the postprocessor
  • Time domain simulations
    • Fields can be excited by port modes or relativistic charges
    • Scattering parameters (pp)
    • Wake potentials (pp)

Before you really start with GdfidL

  • If you don't have it, ask for a PP computing account
  • Read the instructions on using the cluster
  • To access the cluster login into linappserv0.pp.rhul.ac.uk, don't forget the -Y option if you want to work with the graphics
  • You have to run a script in ~george/scripts/sshforcluster.sh in order to allow passwordless connections between the cluster nodes. Update: USE THIS COPY sshforcluster.sh
  • Create a file .mpd.conf in your home directory containing MPD_SECRETWORD=somepassword -- somepassword is your unique identifier, but does not have to be a super-high level password
  • Add some environment variables to your shell's start-up file using this example
  • In $GDFIDL_HOME you can find the manual and the tutorial. These are large documents, so don't print them if you don't really need to
  • Start GdfidL in the interactive mode just typing gd1 to check if all is set up correctly
  • In principle, the whole geometry can be created in the interactive mode, but it's a lot more efficient to use input files
  • Use Ctrl-D to exit

Creating the geometry

  • For checking the geometry and really small tasks the code can be run from the command line gd1 < inputfile.gdf | tee out (note that the text output will be copied in the file out)
  • Anything bigger MUST be submitted to the cluster's queue manager
  • Use Waveguide Modes Example or Pillbox Cavity Example as a starting point for eigenmode computations (think frequencies, modes, Q-values)
  • Use Waveguide adapter example or Wakefield example for time-domain simulations (time varying signals, S-parameters, wakes)
  • These examples cover the minimum, consult the manual for more information!

Submitting your job to the queue

  • For the cluster to be used efficiently, there is a queue manager - program that manages the order in which the jobs run on the cluster
  • Use this Queue submission script for submitting GdfidL jobs
  • Type qsub script_name to submit the job to the queue
  • Use qstat to see the status of the cluster's queues (or qstat | grep username to filter your jobs only or qstat -f jobid to see the status of a particular job)
  • Update: an improved script and example file using local /data directories on the cluster


  • Start the postprocessor typing in gd1.pp
  • You can make your life easier pre-loading some scripts and your last computation using the postprocessor profile, see Postprocessor Profile Example
  • Some of the most useful sections of the postprocessor are -3darrowplot -- plot 3-dimensional fields, -sparameter -- calculate S-parameters from time-domain signals, -wakes -- calculate wakes from the stored field data, etc
  • There are also some useful scripts for calculating Q-values and shunt impedances in $GDFIDL_HOME/postprocessor-macros, using these as examples you can write your own
  • The scripts are executed with the call command, for example, to calculate the Q-value of mode number 1 you would type call QValue(1)


This is a VERY brief description, the manual is 200 pages long, so keep it handy, there are many features that may be useful for your particular task. Once you have gone through the examples, see me (Alexey.Lyapin (at) rhul.ac.uk) to discuss the details of your problem. I can contact the developer if I don't know the answer, but can certainly help with general questions.

Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | Raw edit | More topic actions

Physics WebpagesRHUL WebpagesCampus Connect • Royal Holloway, University of London, Egham, Surrey TW20 0EX; Tel/Fax +44 (0)1784 434455/437520

Topic revision: r14 - 25 Apr 2012 - AlexeyLyapin

This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding RHUL Physics Department TWiki? Send feedback