# 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/ app = designer.GetApplication() def getCalculationDataSetWithSpecifiedStudyCase(calculationTitle, study, caseNo): """Get a data set by specifying the data set name, study, case number.""" calcDef = study.GetCalculationDefinition(calculationTitle) dataSet = calcDef.GetCaseDataSet(caseNo) return dataSet def fourierTransform2DTimeSpace(dm, dataSet, graphName, unitType, rangeType): """Perform a two-dimensional Fourier transform on physical quantity data defined based on time and space axes.""" parameter = app.Create2DFourierTransformParameter(graphName) parameter.SetDataSet(dataSet) parameter.SetType(unitType) parameter.SetDBRefValueType(u"Specify") parameter.SetDBRefValue(u"2e-05") parameter.SetDBMultiplier(20) parameter.SetAxisType(rangeType) parameter.SetMin(u"0.0001") parameter.SetMax(u"0.0003") parameter.SetTimePeriodicity(0) # 0:None, 1:1/2 parameter.SetFrequencyMultiplier(u"1") parameter.SetUseTimeOrderLimit(True) parameter.SetTimeOrderLimit(u"2") parameter.SetFrequencyDomainAxisType(u"Order") parameter.SetSpacePeriodicity(0) # 0:None, 1:1/2 parameter.SetSpaceOrderMultiplier(u"1") parameter.SetUseSpaceOrderLimit(True) parameter.SetSpaceOrderLimit(u"3") parameter.SetAlgorithmType(u"DFT") dm.Create2DFourierTransformWithParameter(parameter) # ------------------------------ graphName = u"Surface_2D_Fourier_Transform" unitType = u"Decibel" rangeType = u"Time" definitionTitle = u"Edge" caseNo = 1 # ------------------------------ study = app.GetCurrentStudy() dataSet = getCalculationDataSetWithSpecifiedStudyCase(definitionTitle, study, caseNo) dm = app.GetDataManager() fourierTransform2DTimeSpace(dm, dataSet, graphName, unitType, rangeType)