# 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 createCustomMaterialWithElectric(materialLibrary, materialName): """Create a new custom material and define it as a superconductor in its electrical properties.""" materialLibrary.CreateCustomMaterial(materialName) material = materialLibrary.GetUserMaterial(materialName) # [Conductivity Type]: [Superconductor] material.SetValue(u"ConductivityType", u"Superconductor") # [Superconductor Model]: [I-V Model] material.SetValue(u"SuperconductorModelType", u"IV") material.SetValue(u"CriticalCurrentDensityType", "MagneticFluxDensityAndTemperatureAngleDependency") material.SetTableListName(u"CriticalCurrentDensityAnglePointArray", u"PointArrayOfCriticalCurrentDensity") refarray = [ [0, 8.4e+09], # magnetic flux density 0, critical current density 8.4e+09 [1, 9e+8] ] material.SetTableListWithDualKey(u"CriticalCurrentDensityAnglePointArray", 0, u"deg", -196, u"deg C", refarray) refarray = [[0, 1.008e+10], [1.2, 1e+9]] material.SetTableListWithDualKey(u"CriticalCurrentDensityAnglePointArray", 0, u"deg", -186, u"deg C", refarray) refarray = [[0, 8.4e+9], [1, 2e+9]] material.SetTableListWithDualKey(u"CriticalCurrentDensityAnglePointArray", 90, u"deg", -196, u"deg C", refarray) refarray = [[0, 1.008e+10], [1.2, 2e+9]] material.SetTableListWithDualKey(u"CriticalCurrentDensityAnglePointArray", 90, u"deg", -186, u"deg C", refarray) material.SetValue(u"nValueType", "MagneticFluxDensityAndTemperatureAngleDependency") material.SetTableListName(u"nValueAnglePointArray", u"PointArrayOfnValue") refarray = [ [0, 30], # magnetic flux density 0, n value 30 [1, 10] ] material.SetTableListWithDualKey(u"nValueAnglePointArray", 0, u"deg", -196, u"deg C", refarray) refarray = [[0, 35], [1.2, 15]] material.SetTableListWithDualKey(u"nValueAnglePointArray", 0, u"deg", -186, u"deg C", refarray) refarray = [[0, 30], [1, 15]] material.SetTableListWithDualKey(u"nValueAnglePointArray", 90, u"deg", -196, u"deg C", refarray) app = designer.GetApplication() materialName = u"MySuperConductor" materialLibrary = app.GetMaterialLibrary() createCustomMaterialWithElectric(materialLibrary, materialName)