Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Panel
titleTable of Contents
Table of Contents
minLevel2
outlinetrue
indent30px
typeflat
separatornewline

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)

Code Block
Wiki Markup
{toc:style=disc|indent=20px}

h3. 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)
{code}
 ModelInfo:  {
  File: coarse.ncdf 
  BoundaryCondition:   {
    Electric: 2
    Magnetic: 3 4
    Absorbing: 5 6
   }
 }
{code}

h3. MeshPartitioning
To specify the method to partition the mesh
{code}

MeshPartitioning

To specify the method to partition the mesh

Code Block
   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
        }
   }
{code}

h3. Normal finite element parameters
  

Normal finite element parameters

Code Block

  FiniteElement: {
    Order: 2   
    Order: 2
    CurvedSurfaces: on
  }

h3. P-window for short-range wakefield
*set the // global order of basis orderfunctions to(can be 0 1...6, 2 is recommended)
    CurvedSurfaces: on
  }

P-window for short-range wakefield

  • set the basis order to be 0 (p=0).

...

  • Code Block

...

  • 
      FiniteElement: {

...

  • 
        Order: 0            //p=0 outside of the window
        CurvedSurfaces: on
      }
    

...

  • set

...

  • an

...

  • automatic

...

  • moving

...

  • window

...

  • that

...

  • following

...

  • with

...

  • the

...

  • beam

...

  • Code Block

...

  • 
      PRegion: {
        Type: AutomaticMovingWindow

...

  • 
        Order:  2           //inside the window, p=2 (basis function order)
        Back:  0.

...

  • 01         //back pudding is 0.

...

  • 01m
        Front: 0.1          //front pudding is 

...

  • 0.1m
      

...

  •  

...

  •  

...

  • StructureEnd: 1.0   //the maximal z.
      }
    

Moving-window with mesh refinement for short-range wakefield

  • set the basis order to be 0 (p=0).
    Code Block
    
      FiniteElement: {
        

...

  • Order: 

...

  • 0       

...

  •  

...

  •     //p=0 outside of 

...

  • the 

...

  • window
        CurvedSurfaces: on
      

...

  • }
    
  • set an automatic moving window that following with the beam
    Code Block
    
      MeshRefinement: {
        Order:  2    

...

  •  

...

  •  

...

  •  

...

  •    //inside the window, 

...

  • p=2 (basis function order)
        Back:  0.01        //

...

  • back 

...

  • pudding 

...

  • is 0.01m
        Front: 0.1         //front pudding is 0.1m
        Subdivision: 1     

...

  • //

...

  • subdivide each element inside window 

...

  • once
        

...

  • StructureEnd: 

...

  • 1.0  //

...

  • the 

...

  • maximal 

...

  • z.
     

...

  •  }
    

Gaussian beam going through a cavity

  • The first step is to provide beam information:
    Code Block
    
      LoadingInfo:  {
         Bunch: {
           Type: Gaussian
           Sigma: 2e-3         

...

  •  

...

  •  

...

  • //Sigma (RMS) size of the bunch
       

...

  •  

...

  •  

...

  •  

...

  •  

...

  • Nsigmas: 

...

  • 5 

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  //beam occupies the location from -5 sigma to +5 sigma, total of 10 sigmas
           Charge: 1.            //charge
         }
         SymmetryFactor: 4       //factor by which to reduce the charge to account for symmetry conditions (monopole on axis: use 4, dipole at X (or Y) offset: use 2 in connection with proper electric boundary conditions in one plane)
         StartPoint: 0. 0. 0.    //StartPoint is the position where the beam enters the structure (typically at low Z values)
         Direction: 0. 0. 1.     //

...

  • Direction along which the bunch 

...

  • will 

...

  • move, 

...

  • at the 

...

  • speed of light (should be the direction of the normal of the face with BoundaryID)
        

...

  •  

...

  • BoundaryID: 

...

  • 5       

...

  •  

...

  •  

...

  •  

...

  •  

...

  • //The 

...

  • boundary 

...

  • ID 

...

  • (sidelist 

...

  • number 

...

  • from Cubit), specifies the 

...

  • boundary 

...

  • through 

...

  • which the bunch enters the structure (should be a flat surface, containing StartPoint)
      }
    
  • Optional: Force analytical BeamBoundaryLoading (can be used if the beampipe is cylindrical). Not required. Default is OFF.
Code Block

  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//and offset of the beam in x-direction of the local 2D coordinate system (value needs to be consistent with StartPoint above) 
                               //An analytical solution will be used.
    // For arbitrary beampipe                                      //offset in 
x-direction of the local Poisson2D:2D {}coordinate system (value needs to be consistent with StartPoint      //this will provide a numerical solutionspecified above)
  }
{code}

h3. Time

Time Integration Parameters

Code Block
 Integration Parameters

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

h3. Wakefield Monitor 
<font color="red">need more expalantion<

Wakefield Monitor

Code Block
/font>
{code}
   Monitor: {
    Type: WakeField
    Name: wake
 // Weiland method InID: 5
    OutID: 6
    Start contour: 0.05
    End contour: 0.10(not for protruding structures, beam pipe radius must be the same on left and right side)
    Name: wake
    Start structurecontour: 0.0
    End structure: 0.1505  // z-position at which the beampipe-cavity transition starts
    End Smaxcontour: 0.310    // z-position at which the beampipe-cavity transition ends
    Smax: 0.3    //
  }
{code}

h3. Point Monitor
To record the field values// atthe longitudinal wake potential will be recorded from s=0 to s=Smax
  }

Point Monitor

To record the field values at specified location

Code Block

   Monitorspecified location
{code}
   Monitor: {
     Type: Point             //point monitor
     Name: monA              //an output file called monA.out will be generated
               //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

Code Block

  Monitor: {
    Type: Power
    ReferenceNumber: 4     //which reference surface to monitor
    //it containsName: tmymon2
 Hx Hy Hz ExTimeStart: Ey0 Ez 
     Coordinate:  0.00002, 0.02, 0.1495  //thewhen power locationmonitor starts
    }
{code}

h3. Power Monitor
{code}
  Monitor: {
    Type: PowerTimeEnd:   30.0e-9     //when it ends
    ReferenceNumberTimeStep: 4  0.125e-11   //whichhow often referenceit surfacerecords topower monitordensity
  }

Volume Monitor

Code Block

  Monitor: {
    Type: Volume
    Name: vol  Name: mymon2
    TimeStart: 0 10.e-9          //when powervolume monitor starts
    TimeEnd:   30500.0ee-9       //when it ends
    TimeStep:  050.125e-11e-9         //how often it records powervolume densityfields
  }

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.

Code Block

  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.

Code Block
{code}

h3. Volume Monitor
{code}
  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
  }
{code}
h3. CheckPoint
request T3P code to checkpointing itself every certain timesteps so that one can restart T3P.
{code}
  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 
  }
{code}

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.

h3. LinearSolver
The options for linear solvers in the implicit timestepping.
{code}
  LinearSolver: {
        Solver:              CG          //other options include MUMPS (direct solver, faster     //other options include MUMPSfor 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

Code Block
{code}

h3. Load a TEM waveguide mode on a coax port
{code}
 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
    }
  }
 }
{code}