Panel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
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 |
{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
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 |
Normal finite element parameters
Code Block |
---|
element parameters FiniteElement: { Order: 2 // global order of basis functions (can be 1...6, 2 is recommended) CurvedSurfaces: on } h3. |
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 } {code} \ |
*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.1 //back pudding is 0.1 beamsize Front: 1 //front pudding is full beamsize } {code} |
Gaussian beam going through a cavity
*The first step is to provide beam information:
Code Block |
---|
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 //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 } 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).
...
Not
...
required.
...
Default
...
is
...
OFF.
Code Block |
---|
{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)
}
|
Time Integration Parameters
Code Block |
---|
{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 |
Wakefield Monitor
<font color="red">need
...
more
...
expalantion</font>
Code Block |
---|
}
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 //
}
|
Point Monitor
To record the field values at specified location
Code Block |
---|
{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} |
Power Monitor
Code Block |
---|
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} |
Volume Monitor
Code Block |
---|
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.
CheckPoint
request T3P code to checkpointing itself every certain timesteps so that one can restart T3P.
Code Block |
---|
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
}
|
LinearSolver
The options for linear solvers in the implicit timestepping.
Code Block |
---|
{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
}
|
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} |