...
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
}
}
|
...
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 //offset in x-direction of the local 2D coordinate system (value needs to be consistent with StartPoint specified above)
}
|
...
Code Block |
---|
TimeStepping: { MaximumTime: 10.e-10 //the maximal time to step DT: 2e-12 //delta T } |
Wakefield Monitor
<font color="red">need more expalantion</font>
Code Block |
---|
Monitor: { Type: WakeField Name: wake InID: 5 // Weiland method (not for protruding structures, beam pipe radius must be the same on left and right side) OutID Name: 6wake Start contour: 0.05 // z-position at which the beampipe-cavity transition starts End End contour: 0.10 Start structure: 0.0 End structure: 0.15// z-position at which the beampipe-cavity transition ends Smax 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
Code Block |
---|
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 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 } |
...
Code Block |
---|
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 } |
...