...
- 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:
After that, make sure you toggle the PostProcess on.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 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 PostProcess: { Toggle: on // this should be on for computing wallloss Q ModeFile: ./dds }
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.Code Block Mode : { TotalEnergy : 4.4270939088102e-12 QualityFactor : 6478.5096350252 File : ./dds.l0.1.144469E+10.m0 PowerLoss : 4.9139118623939e-05 Frequency : 11444685657.626 }
- 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:
After you run omega3p with the input, in the output file, you will seeCode Block ModelInfo: { File: dds3.ncdf BoundaryCondition: { HFormulation: 1 Magnetic: 1, 2, 3, 4 Impedance: 6 } SurfaceMaterial: { ReferenceNumber: 6 Sigma: 5.8e7 } }
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 asCode 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 } }
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).Code Block COMMIT MODE: 0 FREQ = (11446188331.64141,869883.6974622669) k = (239.8943683519209,0.01823141417003215) Q = 6579.148663800495
...