Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
titleTable of Contents
Table of Contents
minLevel2
outlinetrue
indent30px
typeflat
separatornewline

...

An example for

...

Track3P multipacting computation on a single field level. Field gradient: 97e+06

Code Block
TotalTime: 20 ModelInfo: {
    File: cell.ncdf
    BoundaryCondition: {
       Magnetic: 1 3 4
       Impedance: 6  //total running time in RF cycles, default: 20 RF cycle

// If you don't give this block, it will use default value
ParticlesTrajectories:  // record particles' trajectory, only for running single
               //Impedance boundary condition
       Waveguide: 7 8//field case
{   ParticleFile: p       // file name
 //the ports where waveguideSkip: can10 be loaded
    }
    SurfaceMaterial: {
   // write file ReferenceNumber:each 610 steps
    Start: //surface10 material property
      Sigma: 5.8e7
    }
// start }

time step Portfor :writing {file
    Stop: 100000   ReferenceNumber: 7
      // stop Origin:time step for writing file
}

// Field level(V/m) / Port power(W)
FieldScales:
{
  ScanToken: 0 // 1: scan, 0: no scan
  Scale: 97e+06  //field scale for particle trajectory
}

//Normalize field, only for closed waveguide case
NormalizedField:
{
  StartPoint: 0 0 0.0486225 //start point of the line for field integral calculation
  EndPoint: 0 0 0.2061 //end point of the line for field integral calculation
}

// Primary particles emission

Emitter:
{
  x0: -0.001
  x1: 0.001
  y0: 0.09
  y1: 0.12
  z0: -0.068
  z1: 0.068
  BoundaryID: 6
}
// Boundary Material
//Type Boundary type
//1 / Reflector
//2 / Absorber
//3 / Secondary
//4 / Primary
//5 / SymmetryPlane

Material:{
  Type: Primary
  BoundarySurfaceID:  6  //Boundary surface ID
}

Material:{
  Type: Secondary
  BoundarySurfaceID:  6  //Boundary surface ID
}

Material:{
  Type: Absorber
  BoundarySurfaceID:  3 4 7 8  //Boundary surface ID
}
Material:{
  Type: SymmetryPlane
  BoundarySurfaceID:  1 2  //Boundary surface ID
}

OutputImpacts: on
// Field information container
Domain:
{
  PostprocessFile: ./vector1/postprocess.in
}

Postprocess: // multipacting postprocess
{
  Toggle: on // on: postprocess, off: no postprocess
  ResonantParticles: // postprocess for resonant particles
  {
    Token: on // on: analysis resonant particles, no: no analysis is done for resonant particles
  }
}

A complete example with impedance boundary condition

Code Block

ModelInfo: {

  File: cell.ncdf

  BoundaryCondition: {
    Magnetic: 1 3 4
    Impedance: 6
    Waveguide: 7 8
  }

  SurfaceMaterial: {
    ReferenceNumber: 6
    Sigma: 5.8e7
  }

}

Port : {
        Reference number: 7 0.0, 0.04105, 0.0
        XDirection: 1.0, 0.0, 0.0
        YDirection: 0.0, 0.0, -1.0
        ESolver: {
                Type: Analytic
                Mode: {
                        WaveguideType: Rectangular
                        ModeType: TE, 1, 0
                        A: 0.028499    //larger dimension
                        B: 0.00895      //smaller dimension
                }
        }
  }

  Port : {
        ReferenceNumber: 8
        Origin:     0.0, -0.04105, 0.0
        XDirection: 1.0, 0.0, 0.0
        YDirection: 0.0, 0.0, -1.0
        ESolverOrigin: {
    0.0, 0.04105, 0.0
        XDirection:  Type: Analytic1.0, 0.0, 0.0
        YDirection: 0.0, 0.0, -1.0
        ModeESolver: {
                Type: Analytic
       WaveguideType: Rectangular
        Mode: {
               ModeType: TE, 1, 0
          Waveguide type: Rectangular
                      A: 0.028499 Mode type:  //larger dimensionTE, 1, 0
                        BA: 0.00895028499
        //smaller dimension
               B: }
0.00895
             }
   }

  FrequencyScan: {  //enable frequency scan of S parameter
 }
}

Port : {
        Reference Startnumber: 9.33e+98
     End:   9.48e+9
Origin:    Interval: 0.01e+9
  }

  WaveguideFrequency: 9.4e+9 //if FrequencyScan container does not exist,  compute S parameter at this frequency

  PostProcess: {0, -0.04105, 0.0
        XDirection: 1.0, 0.0, 0.0
        YDirection: 0.0, 0.0, 1.0
    Toggle:  off  ESolver:  {
    //switch for postprocess
    Port Number:    1 //input portType: Analytic
    ModeFile: coupler.portMode   //the mode file prefix for field distribution
  }

A complete example with impedance boundary condition

Code Block

ModelInfoMode: {

   File: cell.ncdf

  BoundaryCondition: {
    Magnetic: 1 3 4
    Impedance      Waveguide type: 6Rectangular
         Waveguide: 7 8
  }

  SurfaceMaterial: {
    ReferenceNumber: 6
   Mode Sigmatype: 5.8e7
  }

}

Port : {
TE, 1, 0
          Reference number: 7
        Origin:    A: 0.0, 0.04105, 0.0
028499
             XDirection: 1.0, 0.0, 0.0
        YDirectionB: 0.0, 0.0, -1.0
00895
          ESolver: {
     }
        }
}

FiniteElement: {
  TypeOrder: Analytic2
  CurvedSurfaces: on
}

FrequencyScan: {
 Start: 9.33e+9
 End:   9.48e+9
      ModeInterval: 0.01e+9
}

PostProcess: {
  Toggle: off
  Port Number: 0 //input port
               Waveguide type: Rectangular
                        Mode type: TE, 1, 0
                        A: 0.028499
                        B: 0.00895
                }
        }
}

Port : {
        Reference number: 8
        Origin:     0.0, -0.04105, 0.0
        XDirection: 1.0, 0.0, 0.0
        YDirection: 0.0, 0.0, 1.0
        ESolver:  {
                Type: Analytic
                Mode: {
                        Waveguide type: Rectangular
                        Mode type: TE, 1, 0
                        A: 0.028499
                        B: 0.00895
                }
        }
}

FiniteElement: {
  Order: 2
  CurvedSurfaces: on
}

FrequencyScan: {
 Start: 9.33e+9
 End:   9.48e+9
 Interval: 0.01e+9
}

PostProcess: {
  Toggle: off
  Port Number: 0 //input port
  ModeFile: field
}

VerifyLinearSolver: yes

LinearSolver: {
	Solver:	MUMPS
}

Specify lossy materials

Code Block

 ModelInfo: {
  File: tapereda.ncdf
  BoundaryCondition: {
    Magnetic: 1
    Electric: 2
    Exterior: 6
    Waveguide: 7
  }
  Material : {
    Attribute: 1            //block 1 is vacuum
    Epsilon:   1.0
    Mu:        1.0
  }
  Material : {
    Attribute: 2           //block 2 is lossy (cubit block)
    Epsilon:   3.0
    Mu:        1.0
    EpsilonImag: -5.4  //lossy material
  }
 }

A complete example with an absorbing boundary condition

For example, we can use ABC to approximate the case that there is no metal enclosure.

Code Block

  ModelInfo: {
    File: pb.ncdf
    BoundaryCondition: {
      Waveguide: 3
      Magnetic: 1 2
      Electric: 4
      Exterior: 6
      Absorbing: 5  //the surface 5 is the outer boundary of the computational domain.
    }
  }

  FiniteElement: {
    Order: 2
    CurvedSurfaces: on
  }

  WaveguideFrequency: 6.77585e7

  PostProcess: {
    Toggle: on
    ModeFile: o
  }

 //reflection coefficient from MAFIA is 0.5115. we computed it as 0.5105.

  Port: {
     ReferenceNumber: 3
     Origin:     0.0, 0.0, -1.0
     XDirection: 1.0, 0.0,  0.0
     YDirection: 0.0, 1.0,  0.0
     ESolver: {
                Type: Analytic
                Mode:{
                        WaveguideType: Circular
                        Mode type: TM 0 1
                        A: 2
                }
     }
  }

  Port: {  //just load two modes in the same port to make S3P happy.
     ReferenceNumber: 3
     Origin:     0.0, 0.0,  -1.0
     XDirection: 1.0, 0.0,  0.0
     YDirection: 0.0, 1.0,  0.0
     ESolver: {
                Type: Analytic
                Mode:{
                        WaveguideType: Circular
                        ModeType: TE 0 1
                        A: 2
                 }
       }

   }

Use interpolative port mode

If one has waveguide with shape that does not have analytical solution, one can compute the numerical solution using other programs and used in S3P. The following in the input for an interpolative Port mode.

Code Block

   Port: {
     Reference number: 1
     Origin:     0.0, 0.0, -0.25
     XDirection: 1.0, 0.0,  0.0
     YDirection: 0.0, 1.0,  0.0
     ESolver: {
                Type: Interpolative
                Mode:{
                        ExFile: ex0.prn   //the file that stores Ex file on a grid
                        EyFile: ey0.prn    //Ey field
                        BxFile: bx0.prn   //Bx field
                        ByFile: by0.prn   //By field
                }
     }
  }

The following is an excerpt of the ex0.prn

...

ModeFile: field
}

VerifyLinearSolver: yes

LinearSolver: {
	Solver:	MUMPS
}

Specify lossy materials

Code Block

 ModelInfo: {
  File: tapereda.ncdf
  BoundaryCondition: {
    Magnetic: 1
    Electric: 2
    Exterior: 6
    Waveguide: 7
  }
  Material : {
    Attribute: 1            //block 1 is vacuum
    Epsilon:   1.0
    Mu:        1.0
  }
  Material : {
    Attribute: 2           //block 2 is lossy (cubit block)
    Epsilon:   3.0
    Mu:        1.0
    EpsilonImag: -5.4  //lossy material
  }
 }

A complete example with an absorbing boundary condition