Table of Contents | ||||
---|---|---|---|---|
|
A complete example for a lossless cavity
Code Block |
---|
Wiki Markup |
{list-pages:direction=siblings} h3. A complete example for a lossless cavity {code} ModelInfo: { File: dds3.ncdf //mesh file. It is the file converted using acdtool BoundaryCondition: { //specify boundary conditions. The numbers here are sideset in cubit Magnetic: 1, 2 //reference surfaces 1 and 2 are symmetric planes Electric: 3 4 //set reference surfaces 3 and 4 to be electric boundary condition Exterior: 6 //surface group 6 (maybe many surfaces) is metal } SurfaceMaterial: { //for each metal (exterior) surface group, list the sigma values ReferenceNumber: 6 Sigma: 5.8e7 } } FiniteElement: { Order: 2 //set the finite element basis function order to be used. CurvedSurfaces: on } EigenSolver: { NumEigenvalues: 1 //want to compute 1 mode FrequencyShift: 10.e9 //the eigenfrequency of the mode should be above 10GHz } CheckPoint: { Action: save Directory: eigens //eigenvectors are saved out into this directory } PostProcess: { Toggle: off //postprocess switch ModeFile: dds //The prefix of the mode filename. } Log: thisrun.log //If you want more printout logged into the file {code} |
Once
...
Omega3P
...
run
...
is
...
successfully
...
completed,
...
eignvectors
...
are
...
stored
...
in
...
subdirectory
...
<tt>eigens</tt>.
...
User
...
can
...
convert
...
them
...
to
...
mode
...
files
...
to
...
be
...
visualized
...
using
...
paraview.
...
The
...
following
...
is
...
the
...
command
...
to
...
do
...
that:
Code Block |
---|
} acdtool postprocess eigentomode eigens {code} h3. A complete example about a cavity |
A complete example about a cavity with lossy materials
Code Block |
---|
with lossy materials
{code}
ModelInfo: {
File: ./pillbox.ncdf
BoundaryCondition: {
Electric: 1,2,3,4
Exterior: 6
}
Material : {
Attribute: 1
Epsilon: 1.0
Mu: 1.0
}
Material : {
Attribute: 2
Epsilon: 1.0
Mu: 1.0
EpsilonImag: -0.2 //lossy material
}
}
FiniteElement: {
Order: 1
Curved Surfaces: off
}
PostProcess: {
Toggle: off
ModeFile: mode
SymmetryFactor: 2
}
EigenSolver: {
NumEigenvalues: 2
FrequencyShift: 5e9
}
|
A complete example with waveguide loaded cavity
Code Block |
---|
{code}
h3. A complete example with waveguide loaded cavity
{code}
ModelInfo: {
File: cell1fourth.ncdf
BoundaryCondition: {
Magnetic: 1,2,3,4
Exterior: 6
Waveguide: 7 //for each number appeared here, it should have at least one Port container later.
}
}
FiniteElement: {
Order: 1
Curved Surfaces: on
}
PostProcess: {
Toggle: on
ModeFile: test
}
EigenSolver: {
NumEigenvalues: 1
FrequencyShift: 9.e9
}
CheckPoint: {
Action: save
Directory: eigens
}
Port: {
ReferenceNumber: 7 //this number should match surface groups in waveguide boundary condition.
Origin: 0.0, 0.0415, 0.0 //the origin of the 2D port in the 3D coordinate system
XDirection: 1.0, 0.0, 0.0 //the x axis of the 2D port in the 3D coordinate system
YDirection: 0.0, 0.0, -1.0 //the y axis of the 2D port in the 3D coordinate system
ESolver: {
Type: Analytic //analytic expression is used
Mode: {
WaveguideType: Rectangular //it is a rectangular waveguide
ModeType: TE 1 0 //load the TE10 mode
A: 0.028499 //dimension of the waveguide in x
B: 0.0134053 //dimension of the waveguide in y
}
}
}
|
Load TEM mode in a coax waveguide
Code Block |
---|
{code} h3. Load TEM mode in a coax waveguide {code} Port: { ReferenceNumber: 2 Origin: 0.0, 0.0, 0.011 ESolver: { Type: Analytic Mode: { WaveguideType: Coax ModeType: TEM A: 0.0011 //smaller radius B: 0.0033 //larger radius } } } {code} h3. Load TE11 mode in a circular waveguide {code} |
Load TE11 mode in a circular waveguide
Code Block |
---|
Port: {
ReferenceNumber: 2
Origin: 0.0, 0.0, 0.1
XDirection: 1.0, 0.0, 0.0
YDirection: 0.0, 1.0, 0.0
ESolver: {
Type: Analytic
Mode: {
Waveguide type: Circular
Mode type: TE 1 1
A: 0.03
}
}
}
{code}
h3. |
Load two TE modes in the same rectangular waveguide
Code Block |
---|
Load two TE modes in the same rectangular waveguide {code} Port: { Reference number: 9 // FPC Origin: 0.0, 0.198907, -0.4479152585 XDirection: -1.0, 0.0, 0.0 YDirection: 0.0, 0.0, 1.0 ESolver: { Type: Analytic Mode: { WaveguideType: Rectangular ModeType: TE 1 1 A: 0.1348935946 B: 0.024973714999999970 } } } Port: { Reference number: 9 // FPC Origin: 0.0, 0.198907, -0.4479152585 XDirection: -1.0, 0.0, 0.0 YDirection: 0.0, 0.0, 1.0 ESolver: { Type: Analytic Mode: { WaveguideType: Rectangular ModeType: TE 2 0 A: 0.1348935946 B: 0.024973714999999970 } } } {code} h3. Make a |
Make a non-planar
...
surface
...
absorbing
...
boundary
Code Block |
---|
} Port: { ReferenceNumber: 5 //reference surface ID Origin: 0.0, 0.0, 0.0 //not used XDirection: 1.0, 0.0, 0.0 //not used YDirection: 0.0, 1.0, 0.0 //not used ESolver: { Type: Analytic Mode:{ Mode number: 1 Waveguide type: ABC Mode type: ABC } } } {code} h3. LinearSolver options in EigenSolver container * The first option is that user does not provide anything. The EigenSolver container in the input file looks like: {code} |
LinearSolver options in EigenSolver container
- The first option is that user does not provide anything. The EigenSolver container in the input file looks like:
Code Block EigenSolver: { NumEigenvalues: 1 FrequencyShift: 10.e9 }
...
In this case,
...
- Omega3P
...
- will
...
- use
...
- the
...
- default
...
- option
...
- for
...
- linear
...
- solver
...
- for
...
- solving
...
- shifted
...
- linear
...
- systems
...
- The
...
- second
...
- option
...
- is
...
- to
...
- use
...
- Krylov
...
- subspace
...
- method
...
- with
...
- different
...
- preconditioner.
...
Code Block
...
EigenSolver: { NumEigenvalues: 1 FrequencyShift: 10.e9 Preconditioner: MP //this use p-version of multilevel preconditioner. }
...
The code will choose either CG (real matrices) or GMRES (complex matrices) and the p-version
of multilevel precondtioner as the solver for shifted linear systems.
- The third option is to use out-of-core
...
- sparse
...
- direct
...
- solver.
...
Code Block
...
EigenSolver: { NumEigenvalues: 1 FrequencyShift: 10.e9 Memory: 1000 //if the memory usage of the matrix factor in any process is larger than 1000MBytes, //switch to use out-of-core solver. }
...