{
  "id": "steel-loss-calibrated",
  "lesson_ids": [
    "II07.4",
    "II10.1",
    "meas-bh-losses"
  ],
  "title": "Потери в стали по полевой серии и двум паспортным точкам материала",
  "intro": [
    "Потери в электротехнической стали включают несколько физических механизмов и зависят от частоты, формы изменения индукции, её амплитуды, состояния материала и технологии изготовления. Статический FEMM не создаёт эти потери автоматически: для оценки используются результаты полевых положений и отдельно обоснованный закон материала.",
    "В этом комплекте поле рассчитано с учебной восьмиточечной B–H-кривой, а закон удельных потерь условно выбран по isovac 270-35A: 1,05 Вт/кг при 1 Тл и 2,50 Вт/кг при 1,5 Тл, 50 Гц. Это условное наложение свойств, а не доказательство, что учебная B–H соответствует данному сорту стали."
  ],
  "theory": [
    {
      "heading": "Получение закона из исходных данных",
      "paragraphs": [
        "Пусть при одной частоте удельная мощность приближённо описывается степенной зависимостью p=cB^α. Деление двух уравнений устраняет c; логарифм отношения даёт показатель α. Затем c определяется подстановкой одной точки. На другой частоте эти два измерения уже не определяют новый закон.",
        "Для каждого элемента масса равна площади сечения, умноженной на активную длину и плотность. Поэтому локальная удельная мощность переводится в ватты умножением на массу элемента, после чего мощности суммируются.",
        "Калибровочный интервал 1…1,5 Тл ограничен двумя точками. Доли массы и потерь за этим интервалом показаны отдельно: большая доля экстраполяции прямо снижает надёжность суммарной оценки."
      ],
      "formulas": [
        {
          "latex": "\\alpha=\\frac{\\ln(p_2/p_1)}{\\ln(B_2/B_1)}=2{,}13952,\\qquad p_{50}(B)=1{,}05\\left(\\frac{B}{1\\,\\mathrm{Тл}}\\right)^\\alpha\\,\\mathrm{Вт/кг}",
          "explanation": "Это закон только при 50 Гц; коэффициент 1,05 имеет размерность Вт/кг."
        },
        {
          "latex": "m_e=\\rho_{\\mathrm{ст}}S_e l_{\\mathrm{акт}},\\qquad P_{50}=\\sum_e m_e p_{50}(B_{e,\\mathrm{амп}})",
          "explanation": "При площади в мм² используется множитель 10⁻⁶, длина подставляется в метрах."
        }
      ]
    },
    {
      "heading": "Вращающееся поле и амплитуда эллипса",
      "paragraphs": [
        "Для векторного ряда основной гармоники B(t)=c cosωt+s sinωt максимальный модуль определяется большой полуосью эллипса. Квадрат полуоси — большее собственное значение матрицы Грама, составленной из c и s. Поэтому брать только Bx или корень из суммы квадратов комплексных амплитуд нельзя без уточнения физического смысла.",
        "В роторе точки выборки и оси вектора поворачиваются вместе с телом. Основное поле магнита в такой системе почти постоянно; его нельзя объявлять переменным полем 50 Гц только из-за поворота машины в неподвижных координатах.",
        "Здесь полная векторная траектория заменяется эквивалентной знакопеременной амплитудой большой полуоси. Добавочные потери от вращающегося намагничивания, высших гармоник и постоянного смещения этим законом не откалиброваны."
      ],
      "formulas": [
        {
          "latex": "B_{\\mathrm{больш}}^2=\\frac{u+v+\\sqrt{(u-v)^2+4w^2}}2,\\quad u=\\mathbf c\\cdot\\mathbf c,\\ v=\\mathbf s\\cdot\\mathbf s,\\ w=\\mathbf c\\cdot\\mathbf s",
          "explanation": "Формула получается из характеристического уравнения симметричной матрицы 2×2."
        }
      ]
    }
  ],
  "parameters": [
    {
      "name": "Основная частота",
      "value": 50,
      "unit": "Гц"
    },
    {
      "name": "Скорость",
      "value": 1500,
      "unit": "об/мин"
    },
    {
      "name": "Длина",
      "value": 80,
      "unit": "мм"
    },
    {
      "name": "Плотность стали",
      "value": 7650,
      "unit": "кг/м³"
    },
    {
      "name": "Угловых положений",
      "value": "12;24;48",
      "unit": ""
    },
    {
      "name": "Режимы токов d/q",
      "value": "0/5 и −30/0",
      "unit": "А"
    }
  ],
  "steps": [
    "Сначала сопоставьте две исходные паспортные точки с сохранённым PDF производителя и выведите α самостоятельно.",
    "Запустите reproduce.py для нового контрольного поля. Для полной серии выполните reference/native-steel-loss-map.py из каталога reference.",
    "Полные программы, названные далее, запускайте через run-series.py из корня распакованного комплекта: выберите SERIES_NUMBER по списку README.html. Диспетчер сам устанавливает подпапку и контекст исходной программы; прежний рабочий каталог FEMM не важен.",
    "Изучите таблицу удельных потерь и локальную карту steel-cells.csv: в ней есть масса, основная амплитуда и отметка выхода за калибровочный диапазон.",
    "Сравните 12, 24 и 48 положений. Отдельно посчитайте ошибку угловой дискретизации и долю потерь от экстраполяции материала.",
    "В выводе укажите «условная оценка потерь основной гармоники при 50 Гц»; нулевой статический интеграл потерь FEMM не подменяет эту постобработку."
  ],
  "table": {
    "columns": [
      {
        "key": "mode",
        "label": "Режим",
        "unit": ""
      },
      {
        "key": "N",
        "label": "Положения",
        "unit": ""
      },
      {
        "key": "p",
        "label": "P₅₀",
        "unit": "Вт"
      },
      {
        "key": "prot",
        "label": "Из них ротор",
        "unit": "Вт"
      },
      {
        "key": "m",
        "label": "Масса стали",
        "unit": "кг"
      },
      {
        "key": "outside",
        "label": "Мощность вне калибровки",
        "unit": "%"
      }
    ],
    "rows": [
      {
        "mode": "Номинальный",
        "N": 12,
        "p": 15.646485477203369,
        "prot": 0.0006827991526056937,
        "m": 12.850549916313932,
        "outside": 23.891320522087724
      },
      {
        "mode": "Номинальный",
        "N": 24,
        "p": 15.681647916350904,
        "prot": 0.00037077737246911987,
        "m": 12.850549916313932,
        "outside": 24.37986071133518
      },
      {
        "mode": "Номинальный",
        "N": 48,
        "p": 15.678831138682728,
        "prot": 0.00020193208808102388,
        "m": 12.850549916313932,
        "outside": 24.61140390218261
      },
      {
        "mode": "Размагничивающий",
        "N": 12,
        "p": 9.93348469534603,
        "prot": 0.0005767988807150542,
        "m": 12.850549916313932,
        "outside": 40.31543133331673
      },
      {
        "mode": "Размагничивающий",
        "N": 24,
        "p": 9.928295664602775,
        "prot": 0.0003091487557445891,
        "m": 12.850549916313932,
        "outside": 40.49591368602451
      },
      {
        "mode": "Размагничивающий",
        "N": 48,
        "p": 9.928190222086316,
        "prot": 0.00016391583700289952,
        "m": 12.850549916313932,
        "outside": 40.5160679268114
      }
    ]
  },
  "series": [
    {
      "title": "Номинальный режим: угловое уточнение",
      "x_label": "Число положений",
      "y_label": "Условная оценка P₅₀, Вт",
      "points": [
        [
          12,
          15.646485477203369
        ],
        [
          24,
          15.681647916350904
        ],
        [
          48,
          15.678831138682728
        ]
      ]
    },
    {
      "title": "Размагничивающий режим: угловое уточнение",
      "x_label": "Число положений",
      "y_label": "Условная оценка P₅₀, Вт",
      "points": [
        [
          12,
          9.93348469534603
        ],
        [
          24,
          9.928295664602775
        ],
        [
          48,
          9.928190222086316
        ]
      ]
    }
  ],
  "scope": [
    "Условная оценка основной гармоники 50 Гц использует большую полуось эллипса. Постоянное смещение, высшие гармоники, вращательные добавочные потери, вихревые токи магнитов и механические потери отдельно не откалиброваны; статический интеграл FEMM равен нулю и не заменяет эту оценку.",
    "Для основной номинальной оценки около 24,6 % рассчитанной мощности лежит вне интервала 1…1,5 Тл; хорошая угловая сходимость не снимает этой неопределённости материала.",
    "Каталожные удельные потери относятся к стандартному образцу; добавочные технологические потери готовой машины требуют отдельного коэффициента или измерений."
  ],
  "sources": [
    {
      "title": "voestalpine. isovac, перечень поставки, январь 2026, с. 2",
      "url": "https://www.voestalpine.com/stahl/en/content/download/4584/file/Lieferspektrum-EB-voestalpine-EN-030523.pdf?inLanguage=eng-GB"
    },
    {
      "title": "Руководство FEMM 5, разделы магнитного поля и встроенного Python",
      "url": "https://www.femm.info/doku/lib/exe/fetch.php?media=femm-qt:docs:manual.pdf"
    }
  ],
  "checks": [
    {
      "name": "Угловое уточнение 24→48: номинальный режим",
      "value": 0.00017962255518055859,
      "limit": "< 0,001",
      "passed": true
    },
    {
      "name": "Угловое уточнение 24→48: размагничивающий режим",
      "value": 1.0620404550909512e-05,
      "limit": "< 0,001",
      "passed": true
    },
    {
      "name": "Восстановление второй паспортной точки при 1,5 Тл, Вт/кг",
      "value": 2.5,
      "limit": 2.5,
      "passed": true
    }
  ],
  "downloads": [],
  "python": {
    "path": "downloads/audit-native/steel-loss-calibrated/reproduce.py",
    "description": "Распакуйте ZIP целиком в новую папку. Выполните reproduce.py встроенным Python FEMM 5: проверяются хеши, заново решаются контрольные поля и пересчитываются численные проверки таблиц. Рабочий каталог определяется по пути сохранённого сценария. Полные программы запускайте через run-series.py; номер SERIES_NUMBER выбирается по списку в README.html."
  },
  "provenance": {
    "origin": "Неизменённые ранее выполненные расчёты FEMM 5 и новый читаемый разбор",
    "runtime": "FEMM 5.0 06Oct2026; встроенный MicroPython; без внешнего Python/COM/TCP",
    "files": [
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/Arnold-N35SH-Rev210607-complete.pdf",
        "path": "reference/Arnold-N35SH-Rev210607-complete.pdf",
        "sha256": "61e95e16002d5d53bec459677afc2c02f7d679d698fdf5c8ddc19e2ba7886df4",
        "bytes": 248302
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/Arnold-N35SH-Rev210607-complete.receipt.json",
        "path": "reference/Arnold-N35SH-Rev210607-complete.receipt.json",
        "sha256": "70da4d9ebb8c15bbe2c0bdc9ff228d19c05bc1ab323a978065fcf481d3ca2bcd",
        "bytes": 513
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/checks.json",
        "path": "reference/checks.json",
        "sha256": "3547ec1486ec25c1a89f1a1e05e91ddda15122c81085acb92ec90bff3b941f9e",
        "bytes": 4859
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/complete-plan.json",
        "path": "reference/complete-plan.json",
        "sha256": "738f143b3876717ac26a4610f963e3cfc2e9c8d339c22c781e01da81414d2167",
        "bytes": 3017
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/control-0.fem",
        "path": "reference/control-0.fem",
        "sha256": "85901da25dd1c6c9d7d2b4050c308efd18006fecb8a4ed306d4b947b454093a5",
        "bytes": 18124
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/control-1.fem",
        "path": "reference/control-1.fem",
        "sha256": "5c8034c91e02c03da6e9a0a1a37d53857fd85d38887e1d10d1924920e0ca120f",
        "bytes": 18144
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/key-cases.json",
        "path": "reference/key-cases.json",
        "sha256": "1c4aa06e58255976bf7f8e75ccf31c0e251e39c7a7c3f93871e43037ab372b3a",
        "bytes": 5026
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/material-sources.json",
        "path": "reference/material-sources.json",
        "sha256": "9336e4e1cf5697ace0671ae578391e76c8bbe560347b41e093e83d6d64be59d6",
        "bytes": 658
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/materialized-models.json",
        "path": "reference/materialized-models.json",
        "sha256": "dd7db38e71cb32bc891fc2a7696bbec7ca8e2a53e1f974df14d10c8b23b806f5",
        "bytes": 2269
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/N35SH-150C-magmesh-0.4-source-model.fem",
        "path": "reference/N35SH-150C-magmesh-0.4-source-model.fem",
        "sha256": "67bf515d8f7cd2110200c6f4ffefd208f802d8527615030299d193a0b674b795",
        "bytes": 18033
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/N35SH-150C-magmesh-0.8-source-model.fem",
        "path": "reference/N35SH-150C-magmesh-0.8-source-model.fem",
        "sha256": "95ccaec71dc533412cb3cdb2bfc687f932a981c81f722f77539babc73300d086",
        "bytes": 18033
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/N35SH-20C-magmesh-0.4-source-model.fem",
        "path": "reference/N35SH-20C-magmesh-0.4-source-model.fem",
        "sha256": "48a59226fa49fee3704d572f9e3a8e96c4996be1c9e11e934f5577821517cda8",
        "bytes": 18033
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/N35SH-20C-magmesh-0.8-source-model.fem",
        "path": "reference/N35SH-20C-magmesh-0.8-source-model.fem",
        "sha256": "473669d59e729604df9f51895bdaabed76f74085d60894a13787a131da7cb60e",
        "bytes": 18033
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/N35SH-Hk90.csv",
        "path": "reference/N35SH-Hk90.csv",
        "sha256": "af4ac45d60e415716c2821cc5f4e2cfe57eff90a3b76b37355178eaff1da427c",
        "bytes": 463
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/native-demagnetization.py",
        "path": "reference/native-demagnetization.py",
        "sha256": "17f09f4f03bc278e137db250b751fff4b4538312229958fa60aba95448e88eaa",
        "bytes": 8579
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/native-receipt-22.json",
        "path": "reference/native-receipt-22.json",
        "sha256": "8a75d4e2938e8b7c9143c683cdf70891c2d9a5978005b1c96b036a1d8c50f449",
        "bytes": 10225
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/native-receipt-29.json",
        "path": "reference/native-receipt-29.json",
        "sha256": "d9d2595255e820e14cebd17b39e89705933b27db2f973671a1d46dea664ce7fc",
        "bytes": 11840
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/native-steel-loss-map.py",
        "path": "reference/native-steel-loss-map.py",
        "sha256": "53d450c0845088b277ea5df4953cdd6e0e4aac6c6f4c97b5aad594d57932281c",
        "bytes": 10477
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/original-00.py",
        "path": "reference/original-00.py",
        "sha256": "00dbef5a9aabd393db656e21672028060f11e190e9aa4c11f356b4b594781d0d",
        "bytes": 1326
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/practice-ii07-4-source-model.fem",
        "path": "reference/practice-ii07-4-source-model.fem",
        "sha256": "bd549ade9efa0dd638ab057015ae7cb67c4673f5f9610f875e6a5418da53ab50",
        "bytes": 17387
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/REPORT.md",
        "path": "reference/REPORT.md",
        "sha256": "8d74e113b6e9088e330fbbbabeeb445cf3ec787551a4ce30702ea37c9ca0673c",
        "bytes": 17043
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/reproduce.py",
        "path": "reference/reproduce.py",
        "sha256": "4a23cea18fb0e33926c7211f2c7e889e4ead3f10b42455377876b7036a1ad146",
        "bytes": 2987
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/result.json",
        "path": "reference/result.json",
        "sha256": "cc1b7d55d3f12fd26902df90bc61fb1e26d964c9bf67c505c8b8a91fa76fdbb9",
        "bytes": 29875
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/source-manifest.json",
        "path": "reference/source-manifest.json",
        "sha256": "62af6fcdebf3c6bf1ad85b0765c96878ec0dc1b970782910e638ed296f855b74",
        "bytes": 3604
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/source-task.json",
        "path": "reference/source-task.json",
        "sha256": "f481a8d36032a7dc84ff49950baa835a3541a285f9d3db147a5acdbdc6503b38",
        "bytes": 114160
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/voestalpine-isovac-range-January2026-complete.pdf",
        "path": "reference/voestalpine-isovac-range-January2026-complete.pdf",
        "sha256": "9a4821b89fa202e5914cf65063536eea049a904708489981ef160d25eeb00a2c",
        "bytes": 3309980
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii07-4/A/measurements.json",
        "sha256": "510832396084d299639cf7cad46f99f174e4f2b3efcf3c42a66084a53783703b",
        "bytes": 18644755,
        "extraction": "material-summary.json and steel-cells.csv; original retained unchanged in author workspace"
      }
    ],
    "native_key_fields_per_replay": 1,
    "full_series_entrypoints": [
      "reference/native-steel-loss-map.py"
    ],
    "source_models_mutated": false,
    "original_check_reports": [
      {
        "path": "reference/checks.json",
        "checks": 20,
        "passed": 20
      }
    ],
    "native_replay": {
      "passed": true,
      "fresh_fields": 1,
      "checks": 24057,
      "runtime_sha256": "6a79ed0e882d054275347a1f267b57d04a31e900beaa7f6a6251487ed2e1df1b",
      "launch_cwd_differs_from_package": true
    }
  }
}