# Copyright (c) 2026 JSOL CORPORATION # # This script is released under the MIT License. # See the full license text at: # https://www.jmag-international.com/scriptlibrary/jmag_script_library_mit/ def createSteadyConditionsByFrequencyComponent(studyPropStep): """Add steady conditions for frequency components""" condition = studyPropStep.CreateSubCondition(u"SteadyState", u"FrequencyComponent") condition.SetValue(u"SteadyStateStopCheckMethod", "Frequency") condition.SetValue(u"SteadyStateFrequency", 100) condition.SetValue(u"HarmonicOrder", 2) condition.SetValue(u"SteadyStateThreshold", 0.5) condition.SetValue(u"SteadyStateReferenceResultSource", "Force") condition.SetValue(u"SteadyStateResultComponent", "Second") condition.SetLinkWithType(u"SteadyStateLinkedForce", u"Force") def createSteadyConditionsByAverageValue(studyPropStep): """Add steady conditions for Average""" condition = studyPropStep.CreateSubCondition(u"SteadyState", u"AverageValue") condition.SetValue(u"SteadyStateStopCheckMethod", "Average") condition.SetValue(u"SteadyStatePeriodic", u"1/50") condition.SetValue(u"SteadyStateThreshold", 3) condition.SetValue(u"SteadyStateReferenceResultSource", "Current") app = designer.GetApplication() studyPropStep = app.GetCurrentStudy().GetStep() studyPropStep.SetValue(u"StopOnSteadyState", "On") # "StopOnSteadyState":Stop the analysis when steady state is reached createSteadyConditionsByFrequencyComponent(studyPropStep) createSteadyConditionsByAverageValue(studyPropStep)