{panel:title=Table of Contents}
{toc:type=flat|separator=newline|outline=true|indent=30px|minLevel=2}
{panel}
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: {
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
FiniteElement: { Order: 2 CurvedSurfaces: on }
h3. P-window for short-range wakefield
\*set the basis order to be 0 (p=0).
{code}
FiniteElement: {
Order: 0 //p=0 outside of the window
CurvedSurfaces: on
}
{code}
\*set an automatic moving window that following with the beam
{code}
PRegion: {
Type: AutomaticMovingWindow
Order: 2 //inside the window, p=2 (basis function order)
Back: 0.1 //back pudding is 0.1 beamsize
Front: 1 //front pudding is full beamsize
}
{code}
h3. Gaussian beam going through a cavity
\*The first step is to provide beam information:
{code}
LoadingInfo: {
Bunch: {
Type: Gaussian //Gaussian bunch
(the only option)
Sigma: 2e-3 //sigmaSigma (RMS) size of the nuchbunch
Nsigmas: 5 //beam occupies the location from -5 sigma to +5 sigma, total of 10 sigmas
Charge: 1. //charge
}
Symmetry factor: 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)
}
{code}
\*Optional: Force analytical BeamBoundaryLoading (can be used if the beampipe is cylindrical)
{code}
*The third step is to put a BeamBoundaryLoading. Not required. Default is OFF.
{code}
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)
}
{code}
h3. Time 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</font>
{code}
Monitor: {
Type: WakeField
Name: wake
InID: 5
OutID: 6
Start contour: 0.05
End contour: 0.10
Start structure: 0.0
End structure: 0.15
Smax: 0.3 //
}
{code}
h3. Point Monitor
To record the field values at specified location
{code}
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
}
{code}
h3. Power Monitor
{code}
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
}
{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}
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. 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}
h3. LinearSolver
The options for linear solvers in the implicit timestepping.
{code}
LinearSolver: {
Solver: CG //other options include MUMPS 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
}
{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} |