ModelInfo

Tell T3P which mesh file to load and what boundary conditions are used for the different side sets in the mesh file (default: Electric)

 ModelInfo:  {
  File: coarse.ncdf
  BoundaryCondition:   {
    Electric: 2
    Magnetic: 3 4
    Absorbing: 5 6
   }
 }

MeshPartitioning

To specify the method to partition the mesh

   MeshPartitioning:  {
        Method: PARMETIS   //the other option is ZOLTAN
        Zoltan: {          //if the main method is ZOLTAN, this container will provide further zoltan specific options
           Method: RCB
           Dimension: 1
           Partition Direction: Z
        }
   }

Normal finite element parameters

  FiniteElement: {
    Order: 2                // global order of basis functions (can be 1...6, 2 is recommended)
    CurvedSurfaces: on
  }

P-window for short-range wakefield

Moving-window with mesh refinement for short-range wakefield

Gaussian beam going through a cavity

  Loading: {
    Type: BeamBoundaryLoading
    Analytical: on
    // Specify the right-handed coordinate system with its Z-axis along the beamline ( CrossProduct(X, Y) = Z = Direction specified above)
    Origin: 0.0 0.0 0.0
    XDirection: 1.0 0.0 0.0     //this is the direction of the beam offset, if any
    YDirection: 0.0 1.0 0.0
    Beampipe radius: 0.04
    Beam offset: 0              //offset in x-direction of the local 2D coordinate system (value needs to be consistent with StartPoint specified above)
  }

Time Integration Parameters

  TimeStepping: {
     MaximumTime: 10.e-10  //the maximal time to step
     DT: 2e-12             //delta T
  }

Wakefield Monitor

   Monitor: {
    Type: WakeField      // Weiland method (not for protruding structures, beam pipe radius must be the same on left and right side)
    Name: wake
    Start contour: 0.05  // z-position at which the beampipe-cavity transition starts
    End contour: 0.10    // z-position at which the beampipe-cavity transition ends
    Smax: 0.3            // the longitudinal wake potential will be recorded from s=0 to s=Smax
  }

Point Monitor

To record the field values at specified location

   Monitor: {
     Type: Point             //point monitor
     Name: monA              //an output file called monA.out will be generated
                             //it contains: t Hx Hy Hz Ex Ey Ez
     Coordinate:  0.00002, 0.02, 0.1495  //the location
   }

Power Monitor

  Monitor: {
    Type: Power
    ReferenceNumber: 4     //which reference surface to monitor
    Name: mymon2
    TimeStart: 0           //when power monitor starts
    TimeEnd:   30.0e-9     //when it ends
    TimeStep:  0.125e-11   //how often it records power density
  }

Volume Monitor

  Monitor: {
    Type: Volume
    Name: vol
    TimeStart: 10.e-9          //when volume monitor starts
    TimeEnd:   500.e-9       //when it ends
    TimeStep:  50.e-9         //how often it records volume fields
  }

After T3P finished runs, users should run acdtool to generate mode files for each records of the volume fields using the following command:
acdtool postprocess volmontomode t3pinput <jobname>

The mode files generated can be viewed using paraview.

CheckPoint

request T3P code to checkpointing itself every certain timesteps so that one can restart T3P.

  CheckPoint: {
    Action: restart         //default should be restart. If there is no data available, it will have fresh start.
    Ntimesteps: 100         //every 100 times steps, code will checkpoint itself
    Directory: CHECKPOINT   //the default directory to store checkpointing data
  }

LinearSolver

The options for linear solvers in the implicit timestepping.

  LinearSolver: {
        Solver:              CG          //other options include MUMPS (direct solver, faster for less than 32 CPUs) if it is compiled in
        Preconditioner:	  CHOLESKY       //other options include DIAGONAL
        PrintFrequency:      50          //if you want print solver convergence history
        QuietMode:           1	         //Set it to 1 if you do not want to print anything
        Tolerance:           1e-10       //relative tolerance
        MaxIterations:       3000        //maxima number of iterations before CG quits
  }

Load a TEM waveguide mode on a coax port

 Loading: {
  Type: PortModeLoading  //loading type
  Port:  {
    ReferenceNumber: 3   //port is at reference surface 3
    Origin: 0.0 0.0 -0.011
    XDirection: 1.0 0.0 0.0
    YDirection: 0.0 1.0 0.0
    ESolver: {
      Type: Analytic
      Mode:  {
        WaveguideType: Coax
        ModeType: TEM
        A: 0.0011
        B: 0.0033
      }
    }
  }
  Excitation: {
    Power: 1.
    Pulse: {
      Type: Monochromatic
      Frequency: 10.5e9
      Rise periods: 150
      Fall periods: 150
      T0: 0.
      TMax: 100.e-9
    }
  }
 }