Panel |
---|
|
Table of Contents |
---|
minLevel | 2 |
---|
outline | true |
---|
indent | 30px |
---|
type | flat |
---|
separator | newline |
---|
|
|
A complete example for a lossless cavity
...
- The fourth option is to use out-of-core sparse direct solver (an experimental feature).
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.
}
|
FAQ
How to calculate Wallloss Quality Factor?
There are two ways to do so. Each way has its advantage and disadvantage.
- Inside ModelInfo.BoundaryCondition define a set of boundary surfaces as Exterior.
For each of the boundary surfaces, have a corresponding SurfaceMaterial container inside ModelInfo.
For example: Code Block |
---|
ModelInfo: {
File: .dds3.ncdf
BoundaryCondition: {
Magnetic: 1, 2, 3, 4
Exterior: 6 // sideset 6 is defined as Exterior BC.
}
SurfaceMaterial: { // have a separate for each number in Exterior BC
ReferenceNumber: 6 //the corresponding sideset in Exterior BC
Sigma: 5.8e7 //electrical conductivity of the material
}
}
|
After that, make sure you toggle the PostProcess on. Code Block |
---|
PostProcess: {
Toggle: on // this should be on for computing wallloss Q
ModeFile: ./dds
}
|
After you run omega3p with the input file, you will get a file called "output" under the same directory. Inside the file, it has a summary of results such as: Code Block |
---|
Mode : {
TotalEnergy : 4.4270939088102e-12
QualityFactor : 6478.5096350252
File : ./dds.l0.1.144469E+10.m0
PowerLoss : 4.9139118623939e-05
Frequency : 11444685657.626
}
|
The number after QualityFactor is the one you are looking for. This method uses perturbation theory and has advantage that it is very simple. The computation associated with it is minimal. - Inside ModelInfo.BoundaryCondition, define the set of surfaces as Impedance (instead of Exterior in method 1).
Set the HFormulation to be 1 (this is very important). Also, have a set of corresponding SurfaceMaterials inside ModelInfo as those in method 1. For example: Code Block |
---|
ModelInfo: {
File: dds3.ncdf
BoundaryCondition: {
HFormulation: 1
Magnetic: 1, 2, 3, 4
Impedance: 6
}
SurfaceMaterial: {
ReferenceNumber: 6
Sigma: 5.8e7
}
}
|
After you run omega3p with the input, in the output file, you will see Code Block |
---|
Mode = {
TotalEnergy = { 6.2827077634198e-07, 0 },
ExternalQ = 6579.1486638005,
QualityFactor = inf,
File = './dds.l0.R1.144619E+10I8.698837E+05.m0',
PowerLoss = 0,
Frequency = { 11446188331.641, 869883.69746227 }
}
|
The number after ExternalQ is the wall loss Q you are looking for. During the omega3p run, it should also print out the Q information such as Code Block |
---|
COMMIT MODE: 0 FREQ = (11446188331.64141,869883.6974622669) k = (239.8943683519209,0.01823141417003215) Q = 6579.148663800495
|
Note that this method set an impedance boundary condition on those surfaces and make the eigenvalue problem complex and nonlinear. It takes more time and memory to solve the problem. But the field will be in the right phase (even close to the boundary surfaces).
Both methods should give you converged Q results if mesh is dense enough.