|
Maxwell 3D AC Magnetic Setup oModule = oDesign.GetModule("AnalysisSetup") oModule.InsertSetup("AC Magnetic", [ "NAME:EddyCurrent_03", "Enabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "MaximumPasses:=" , 4, "MinimumPasses:=" , 2, "MinimumConvergedPasses:=", 1, "PercentRefinement:=" , 30, "SolveFieldOnly:=" , False, "PercentError:=" , 0.1, "SolveMatrixAtLast:=" , True, "UseNonLinearIterNum:=" , False, [ "NAME:ExpressionCache", [ "NAME:CacheItem", "Title:=" , "eddy_loss1", "Expression:=" , "eddy_loss", "Intrinsics:=" , "Phase=\'0deg\'", "ReportType:=" , "Fields", [ "NAME:ExpressionContext" ] ] ], "UseCacheFor:=" , ["Pass"], "UseIterativeSolver:=" , False, "RelativeResidual:=" , 0.0001, "NonLinearResidual:=" , 0.0001, "SmoothBHCurve:=" , False, "Frequency:=" , "200Hz", "HasSweepSetup:=" , False, "UseHighOrderShapeFunc:=", False, "UseMuLink:=" , False, "LossAdaptiveCtrl:=" , "0.3" ])
HFSS simulation oModule.InsertSetup("HfssDrivenAuto", ["NAME:Setup1", "Enabled:=", True, "AutoSolverSetting:=", "Balanced", ["NAME:Sweeps", ["NAME:Sweep", "RangeType:=", "LinearStep", "RangeStart:=", "1GHz", "RangeEnd:=", "10GHz", "RangeStep:=", "1GHz" ] ], "SaveRadFieldsOnly:=", False, "SaveAnyFields:=", True, "Type:=", "Discrete" ]) oModule.InsertSetup("HfssDrivenAuto", [ "NAME:Setup2", "SolveType:=" , "Auto", "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "AutoSolverSetting:=" , "Balanced", [ "NAME:Sweeps", [ "NAME:Sweep", "RangeType:=" , "LinearCount", "RangeStart:=" , "0GHz", "RangeEnd:=" , "10GHz", "RangeCount:=" , 501 ] ], "SaveRadFieldsOnly:=" , False, "SaveAnyFields:=" , True, "InfiniteSphereSetup:=" , "Infinite Sphere1", "ListsForFields:=" , ["Objectlist2"], "Type:=" , "Interpolating" ])
oModule.InsertSetup("HfssDriven", ["NAME:Setup3", "AdaptMultipleFreqs:=", False, "Frequency:=", "5GHz", "MaxDeltaS:=", 0.02, "PortsOnly:=", False, "UseMatrixConv:=", False, "MaximumPasses:=", 6, "MinimumPasses:=", 1, "MinimumConvergedPasses:=", 1, "PercentRefinement:=", 30, "IsEnabled:=", True, "BasisOrder:=", 1, "DoLambdaRefine:=", True, "DoMaterialLambda:=", True, "SetLambdaTarget:=", False, "Target:=", 0.3333, "UseMaxTetIncrease:=", False, "PortAccuracy:=", 2, "UseABCOnPort:=", False, "SetPortMinMaxTri:=", False, "UseDomains:=", True, "UseIterativeSolver:=", False, "IterativeResidual:=", 1E-06, "DDMSolverResidual:=", 0.0001, "EnhancedLowFreqAccuracy:=", True, "SaveRadFieldsOnly:=", False, "SaveAnyFields:=", True, "IESolverType:=", "Auto", "LambdaTargetForIESolver:=", 0.15, "UseDefaultLambdaTgtForIESolver:=", True, "SkipIERegionSolveDuringAdaptivePasses:=", True "RayDensityPerWavelength:=", 4, "MaxNumberOfBounces:=" , 5, "InfiniteSphereSetup:=" , "Infinite Sphere1", "SkipSBRSolveDuringAdaptivePasses:=", True, "PTDUTDSimulationSettings:=", "PTD Correction + UTD Rays", "PTDEdgeDensity:=" , 20
])
An HFSS with Hybrid and Arrays setup import ScriptEnv ScriptEnv.Initialize("Ansoft.ElectronicsDesktop") oDesktop.RestoreWindow() oProject = oDesktop.SetActiveProject("Project1") oDesign = oProject.SetActiveDesign("HFSSDesign1") oModule = oDesign.GetModule("AnalysisSetup") oModule.InsertSetup("HfssDriven", [ "NAME:Setup1", "SolveType:=" , "Single", "Frequency:=" , "5GHz", "MaxDeltaE:=" , 0.1, "MaximumPasses:=" , 6, "MinimumPasses:=" , 1, "MinimumConvergedPasses:=", 1, "PercentRefinement:=" , 30, "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "BasisOrder:=" , 1, "DoLambdaRefine:=" , True, "DoMaterialLambda:=" , True, "SetLambdaTarget:=" , False, "Target:=" , 0.3333, "UseMaxTetIncrease:=" , False, "DrivenSolverType:=" , "Direct Solver", "EnhancedLowFreqAccuracy:=", False, "SaveRadFieldsOnly:=" , False, "SaveAnyFields:=" , True, "IESolverType:=" , "Auto", "LambdaTargetForIESolver:=", 0.15, "UseDefaultLambdaTgtForIESolver:=", True, "IE Solver Accuracy:=" , "Balanced", "RayDensityPerWavelength:=", 4, "MaxNumberOfBounces:=" , 5, "RadiationSetup:=" , "Infinite Sphere1", "PTDUTDSimulationSettings:=", "None", "EnableSBRSelfCoupling:=", False, "UseSBRAdvOptionsGOBlockage:=", False, "UseSBRAdvOptionsWedges:=", False, "SkipSBRSolveDuringAdaptivePasses:=", False, "UseSBREnhancedRadiatedPowerCalculation:=", True ])
An HFSS with Hybrid and Arrays Setup for a Component Array with FEBI Preconditioner
oModule = oDesign.GetModule("AnalysisSetup")
oModule.EditSetup("Fully_Coupled",
[
"NAME:Fully_Coupled",
"SolveType:=" , "Single",
"Frequency:=" , "1GHz",
"MaxDeltaS:=" , 0.01,
"UseMatrixConv:=" , False,
"MaximumPasses:=" , 10,
"MinimumPasses:=" , 1,
"MinimumConvergedPasses:=", 1,
"PercentRefinement:=" , 30,
"ComponentAdaptOption:=", "Fully Coupled",
"PerformFullDesignSolveAtLastPass:=", True,
"IsEnabled:=" , True,
[
"NAME:MeshLink",
"ImportMesh:=" , False
],
"BasisOrder:=" , 1,
"DoLambdaRefine:=" , True,
"DoMaterialLambda:=" , True,
"SetLambdaTarget:=" , False,
"Target:=" , 0.3333,
"UseMaxTetIncrease:=" , False,
"PortAccuracy:=" , 2,
"UseABCOnPort:=" , False,
"SetPortMinMaxTri:=" , False,
"DrivenSolverType:=" , "Domain Decomposition",
"IterativeResidual:=" , 1E-06,
"DDMSolverResidual:=" , 0.0001,
"EnhancedLowFreqAccuracy:=", False,
"EnhancedFEBIPreconditioner:=", True,
"SaveRadFieldsOnly:=" , True,
"SaveAnyFields:=" , True,
"IESolverType:=" , "ACA",
"LambdaTargetForIESolver:=", 0.15,
"UseDefaultLambdaTgtForIESolver:=", True,
"IE Solver Accuracy:=" , "Balanced",
"InfiniteSphereSetup:=" , "3D",
"MaxPass:=" , 10,
"MinPass:=" , 1,
"MinConvPass:=" , 1,
"PerError:=" , 1,
"PerRefine:=" , 30
])
An SBR+ Setup with Fast Frequency Looping oModule.InsertSetup("HfssDriven", [ "NAME:Setup1", "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "IsSbrRangeDoppler:=" , False, "RayDensityPerWavelength:=", 4, "MaxNumberOfBounces:=" , 5, "IsMonostaticRCS:=" , True, "EnableCWRays:=" , False, "RadiationSetup:=" , "", "PTDUTDSimulationSettings:=", "None", "FastFrequencyLooping:=", True, [ "NAME:Sweeps", [ "NAME:Sweep", "RangeType:=" , "LinearStep", "RangeStart:=" , "1GHz", "RangeEnd:=" , "10GHz", "RangeStep:=" , "1GHz" ] ], "ComputeFarFields:=" , True ])
SBR+ Setup with Enhanced Radiated Power Calculation oModule.InsertSetup("HfssDriven", [ "NAME:Setup2", "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "IsSbrRangeDoppler:=" , False, "RayDensityPerWavelength:=", 4, "MaxNumberOfBounces:=" , 5, "EnableCWRays:=" , False, "RadiationSetup:=" , "Infinite Sphere1", "PTDUTDSimulationSettings:=", "None", "FastFrequencyLooping:=", False, "UseSBRAdvOptionsGOBlockage:=", False, "UseSBRAdvOptionsWedges:=", False, [ "NAME:Sweeps", [ "NAME:Sweep", "RangeType:=" , "LinearStep", "RangeStart:=" , "1GHz", "RangeEnd:=" , "10GHz", "RangeStep:=" , "1GHz" ] ], "ComputeFarFields:=" , True, "UseSBREnhancedRadiatedPowerCalculation:=", True, "IsGOBlockageEnabled:=" , False, "GOBlockageSurfaceSelfBlock:=", False ])
Insert RF Discharge Setup for HFSS import ScriptEnv ScriptEnv.Initialize("Ansoft.ElectronicsDesktop") oDesktop.RestoreWindow() oProject = oDesktop.SetActiveProject("coaxbend_discharge_r212") oDesign = oProject.SetActiveDesign("HFSSDesign60degBendTeflon") oModule = oDesign.GetModule("AnalysisSetup") oModule.InsertSetup("HfssRFDischarge", [ "NAME:RFDischarge1", "Enabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , True, "Project:=" , "This Project*", "Product:=" , "HFSS", "Design:=" , "This Design*", "Soln:=" , "Setup1 : Sweep", [ "NAME:Params", "bend_angle:=" , "bend_angle" ], "ForceSourceToSolve:=" , False, "PreservePartnerSoln:=" , False, "PathRelativeTo:=" , "SourceProduct", "ApplyMeshOp:=" , True ], [ "NAME:Excitations", [ "NAME:1:1", "Magnitude:=" , "1", "Phase:=" , "0deg" ], [ "NAME:2:1", "Magnitude:=" , "0", "Phase:=" , "0deg" ] ], [ "NAME:Frequencies", "10GHz" ], "Minimum Power:=" , "0.01", "Maximum Power:=" , "1000000", "Minimum Pressure:=" , "100pascal", "Maximum Pressure:=" , "101325pascal", "Postproc Sampling:=" , 500, "Temperature:=" , "0cel", "BuiltInGas:=" , "Argon" "Save Electron Density:=", True, "Is Pulsed Signal:=" , True, "Duty Cycle:=" , 50 ])
Setup with UseMatrixConv is True and Matrix Convergence Entry Specified as All oModule.InsertSetup("Setup1", [ "NAME:Setup1", "SolveType:=" , "Single", "Frequency:=" , "10GHz", "MaxDeltaS:=" , 0.02, "UseMatrixConv:=" , True, [ "NAME:Matrix Convergence", "AllEntries:=" , True, "MagLimit:=" , "0.01", "PhaseLimit:=" , "2deg", "MagMinThreshold:=" , 0.01 ], "MaximumPasses:=" , 12, "MinimumPasses:=" , 1, "MinimumConvergedPasses:=", 1, "PercentRefinement:=" , 30, "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "BasisOrder:=" , 1, "DoLambdaRefine:=" , True, "DoMaterialLambda:=" , True, "SetLambdaTarget:=" , False, "Target:=" , 0.3333, "UseMaxTetIncrease:=" , False, "PortAccuracy:=" , 2, "UseABCOnPort:=" , False, "SetPortMinMaxTri:=" , False, "DrivenSolverType:=" , "Direct Solver", "EnhancedLowFreqAccuracy:=", False, "SaveRadFieldsOnly:=" , False, "SaveAnyFields:=" , True, "IESolverType:=" , "ACA", "LambdaTargetForIESolver:=", 0.15, "UseDefaultLambdaTgtForIESolver:=", True, "IE Solver Accuracy:=" , "Balanced", "InfiniteSphereSetup:=" , "" ])
Setup with UseMatrixConv as Entries and MeshLink oModule = oDesign.GetModule("AnalysisSetup") oModule.InsertSetup("Setup1", [ "NAME:Setup1", "SolveType:=" , "Single", "Frequency:=" , "10GHz", "MaxDeltaS:=" , 0.02, "UseMatrixConv:=" , True, [ "NAME:Matrix Convergence", [ "NAME:Entries", [ "NAME:Entry", "Port1:=" , "A[1,1]P1", "Port2:=" , "A[1,1]P1", "MagLimit:=" , "0.011", "PhaseLimit:=" , "5deg" ], [ "NAME:Entry", "Port1:=" , "A[4,4]P2", "Port2:=" , "A[1,1]P2", "MagLimit:=" , "0.041", "PhaseLimit:=" , "5deg" ] ] ], "MaximumPasses:=" , 1, "MinimumPasses:=" , 1, "MinimumConvergedPasses:=", 1, "PercentRefinement:=" , 30, "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , True, "Project:=" , "This Project*", "Product:=" , "", "Design:=" , "unit", "Soln:=" , "Setup1 : LastAdaptive", [ "NAME:Params", "Airbox_dist:=" , "9.9931mm", "Scan_Theta:=" , "0deg", "Scan_phi:=" , "0deg", "VirtualObject_dist:=" , "2.9979mm", "coax_inner_rad:=" , "0.125mm", "coax_outer_rad:=" , "0.425mm", "cut_off:=" , "1.7mm", "feedX:=" , "-0.4mm", "feedY:=" , "2mm", "feed_length:=" , "1mm", "patchX:=" , "9.65mm", "rot:=" , "45deg", "subH:=" , "0.8mm", "subX:=" , "15mm", "subY:=" , "15mm" ], "ForceSourceToSolve:=" , False, "PreservePartnerSoln:=" , False, "PathRelativeTo:=" , "TargetProject", "ApplyMeshOp:=" , True, "AdaptPort:=" , False ], "BasisOrder:=" , 1, "DoLambdaRefine:=" , False, "DoMaterialLambda:=" , True, "SetLambdaTarget:=" , False, "Target:=" , 0.3333, "UseMaxTetIncrease:=" , False, "PortAccuracy:=" , 2, "UseABCOnPort:=" , False, "SetPortMinMaxTri:=" , False, "DrivenSolverType:=" , "Domain Decomposition", "IterativeResidual:=" , 0.0001, "DDMSolverResidual:=" , 0.0001, "EnhancedLowFreqAccuracy:=", False, "SaveRadFieldsOnly:=" , False, "SaveAnyFields:=" , True, "IESolverType:=" , "Auto", "LambdaTargetForIESolver:=", 0.15, "UseDefaultLambdaTgtForIESolver:=", True, "IE Solver Accuracy:=" , "Balanced", "InfiniteSphereSetup:=" , "" ])
Example from design with UseMatrixConv True for AllDiagEntries "UseMatrixConv:=" , True, [ "NAME:Matrix Convergence", "AllDiagEntries:=" , True, "DiagonalMag:=" , "0.03", "DiagonalPhase:=" , "4rad", "MagMinThreshold:=" , 0.01, "AllOffDiagEntries:=" , True, "OffDiagonalMag:=" , "0.05", "OffDiagonalPhase:=" , "6deg", "MagMinThreshold:=" , 0.01 ],
Example from Modal design with UseMatrixConv True for Entries "UseMatrixConv:=" , True, [ "NAME:Matrix Convergence", [ "NAME:Entries", [ "NAME:Entry", "Port1:=" , "Port1", "Port2:=" , "Port1", "MagLimit:=" , "0.02", "PhaseLimit:=" , "5deg" ], [ "NAME:Entry", "Port1:=" , "Port3", "Port2:=" , "Port2", "MagLimit:=" , "0.03", "PhaseLimit:=" , "5deg" ] ] ],
Example from Design with Periodic Ports and UseMaxtrixConv is True "UseMatrixConv:=" , True, [ "NAME:Matrix Convergence", [ "NAME:Entries", [ "NAME:Entry", "Port1:=" , "Incident_Port1", "Port2:=" , "Incident_Port1", "MagLimit:=" , "0.11", "PhaseLimit:=" , "5deg" ], [ "NAME:Entry", "Port1:=" , "Incident_Port2", "Port2:=" , "Incident_Port2", "MagLimit:=" , "0.22", "PhaseLimit:=" , "5deg" ] ] ],
Example Terminal Design with UseMatrixConv = True and Expression Cache oProject = oDesktop.SetActiveProject("term-2x2_1_parasolid") oDesign = oProject.SetActiveDesign("unit") oModule = oDesign.GetModule("AnalysisSetup") oModule.InsertSetup("Setup1", [ "NAME:Setup1", "SolveType:=" , "Single", "Frequency:=" , "10GHz", "MaxDeltaS:=" , 0.02, "UseMatrixConv:=" , True, [ "NAME:Matrix Convergence", [ "NAME:Entries", [ "NAME:Entry", "Port1:=" , "P2", "Port2:=" , "P1", "MagLimit:=" , "0.05", "PhaseLimit:=" , "10deg" ] ] ], "MaximumPasses:=" , 15, "MinimumPasses:=" , 1, "MinimumConvergedPasses:=", 1, "PercentRefinement:=" , 30, "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "BasisOrder:=" , 1, "DoLambdaRefine:=" , True, "DoMaterialLambda:=" , True, "SetLambdaTarget:=" , False, "Target:=" , 0.3333, "UseMaxTetIncrease:=" , False, "PortAccuracy:=" , 2, "UseABCOnPort:=" , False, "SetPortMinMaxTri:=" , False, "DrivenSolverType:=" , "Iterative Solver", "IterativeResidual:=" , 0.0001, "DDMSolverResidual:=" , 0.0001, "EnhancedLowFreqAccuracy:=", False, "SaveRadFieldsOnly:=" , False, "SaveAnyFields:=" , True, [ "NAME:ExpressionCache", [ "NAME:CacheItem", "Title:=" , "dB_AxialRatioValue_1", "Expression:=" , "dB(AxialRatioValue)", "Intrinsics:=" , "Phi=\'0deg\' Theta=\'0deg\'", "ReportType:=" , "Far Fields", [ "NAME:ExpressionContext", "Context:=" , "Infinite Sphere1" ] ], [ "NAME:CacheItem", "Title:=" , "dB_St_Diff1_Diff1__1", "Expression:=" , "dB(St(Diff1,Diff1))", "Intrinsics:=" , "", "ReportType:=" , "Terminal Solution Data", [ "NAME:ExpressionContext", "Diff:=" , "Differential Pairs" ] ], [ "NAME:CacheItem", "Title:=" , "dB_St_P1_P1__1", "Expression:=" , "dB(St(P1,P1))", "Intrinsics:=" , "", "ReportType:=" , "Terminal Solution Data", [ "NAME:ExpressionContext", "Diff:=" , "Terminals" ] ] ], "CacheSaveKind:=" , "Delta", "ConstantDelta:=" , "0s", "IESolverType:=" , "Auto", "LambdaTargetForIESolver:=", 0.15, "UseDefaultLambdaTgtForIESolver:=", True, "IE Solver Accuracy:=" , "Balanced", "InfiniteSphereSetup:=" , "" ]) Example HFSS Hybrid and Arrays with Beta Parallel Component Mesh Adapt oModule.InsertSetup("HfssDriven", [ "NAME:Setup2", "SolveType:=" , "Single", "Frequency:=" , "5GHz", "MaxDeltaS:=" , 0.02, "UseMatrixConv:=" , False, "MaximumPasses:=" , 6, "MinimumPasses:=" , 1, "MinimumConvergedPasses:=", 1, "PercentRefinement:=" , 30, "ComponentAdaptOption:=", "Fully Independent", "PerformFullDesignSolveAtLastPass:=", True, "IsEnabled:=" , True, [ "NAME:MeshLink", "ImportMesh:=" , False ], "BasisOrder:=" , 1, "DoLambdaRefine:=" , True, "DoMaterialLambda:=" , True, "SetLambdaTarget:=" , False, "Target:=" , 0.3333, "UseMaxTetIncrease:=" , False, "PortAccuracy:=" , 2, "UseABCOnPort:=" , False, "SetPortMinMaxTri:=" , False, "DrivenSolverType:=" , "Direct Solver", "EnhancedLowFreqAccuracy:=", False, "SaveRadFieldsOnly:=" , False, "SaveAnyFields:=" , True, "IESolverType:=" , "Auto", "LambdaTargetForIESolver:=", 0.15, "UseDefaultLambdaTgtForIESolver:=", True, "IE Solver Accuracy:=" , "Balanced", "InfiniteSphereSetup:=" , "", "MaxPass:=" , 10, "MinPass:=" , 1, "MinConvPass:=" , 1, "PerError:=" , 1, "PerRefine:=" , 30 ])
|