Иногда аварии, чтобы она запомнилась надолго, не надо быть техногенкой с кучей жертв. Именно так случилось в январе 2012 года, когда на калифорнийской АЭС Сан-Онофре произошла утечка радиоактивной воды из первого контура в парогенераторе. Авария неприятная, но она не привела к значимому повышению радиационного фона и если бы не её косвенные последствия, то прошла бы в отчётах МАГАТЭ и NRC (американский атомный регулятор), как незначительное происшествие. Проблема была в том, что устранить её быстро было невозможно, а без парогенератора энергоблок требовалось отправить в простой. И это лишь начало истории.


АЭС Сан-Онофре уютно расположилась на берегу Тихого океана в сейсмически активной Калифорнии

Что такое парогенератор и зачем он нужен? Внутри реактора у нас идёт ядерная реакция с выделением большого количества энергии, которая греет воду и превращает её в пар. Так как пар радиоактивный, то пускать его на турбину небезопасно и требуется промежуточное звено — парогенератор.


Очень упрощённая схема работы АЭС, но на ней присутствует наш герой

Это цилиндр, установленный внутри корпуса реактора и представляющий собой простой теплообменник. Внутри него по пучкам трубок проходит пар (в случае кипящих водо-водяных реактров, BWR) или вода под давлением (в случае водо-водяных реакторов, PWR) из реактора, нагревая их. Далее это дело поступает на лопатки турбины и раскручивает её для получения наконец-то электричества.


Собственно, вот вам парогенератор


А это тепловые потоки в нём

Если вы видели кипящий чайник, то знаете, что кипящая вода имеет свойство создавать течения, под действием разности температур. Трубки внутри парогенератора на входе и выходе имеют разную температуру за счёт отдачи тепла воде, вода тоже, это приводит к тому, что трубки под действием течений начинают вибрировать и если колебания слишком велики, то может произойти их разрушение. Как раз это и случилось на третьем энергоблоке Сан-Онофре.


А вот амплитуда вибраций в трубках парогенератора зависимости от скорости потока

Но к такому развитию событий инженеры были давно готовы: для того, чтобы колебания не привели к аварии, трубки проходят через антивибрационные решётки, которые должны ограничивать их амплитуду колебаний.


Антивибрационные решётки и теплообменные трубки

В процессе эксплуатации некоторые трубки всё равно выйдут из строя, но не 80 штук разом, как в данном случае. И уж тем более очень странно, когда такая авария происходит в новом, проработавшем меньше года парогенераторе! Проблема заключалась ещё и в том, что в этот момент заканчивали монтаж точно такого же парогенератора на 2 энергоблоке (всего на АЭС было два блока) и через несколько месяцев и на нём будут зафиксированы повышенные вибрации. Всё, вся станция встала, но в чём причина проблемы?

Во время выбора поставщика ещё в далёком 2004 году американцы выбрали японскую «Mitsubishi Heavy Industries» (MHI). Да, у неё не было опыта создания столь больших парогенераторов, как были необходимы, но их продукция хорошо себя зарекомендовала, да и японцы очень хотели закрепиться на рынке США. Осмотр парогенераторов Сан-Онофре специалистами из MHI подтвердил, что понятно, что ничего не понятно. Был зафиксирован повышенный износ вызванный большими, чем ожидалось вибрациями, но причина вибраций была неясна. Владелец АЭС «Southern California Edison Company» (SCE) надеялся, что удастся обойтись малой кровью и всего лишь заменить испортившиеся трубки, после чего пустить блок, но японцы, потупив взор, сказали, что не могут дать гарантии, что это решит проблему. И они были чертовски правы.

Следующие месяцы обе стороны пытались с одной стороны найти причину аварии, с другой придумать план ремонта. Проблема была ровно одна: причину аварии никто пока не понимал. И японцы, и американцы согласились, что именно повышенные вибрации стали разрушили теплообменные трубки, но почему они появились было загадкой. В качестве компенсирующей меры японцы предлагали установку новых антивибрационных решёток, но, во-первых, гарантий того, что это поможет не было, а во-вторых, все предложенные варианты замены трубок и установки новых решёток были признаны рискованными. Кроме того в дело вмешался и американский регулятор NRC, который настаивал, что даже в случае ремонта или замены парогенератора можно будет пустить только один блок и только в экспериментальном режиме с кучей ограничений из-за того, что генезис вибрации так и не был установлен.


Японцы при любом упоминании о возможности замены парогенераторов

Ситуация выходила презабавная. Обе стороны хотели бы провести ремонт, так как это дешевле и быстрее, но не могли, потому что японцы так и не смогли предложить адекватного плана. А даже если ремонт и сделать, то АЭС будет работать долгое время с половинной мощностью. Альтернативой была замена парогенераторов, но это означало как минимум 5-7 лет на изготовление и поставку, всё это время АЭС будет стоять заглушенной. При этом каждый месяц простоя стоил SCE 100 миллионов долларов на покупку мощностей у других производителей для поставок по долгосрочным контрактам. Т.е. лучшего решения не было вообще, поэтому американцы тянули резину и ждали, что японцы родят решение, а японцы, которые в июне 2012 тоже уже поняли, что ничего путного с ремонтом не выйдет, поддерживали игру, так как не хотели влетать на 400 миллионов долларов расходов на новые парогенераторы. Поэтому обе стороны тянули резину, надеясь, что решение все же свалится им на головы. Но не свалилось. В июле 2013 года, подбив счёт, прикинув размер потерь, и посмотрев на недобро глядящего регулятора, в SCE решили, что АЭС надо закрывать, а на «джапов» подать в арбитражный суд за невыполнение контракта.

Стоп. Так причину вибраций не нашли? Нашли, и ещё много чего интересного нашли, но чтобы собрать все факты в общую картину потребовался арбитраж.

Одна ошибка в коде, и ты в пролёте


Ещё в апреле 2012 года (т.е. всего через 3 месяца после аварии) японцы, взявшиеся перепроверять расчёты вибрации, выявили в них ошибку, названную Gap Velocity Error.
Расчётный комплекс на котором японцы обсчитывали новый парогенератор состоял из пяти программ (кодов), каждая из которых была собственной разработкой кампании.


Цепочка расчётных кодов по которым японцы считали вибрации

Первый из кодов в цепочке расчётов — SSPC (Steam Generator Steady State Performance Calculation Code) считал основные теплогидравлические характеристики парогенераторов.

Результаты расчётов по коду SSPC использовались в качестве исходных данных для следующего кода — FIT-III, который выполнял расчёты скоростей потока и паросодержания в парогенераторе. Результаты расчётов по FIT-III передавались через код «FIT-III Post-processor одновременно в коды — FIVATS и IVHET. Код FIVATS (Flow-Induced Vibration Analysis of Tubular Structures) рассчитывал вибрации, а IVHET (Impact Vibration of Heat Exchanger Tube with Gap Support Code) — виброизнос трубок.

Проблема оказалась в том, что код FIT-III выдавал меньшее значение скорости потока, чем оно было в реальности. Как выяснится в ходе расследования, изначально код был разработан для сетки пучков трубок, расположенных с квадратным шагом, но позже MHI перешли к треугольному шагу, так как он позволял в одном и том же объёме расположить больше теплообменных трубок. Программистам фирмы поставили задачу переделать код под новый шаг сетки и они сделали это, учтя новые геометрические положения трубок.

Но по непонятной причине они забыли поменять точки для которых производился расчёт, и программа вместо расчёта потока в самом узком месте (между двумя любыми расположенными рядом трубками) рассчитывала их в широком зазоре между трубками, как если бы они стояли в решётке с квадратным шагом, что давало скорости потока в 2,3 раза ниже. То есть код программы при в целом верном моделировании процесса просто выдавал на следующий уровень расчетов не ту величину, которая была нужна.


Трубки парогенератора и набегающий поток: PASME — требуемое для расчёта вибраций значение расстояния между трубками, PFIT-III — значение, выдаваемое программой

А теперь несколько нюансов:

1) Данный код был вовсе не новым и разработан за 20 лет(!) до случая с Сан-Онофре. До этого на нём был рассчитан не один парогенератор с треугольным шагом сетки трубок. Ни один из них не был подвержен преждевременному износу, а потому никто не проводил ревизию кода. Как проводилась верификация переработанного кода, при которой эту ошибку не заметили, осталось загадкой.

2) Ещё в январе 2005 года консультант японцев Пол Ланфорд при анализе результатов расчетов выразил сомнение в адекватности скорости потока и предположил, что его просто забыли умножить на какой-то коэффициент. Японцы по требованию заказчика провели проверку, но ошибок в коде не нашли, а потому вопрос спустили на тормозах, договорившись просто усилить контроль качества. При этом других работников, выражавших сомнения в менеджменте качества, просто увольняли.

3) Американцы в ходе подготовки к арбитражу попытались по имеющемуся набору алгоритмов из Технического описания расчётного комплекса восстановить программный код для подтверждения его работоспособности. Из трёх рассмотренных кодов (FIT-III, SSPC и FIVATS) удалось получить работоспособный прототип только для последнего, а остальные имели ошибки и были крайне плохо задокументированы. При этом даже в ходе арбитража японцы отказались предоставлять полные коды ПО SCE на ревизию, но предоставили их NRC, где сделали вывод, что в кодах содержатся ошибки.

4) Сама по себе ошибка в коде не могла привести к запроектным вибрациям, так как даже исправленные расчёты показывали, что колебания в пределах нормы. Но, тут как раз в нашу историю входят технические амбиции.

Широко шагаешь Митсубиси, штаны не порви


Изготовление антивибрационных решёток, которые должны были не допустить слишком сильные по амплитуды колебания теплообменных трубок из-за вибраций это довольно сложная задача. В случае, если зазор между трубкой и ячейкой решётки будет слишком большой, то возникнет разрушающая вибрация. Но при этом чем меньше зазор, тем выше требования к точности изготовления, так как при различии величины зазоров вдоль длины трубки она может искривиться. Поэтому выбор величины зазора обычно осуществляется исходя из компромисса между технологическими возможностями и величинами колебаний, которые прямо зависят от скорости потока.

Японцы, исходя из цели увеличить запас прочности, решили сделать зазор как можно меньшим — предполагалось возможным сделать его не более 0,003 дюйма (0,076 мм). Таким образом колебания удалось бы гасить даже при значительно больших скоростях потока, чем расчетные. Т.е. в теории данное решение невзначай полностью компенсировало бы ошибку расчётов.
Проблема оказалась в ином. Во время разбирательств по причине аварии первой идеей было несовершенство изготовления из-за чего зазоры оказались больше допустимых. MHI даже в начале признали эту версию, тем более, что при обследовании на парогенераторе 3 энергоблока таки нашли увеличенные зазоры. Но парогенератор 2 энергоблока был изготовлен куда аккуратнее, а проблема присутствовала и там. Более того, рассмотрение карты распределения неравномерностей зазоров в ходе арбитража показало, что вышедшие из строя трубки находятся далеко от области с повышенными зазорами. Тем не менее американцы настаивали именно на этой версии причины, так как она позволяла обвинить MHI в браке.


Красным показана область с максимальными зазорами, зелёным цветом трубки с увеличенными зазорами, не испытавшие дефектов, жёлтым — такие же трубки, у которых дефекты или были, или не были. Чёрным вышедшие из строя трубки.

Возможное решение выявленного несоответствия подсказали специалисты Areva, нанятые американцами в качестве консультантов. Они провели численные расчёты и выяснили, что ранее применявшаяся гипотеза о том, что при сверхмалых зазорах величина колебаний постоянна до некоего критического значения, когда происходят разрушительные вибрации, не полна. Моделирование выявило, что также значительные колебания возможны и при экстремально узких зазорах из-за, возникающих в них, турбулентных потоков. Это была новая для отрасли проблема, так как до этого никто не сталкивался с таким. И японцы уцепились именно за эту версию.


Зависимость амплитуды колебаний от величины зазора между трубкой и решёткой

Да, в этом случае возникает вопрос о недостаточном объёме подтверждающих расчётов для нового технического решения. Но с другой стороны новизна и отсутствие до этого каких-либо гипотез о наличии подобного явления прежде позволяли откреститься от ответственности и списать всё на форс-мажор. Самое смешное, что арбитраж так и не смог утвердительно ответить на то, чья версия правильная. Требовались дополнительные исследования для проверки гипотез, но это было не в компетенции судей, а потому формально вину возложили на японцев, но с парой очень больших нюансов.

MHI была обязана компенсировать американским заказчикам расходы, связанные с поиском причин инцидента, попытками вернуть блоки в строй и выполненными на станции ремонтными работами в размере всего-то 125 миллионов долларов. Американцы же требовали от суда 7 миллиардов, чтобы покрыть расходы на простой и преждевременное закрытие станции, но из-за так и не выявленной коренной причины аварии арбитры не могли возложить всю ответственность на MHI. При этом и SCE должна была выплатить японцам 58 миллионов долларов для компенсации затрат на арбитраж, так как фирма так и не смогла доказать в нём свою правоту.

Какие выводы из всей этой истории можно сделать


  1. некритичная ошибка в ПО в расчёте всего одного параметра, привела к фатальным результатам из-за непрогнозируемого явления;
  2. непрогнозируемость явления вызвана отсутствием должного количества подтверждающих расчётов;
  3. обе стороны спустя рукава подошли к процессу контроля качества документации и процессам верификации и валидации результатов;
  4. при этом вопросов к менеджменту качества японцев всё же больше, так как они ещё в ходе разработки парогенераторов увольняли работников, высказывающих претензии к качеству работ;
  5. техническое описание ПО в 2 из 3 случаев не давало понимания как оно работает и имело ошибочные данные;
  6. если бы ошибки в ПО не было, авария все равно могла бы случиться, так как коренная причина ее лежит в технических решениях, но она непосредственно повлияла на выбор этого технического решения.

Желаю всем надлежащей документации по проектам, спасибо за внимание.

Комментарии (65)


  1. AntonSor
    11.06.2022 14:30
    +15

    Погодите, погодите, они что, макетов не строили, вибрации на макете не проверяли?


    1. tsypanov
      11.06.2022 14:39
      +46

      Мне вот это больше понравилось:

      При этом других работников, выражавших сомнения в менеджменте качества, просто увольняли.


      1. Popadanec
        11.06.2022 21:45
        +12

        В/На Фукусиме действовал точно такой же подход. И там не то что звоночки звенели, а били со всей дури в колокол(заклеивание обоями цвета «под бетон» трещин в фундаменте как отдельный вид искуства). И дождались.


        1. ssj100
          11.06.2022 22:37

          а били со всей дури в колокол(заклеивание обоями цвета «под бетон» трещин в фундаменте как отдельный вид искуства). И дождались.

          так авария произошла не из-за этого, если бы цунами не оборвало провода то разлива радиации не было бы


          1. Popadanec
            12.06.2022 09:18
            +17

            Провода это ерунда относительно остального и их бы успели восстановить. Генераторы и распределительные щитки были в подвале(а не на крыше как в Техасе) которые затопило(вот уж неожиданность). Попробуй заново скоммутировать всю аварийную систему АЭС за пару часов и найти подходящие генераторы, которые ещё надо приволочь в таких условиях.
            Стена была ниже возможных волн, полнейшая неспособность руководства к оперативным действиям, там разбор полётов столько косяков выявил, что за голову хватались. И увольнение тех кто поднимал сложные вопросы там было лишь верхушкой айсберга.


            1. dragonnur
              13.06.2022 09:27
              +1

              Там была возможность обрубить кабели и вручную подключиться, но не было мощности резервных генераторов. Потому что свои генераторы смыло даже, а не затопило (но в целом, конечно, о качестве менеджмента - построить у моря заради близости охлаждающей воды, но не подумать, что кое-чему мокрая вода совершенно не показана).


              1. Popadanec
                13.06.2022 12:05
                +1

                Самый цимес начался позже. Тех кого эвакуировали из радиоактивных областей не то что сторонились, гнали ссаными тряпками как только узнавали. Радиофобия там очень сильна.
                И до сих пор(последний раз читал в 2020 или 2021) часть людей живёт во временном лагере.


                1. Lissov
                  13.06.2022 18:20

                  Тех кого эвакуировали из радиоактивных областей не то что сторонились, гнали ссаными тряпками как только узнавали. Радиофобия там очень сильна.

                  Я слышал мнение (впрочем неподтверждённое), что там былы некоторая неприязнь к тем кого эвакуировали со стороны тех кого не эвакуировали (потоиму что не было АЭС рядом). Что в общем логично - сколько людей потеряли жильё в тот момент и не получили практически ничего.

                  Не факт, что это радиофобия.


                1. dragonnur
                  14.06.2022 09:51

                  Японцы опять смогли в хибакуся?


      1. BigBeerman
        12.06.2022 18:04
        +10

        японские методы работы, чо. Удивительно, что вообще кто-то заявил об этом, обычно для японца указать вышестоящему начальству на ошибки немыслимо


        1. dragonnur
          13.06.2022 09:27
          -2

          У них американцы все скрепы расскрепили, ахаха


          1. Bedal
            13.06.2022 16:02
            +1

            нынешние японские «скрепы» практически на 100% были созданы именно американцами после Второй Мировой. Целью было затормозить развитие и предотвратить возрождение. Как ни странно, поначалу эффект получился обратный — но сейчас, похоже, начало действовать, как бром из анекдота.


            1. mayorovp
              13.06.2022 18:55
              +2

              Вот часть про "указать вышестоящему начальству на ошибки немыслимо" точно не американцами создана, она там всегда была. И не только в Японии.


            1. dragonnur
              14.06.2022 09:19

              В сарказм умеют не только лишь все. Жаль.


        1. tsypanov
          13.06.2022 18:01
          +1

          Мне кажется, это не только у японцев, это в целом на Востоке так.


    1. Woolfen
      11.06.2022 14:57
      +7

      Самое смешное, что строили, но уже после аварии и всего в 1/3 размера для отработки методов замены трубок. До этого опирались только на компьютерное моделирование и опыт работы предыдущих парогенераторов


    1. DanilinS
      11.06.2022 15:10
      +18

      Нет. Это очень дорого. Практически это означает построить энергоблок АЭС чисто как макет.


    1. AlexanderS
      11.06.2022 15:46
      +20

      Тут штука в том, что на макете это бы могло и не проявиться вовсе) Тем более по этому двадцатилетнему коду уже не один парогенератор сделали и никаких проблем не было. Представляете, как этому коду доверяли?

      Но это, конечно, не означает, что макетированием не нужно было заниматься принципиально. Понятно, что малую модель реактора не построишь, чтобы просто «парогенератор погонять». С другой стороны, когда-то какие-то опытные испытания может и проводились — нечто типа прогона определённого количества воды под определённым давлением с замером интересующих характеристик.


  1. andreyverbin
    11.06.2022 14:55
    +5

    Умные люди, расскажите как вообще такие штуки, как парогенератор, разрабатываются и тестируются? Макет, макетом, но сколько их нужно сделать и как убедиться, что макет реальность отражает?


    1. Un_ka
      11.06.2022 16:34
      +18

      Во-первых есть приближенные методы расчётов для решения задач типа есть температура теплоносителя на входе второго теплоносителя на входе и выходе, и из этих данных рассчитывается всё остальное. Такие методы применяются для предварительного расчета. А вот после них уже используется и численное моделирование в различных пакетах мультифизики. У советских и российских разработчиков последнее слово всегда за "прочнистыми". Это означает что теплообменник хоть в первую очередь и считается для задачи теплообмена с учётом прочности, но всегда проходит отдельную проверку.

      По поводу макетирования и испытания в работе готовых изделий, их деталей и узлов. Если изделия серийное например автомобиль, то всё конечно в отдельности испытывается и доводится. Но если изделие штучное, как парогенератор АЭС или марсоход, то обычно всё делается с большими запасами, которые в сопромате и деталях машин так и называется на неточность расчётов и незнание нагрузок.

      Чтобы выявить тот вид неисправностей, который произошёл с данным парогенератором нужно было проводить ресурсные испытания на подобных изделиях.

      Макет всегда отражает реальность, но не всегда ту, которую имел в виду конструктор. Обычно вводят какие-либо критерии подобия для сопоставления процессов происходящих испытуемым образцом и рабочим изделием.


    1. RTFM13
      13.06.2022 01:57
      +2

      Компании которые занимаются этим десятилетиями набирают опыт и разрабатывают методики.

      Прогон парогенератора возможен только если к нему подвести необходимую энергию и выполнить другие условия, это на стенде проблематично, хотя возможно.

      Обычно делают чуть с запасом, а потом смотрят износ по факту и могут чуть усилить или наоборот облегчить в следующем варианте.


  1. Goupil
    11.06.2022 15:28
    +36

    Самый страшный сон программиста или дата саентиста - код не выдает ошибку, но работает неправильно, а ты об этом даже не догадываешься, а sanity check слишком сложный для реализации.

    Тут плюс наверняка еще примешалась особенность ментальности японцев - перфекционизм в сочетании с паническим страхом брать на себя личную ответственность.


    1. Kyushu
      11.06.2022 16:57
      +4

      Ну, это, конечно, правильно. Только думаю, что именно программист менее всего должен быть ответственен за подобные проколы.


    1. strvv
      11.06.2022 22:31
      +16

      а уж как они, японцы, до этого облажались в коде тойоты, когда навешивали на 8битный, позже 16 бит контроллер всё больше и больше функций, забив на MISRA, когда стало его не хватать - второй контроллер, выполняющий функции аппаратного watchdog-а для первого, получил часть своего кода и мультипроцессорные уродцы шли в миллионы изделий, пока при определённых условиях их электронный дроссель ETCS решал что нужно топить на всю гашетку, и если пользователь не успевал выключить ключом зажигания двигатель - машина со всей своей дури вмазывалась куда-либо.

      и главное, пока у амеров дошло в анализе этого спагетти кода до такой ситуации - японцы доказывали что это пользователи дураки.

      на хабре - https://habr.com/ru/company/pvs-studio/blog/310862/

      на драйв2 - https://www.drive2.ru/l/6851305/


  1. Chupaka
    11.06.2022 16:42

    Альтернативой была замена парогенераторов, но это означало как минимум 5-7 лет на изготовление и поставку, всё это время АЭС будет стоять заглушенной.

    Откуда такие сроки? Я понимаю, что всякие ИТЭР небыстро строят, но тут-то как будто уже немного отработанные процессы должны быть...


    1. RussianWarShip
      11.06.2022 17:49
      +6

      Парогенератор АЭС это

      • Огромные размеры. Насколько я знаю, железной дорогой их не перевозят, негабарит.

      • Рассчитаны на большие температуры, что-то порядка 300 градусов.

      • Большие давления.

      • Не самые легкие в обработке сплавы.


      1. dragonnur
        13.06.2022 09:31
        -1

        Не слишком большие температуры и давления. Вы не сталкивались с паровыми котлами, наверно. Там температурка 800 (кельвинов) и давленьице 23 МПа. Парогенераторы производства таганрогского котельного завода железкой вполне себе возили, правда, кажется, секциями, не цЕликом в сборе.


        1. RussianWarShip
          13.06.2022 11:25
          +4

          А еще парогенераторы ездили по железной дороге целиком в виде паровозов и строились гораздо быстрее пяти лет. Но какое это имеет отношение к АЭС?


          1. dragonnur
            14.06.2022 08:36

            ТКЗ в том числе делал парогенераторы как раз для АЭС. Первый же нагугленный чертёж показывает, что в габарит Т они вполне себе входят.


    1. AlexanderS
      11.06.2022 18:02
      +7

      Что долго — это так только кажется пока сам лично не начнёшь) На коленке же его не соберешь! А конечный продукт состоит не только же из трубок — фланцы, вентили, датчики, заклёпки какие-нибудь хитрые и прочее и подобное. И всё штучное, всё надо изготавливать индивидуально причём из каких-нибудь особых сплавов, некоторые из которых под заказ. У конторы наверняка собственной производственной площадки нет. Это надо всё свозить на предварительную сборку, груз может быть габаритным и придётся искать и договариваться с доставкой. Да тут только на поиск поставщиков материалов и предприятий-изготовителей и общение с ними года два-три уйдёт…


    1. Woolfen
      11.06.2022 19:23

      Потому что нужно перепроектировать заново парогенератор, чтобы такой аварии не произошло. Собственно по опыту заказа сломавшихся парогенераторов выходило, что от постановки задачи до отгрузки где-то 5-7 лет и выйдет


    1. smoluks4096
      11.06.2022 20:05

      На армянской АЭС целый энергоблок забросили из-за вырезанных дыр в корпасах парогенераторов


      1. Medeyko
        12.06.2022 21:25
        +2

        Мне кажется, тут скорее наоборот. Дыры вырезали для металловедческих исследований, т.к. АЭС забросили: там же не только в парогенераторах первого блока были вырезы сделаны, там оба блока частично разукомплектовали... Восстанавливать работу второго блока пришлось уже после распада СССР из-за энергетической блокады.


  1. arTk_ev
    11.06.2022 16:50

    Ну это не ошибка в коде, а ошибка датчика и инженерная профнепригодность.Так как там должны быть регулярные тесты датчиков и код полностью покрыт тестами.


    1. AndyBuh
      11.06.2022 23:08

      "... что давало скорости потока в 2,3 раза ниже ..."

      Получается, что игнорировали более чем 2-х кратное расхождение расчета с реалиями.

      Ведь какой-то инженер смотрел на показания приборов, фиксировал результаты в журналах, писал отчеты, СРАВНИВАЛ С РАСЧЕТОМ!

      Поразительная небрежность, да еще на таком простом месте...


      1. 0serg
        12.06.2022 11:16
        +1

        Чтобы узнать реальность надо датчик как-то поместить внутрь узкой трубки находящейся в сложной сборке и желательно так чтобы это не сильно повлияло на ее параметры. А это очень сложно сделать. У блока же «в сборе» на наблюдаемые параметры это скорее всего не влияло, т.к. от скорости воды в промежуточной трубке по меркам блока в целом зависит по видимому лишь время за которое вода проходила через блок.


        1. Medeyko
          12.06.2022 11:53

          Всё же не внутри, а снаружи трубки. Но зато и датчик непонятно какой ставить и куда - там же огромное пространство, где всё одновременно течёт, где-то быстрее, а где-то медленнее. Как раз внутри трубки и легче было бы...


  1. VT100
    11.06.2022 19:09
    +4

    Внутри реактора у нас идёт ядерная реакция с выделением большого количества энергии, которая греет воду и превращает её в пар.

    В водо-водяном реакторе вода первого (реакторного) контура не кипит, т.к. находится под высоким давлением.


    Как раз это и случилось на третьем энергоблоке Сан-Онофре.…

    … монтаж точно такого же парогенератора на 2 энергоблоке (всего на АЭС было два блока) ...

    Вика пишет, что всего 3. Но первый — не действовал к описываемому моменту.


    Можно также упомянуть Fission stories. Например — перевод и продолжение этого эпизода.


    1. dragonnur
      13.06.2022 09:33

      Я вот одного не пойму. Неужели внутри контейнмента совсем не было места под ещё один парогенератор и ГЦН? Там же в целом пространства-то немаленькие. А третий ПГ снизил бы расход воды в полтора раза. По-моему, так.

      ЗЫ. Локбаум вообще умничка. Доходчиво, чётко, всё по делу, даже такой тормоз в верхнем лысом колене как я - вполне разбирает его технический английский.


  1. DedStarik
    11.06.2022 20:15

    Очень интересная статья, большое спасибо


  1. Vsevo10d
    11.06.2022 20:42
    +10

    Классный технодетектив, спасибо.

    Во время учебы в институте тоже рассчитывал разного рода теплообменники, профиль потока, ламинарный слой, турбулентность, число Рейнольдса, вот это все. Теперь вижу, какой это был детсад – "рассчитай теплообменник при встречном потоке теплоносителей и заданной температурой 40С в рубашке", по сравнению с такими лютыми практическими проблемами, как эти вибрации и гидроудары, презиционное проектирование размеров при таких гигантских масштабах установки.


  1. zaiats_2k
    11.06.2022 20:55
    +1

    То есть вибрация никак не отслеживалась? Как так вышло что о повышенной вибрации стало известно только после разрушений?


    1. Medeyko
      12.06.2022 12:04
      +4

      А как Вы её предлагаете отслеживать? Акустическими методами, как-то вылавливать этот сигнал из очень сильного шума кипящей воды?

      По всему тому, что было известно, не должно было всё сразу сломаться. Проверки планировались в момент перегрузки топлива. Ну, собственно, в этом смысле всё по плану и произошло - проблему выявили между кампаниями, и сломалось не всё, а только один канал дал течь, остальные были только повреждены, но герметичность не потеряли.


      1. dragonnur
        13.06.2022 09:37

        Ну, возможно, мода колебаний примерно равнялась длине трубы. Ну, возможно, что и нет. Так что да, технический детектив, иначе не назвать.


      1. Seawind
        13.06.2022 13:27

        Я слышал как раз про такие системы, которые по вибрациям и акустическому шуму в т.ч. диагностировали турбины на электростанциях. Со слов тех, кто рассказывал, система вполне себе определяет неисправности по появлению в спектре специфических "ноток" и будучи синхронизирована с вращением вала турбины то еще и указывала на конкретного виновника (лопатку например) который "жужжит" не так как остальные.


  1. Sun-ami
    11.06.2022 21:11

    Но как можно не заметить ошибку в скорости потока в 2,3 раза? Ведь при одинаковой температуре скорость потока прямо пропорциональна мощности реактора, это то же самое, что не заметить увеличение мощности реактора более чем в 2 раза - однозначно аварийный режим! Наверное, никто вообще не смотрел на правильность этой величины на нескольких реакторах, работавших многие годы. Это чудовищная халатность по отношению к опасному объекту.


    1. TimsTims
      12.06.2022 02:09
      +3

      Задней датой судить легко. Но проблема же здесь в итоге не в скорости потока была, и не в тестах ПО, или их отсутствии. Там проблема была в:

      Моделирование выявило, что также значительные колебания возможны и при экстремально узких зазорах из-за, возникающих в них, турбулентных потоков
      То есть ни японцы, ни американцы не знали о такой потенциальной проблеме. Более того, вряд-ли японцы вдруг решили сделать свой собственный парогенератор — ведь наверняка американцы писали подробное ТЗ — какой он должен быть. Плюс на приёмке парогенератора все дружно кивали и приняли именно такой парогенератор с такими допусками.
      Более того, по первым расследованиям они прикапывались, что зазоры местами слишком большие, хотя опять-же проблема была не в них. То есть даже зная, что у них где-то конкретно в этих трубах проблема — никто не знал даже где и как искать проблему.


    1. Medeyko
      12.06.2022 08:51
      +11

      Это не скорость потока, это скорость обтекания трубок пароводяной смесью второго контура. На действующем промышленном парогенераторе она не измеряется. Она зависит от формы трубок, характера их размещения, скорости циркуляции теплоносителя внутри парогенератора, особенностей строения сепаратора и, наверное, кучи других факторов. Поэтому это вычислительная характеристика, а не измеряемая.

      Измеряется она сложными методами в ходе верификации вычислительной модели на экспериментальных макетах. Для FIT-III снимали на видео протекание хладона-113 и сравнивали, измеряли скорости по видео и сравнивали с вычисленными.

      Вот работа, в которой написано про содержание FIT-III и её верификацию:

      Hirao, Yasuhiko & Nakamori, Nobuo & Ukai, Osamu & Kawanishi, Kohei & Tsuge, Ayao & Ueno, Takashi & Kusakabe, Takaya. (1993). Development of Thermal-hydraulic Computer Code for Steam Generator.. JSME International Journal Series B. 36. 456-463. 10.1299/jsmeb.36.456.

      Так что нет, не так всё очевидно, и не такая "чудовищная халатность", как Вам представляется.


      1. Sun-ami
        12.06.2022 12:58

        Понятно, это неточность перевода. Но скорость обтекания трубок всё равно должны были сравнивать с расчётной, хоть расчёт в этом случае не так прост, и его мог сделать только производитель парогенератора.


        1. Medeyko
          12.06.2022 20:04

          Да нет, при чём тут неточность перевода? Статья, очевидно, писалась по серии публикаций в AtomInfo.Ru, где всё нормально с переводом.

          Фразу про сравнение я вообще не понял. Речь и идёт именно о претензиях владельца станции (SCE) к производителю парогенераторов (MHI). Gap Velocity Error допустила MHI. Как я написал выше, никто не измеряет эту скорость напрямую в парогенераторах, предназначенных для промышленной эксплуатации.

          Как вы себе представляете это делать? Вот представьте себе задачку попроще - есть у вас кипящий чайник. Как вы измерите скорость потоков пароводяной смеси в каждой точке его объёма?


          1. Sun-ami
            12.06.2022 23:13

            Я не говорю о том, что рассчитанную рабочим кодом скорость обтекания нужно было сравнивать с измеренной - я говорю о том, что у MHI должно была быть методика расчета скорости обтекания в зависимости от текущей тепловой мощности реактора по крайней мере для установившегося режима, и они должны были проверить скорость обтекания, рассчитанную рабочим кодом, на соответствие рассчитанной независимо, сразу после запуска реактора, не дожидаясь проблем. Или ошибка была допущена на уровне формул, а не на уровне кода?


            1. Medeyko
              13.06.2022 00:54
              +2

              Методика обсчёта у них есть, они её и применили. Ошибка была допущена на уровне так сказать техзадания - они применили не ту модель, как будто шаг трубок был квадратный, а не треугольный.

              Нет, проверить скорость обтекания они не должны были, да и не могли это сделать. Я же выше написал, почему! И никто этого, разумеется, не делает. Да и смысла в этом нет: парогенератор уже спроектирован, построен и смонтирован. С большими запасами, и с кучей других неточностей. Уже неважно, где именно были допущены неточности, важно, работает без проблем или нет. А для этого есть ряд датчиков - температурные, радиационные. И обслуживание между кампаниями.

              Представьте себе мост. Который посчитали с учётом сопромата, и построили. Есть смысл пихать в каждый кубический сантиметр моста датчики и проверять, что напряжение везде соответствует расчётным? Нет, конечно. Эти напряжения - расчётная вещь, чтобы понять, какую форму должны иметь балки, сколько бетона надо и какой марки. А для контроля достаточно поставить несколько датчиков критических деформаций да изредка дефектоскопию проводить.

              То же и тут - это расчётная вещь, для того, чтобы выбрать конфигурацию элементов парогенератора при проектировании. На реально работающем промышленном парогенераторе эта скорость сама по себе никому не интересна.


            1. Seawind
              13.06.2022 13:32

              Я так понял, что на входе и выходе скорости расчетные, а вот в конкретных узлах внутри парогенератора есть зоны с локально завышенной скоростью потока из-за чего в этих зонах начинается вибрация трубок.


          1. dragonnur
            13.06.2022 09:42

            Лазерное или параметрическое гидроакустическое зондирование. Чайник проще уже тем, что там свободное пространство, а в ПГ полно всяких железок.


  1. v1000
    11.06.2022 22:59
    +3

    Всегда удивляло, как инженеры могут создавать высокоточные механизмы с микронными допусками, и при этом иногда ошибаться в разы.


    1. KbRadar
      12.06.2022 00:12
      +15

      "Порядочный инженер прикидывает до порядка" (с).


    1. andrey_ssh
      12.06.2022 08:14

      Жюль Верн

      Вверх дном

      (1889)


  1. Medeyko
    12.06.2022 08:10
    +21

    Хотел бы сделать несколько комментариев к статье.

    По-крупному:
    Мне кажется, что громкий заголовок всё же некорректен. Та самая "ошибка в коде" (правильнее её назвать "программная ошибка") была всего лишь одним из факторов, возможно, сыгравших роль в закрытии станции, причём не слишком уж и значительным.

    Во-первых, закрытие станции и так вполне маячило и перед инцидентом.
    Ключевой проблемой было то, что станцию обслуживало большое количество персонала, у неё были очень плохие экономические показатели, её эксплуатационные расходы превышали рыночные цены на замещающие мощности.
    Плюс к этому маячили постфукусимские расходы. И вообще, регулирование атомной отрасли только ужесточается, что приводит к ухудшению экономических показателей действующих станций.
    Кроме того в 2022 году подходил к концу проектный срок эксплуатации (т.е. срок лицензии на эксплуатацию). Продление срока эксплуатации вполне реально, но довольно муторно и тоже требует заметных расходов.
    Так что "светлого будущего" станции ждать не приходилось в любом случае.
    Проблемы с парогенераторами просто "удачно" наложились. Чтобы успеть продлить эксплуатационную лицензию, подать заявку надо было примерно в 2017 году. При этом её ещё несколько лет готовить надо. А тут получалось, что в лучшем случае замена парогенераторов состоится в 2018 году, плюс какое-то время на подготовку, на измерение параметров для заявки. В общем, получается пару лет станция должна была бы стоять законсервированной даже с новыми парогенераторами.
    Получается, что владельцы станции затеяли замену парогенераторов "впритык" по срокам - так, что если с ними что-то пойдёт не так, то не останется ничего кроме как закрыть станцию. Вот почему-то так и получилось, странно, да?

    Во-вторых, никому так и не удалось доказать, что та самая "ошибка в коде" Gap Velocity Error сыграла ключевую роль. После перерасчёта с исправленной ошибкой отношение эффективной скорости пара и критической скорости всё равно было меньше единицы. Так что непосредственной причиной такого износа трубок эта ошибка быть не могла.
    Поэтому хотя с точки зрения юридической ответственности за эту ошибку пришлось расплачиваться, но с технической точки зрения она была второстепенным фактором - именно поэтому владельцу и не присудили те самые миллиарды, которые он пытался взыскать с производителя.

    Ну и по мелочи:
    Мне кажется, что при описании работы парогенератора пропущен один важный момент, из-за которого, как мне кажется, понять это описание человек, который не знает, как работает вертикальный парогенератор, не сможет, даже посмотрев на иллюстрацию.
    Вода-теплоноситель (в том или ином агрегатном состоянии) из первого контура проходит внутри трубок, как и написано в статье. Но вот то, что потом сделан акцент на нагрев трубок, вводит в заблуждение. Трубки, конечно, нагреваются, но суть-то не в этом.
    Эти трубки снаружи окружены холодной водой-теплоносителем второго контура. Задача стенок трубок - физически разделить первый и второй контур. Поэтому они максимально возможно тонкие, и важен не их нагрев, а теплопередача от внутренней поверхности стенки к внешней. Таким образом, тепло от воды первого контура нагревает воду второго контура. Она закипает, устремляется вверх, проходит сепаратор для избежания турбулентных процессов и для концентрации пара, и покидает парогенератор через выходную трубу и идёт по ней к турбине.


    1. ilmarinnen
      12.06.2022 13:12
      +3

      Именно поэтому имхо и нужны комментарии), спасибо за дополнение, интересно было почитать.

      Если расписывать все нюансы, текст получается перегруженным обычно, а так же можно углубиться в частности и потерять нить повествования.

      Я вот вообще считаю цельным произведением <статью плюс комментарии>, а не просто <статью>.


  1. lxsmkv
    12.06.2022 09:48
    +1

    Вообще я думал, что в таких критичных проектах с максимальными требованиями к безопасности, где ошибки могут стоит тысячей человеческих жизней нет места малодушию.

    Во время выбора поставщика ещё в далёком 2004 году американцы выбрали японскую «Mitsubishi Heavy Industries» (MHI). Да, у неё не было опыта создания столь больших парогенераторов, как были необходимы, но их продукция хорошо себя зарекомендовала, да и японцы очень хотели закрепиться на рынке США.

    Вот и причина. Ошибочное решение при выборе подрядчика. К сожалению такой шаблон подряда и в корпоративной IT среде не редкость. Когда заказчик, хочеть сэкономить, а подрядчику нужен референсный проект и он готов демпинговать до посинения.

    Кстати, слышал историю, что Фольксваген в свое время отказался от бортовых компьютеров которые для них делал Panasonic. Трудности коммуникации и все такое. Этот фактор нужно всегда учитывать, особенно, если делаешь аутстафф или оффшор. Не только квалификация но и коммуникация. Как только есть языковой барьер, все, за этим "забором" будет другой, не доступный для тебя мир. И контролировать ты его нормально не сможешь.

    Я думаю, что менталитет японцам не позволяет признавать ошибки, поскольку это дело чести. А честь важнее человеческой жизни. Наверняка американцы тоже в этом плане "неправильно" с ними общались, что не дало возможности прийти к компромиссу. Вместо этого мы получили конфронтацию.


    1. Medeyko
      12.06.2022 11:47
      +2

      Про признание какой ошибки Вы говорите?

      То, что проблема стала следствием решений и действий MHI, а не SCE, было самоочевидно с самого начала, это было бессмысленно отрицать, никто и не отрицал.

      Gap Velocity Error тоже довольно быстро обнаружили и не отрицали.

      Да и конфронтации как таковой и не было. Просто вопрос того, кто с кого сколько денег сможет стрясти.

      По поводу подрядчика - честно говоря, мне кажется, в данном случае Вы ошибаетесь, и выбор подрядчика был вполне адекватным. Combustion Engineering, изготовитель оригинальных парогенераторов, загнулся в 2000 году. Вестингауз, который купил его останки, связанные с атомной промышленностью, сам-то в 1999 году стал останком когда-то огромной корпорации. И которые давно уже не строили АЭС. Так что там с компетенциями было на тот момент скорее всего гораздо хуже, чем у MHI. Да и не было такого уж революционного в том, что им заказали делать. Просто сделать парогенераторы чуть улучшенного дизайна по сравнению с тем, что был. Металл покачественнее, трубок чуть побольше. А так, всё известное, по известным стандартам. Ничто особо не предвещало того, что произошло.

      Да и подозреваю, что проблема из-за того, что MHI сделали слишком аккуратно, зазоры сделали микроскопические, из-за чего полезли физические какие-нибудь резонансные процессы, наложившиеся на турбулентность в месте слишком аккуратного стыка.


      1. lxsmkv
        12.06.2022 22:28

        Про признание какой ошибки Вы говорите?

        Вот этой, например:

        Ещё в январе 2005 года консультант японцев Пол Ланфорд при анализе результатов расчетов выразил сомнение в адекватности скорости потока и предположил, что его просто забыли умножить на какой-то коэффициент. Японцы по требованию заказчика провели проверку, но ошибок в коде не нашли, а потому вопрос спустили на тормозах, договорившись просто усилить контроль качества

        И вообще, не странно ли, тебе говорят, что результаты рассчетов не адекватны системе, а ты вместо того, чтобы понять это на техническом уровне, просто принимаешь это как каку-то критику, и пытаешься с ней разделаться бизнес-методами. Это говорит либо о недостаточной технической компетенции. Либо об особенностях в коммуникации. Hапример, может быть, что если на западе принято приглашать на встречи технических специалистов, но на востоке нет, и всю техническую критику сначала сливают какому-то пиджаку, а она должна идти прямо тех. специалистам.


        1. Medeyko
          12.06.2022 22:47
          +2

          Мне кажется, Вы преувеличиваете значение этого сомнения Ланфорда. Он же не бегал с плакатами "ужас-ужас-ужас, скорость перепутана, щас всё взорвётся!!!" Он просто прикинул, и написал, что число расходится с его прикидкой, так что стоит проверить на всякий случай.

          Это просто одно из огромного множества рутинных технических замечаний. Которые рутинно обработали, проверили, навскидку всё показалось правильно, нашли какие-то аргументы, почему такой эффект может быть, и меры (на всякий случай решили усилить контроль, чтобы уж гарантированно не могло возникнуть проблем, даже если ошибка действительно есть), которые всех более-менее устроили, в том числе и Ланфорда, и заказчика.

          Допуски и запасы в реализованном проекте были достаточны для того, чтобы всё нормально работало и при скорости потока, которую прикинул Ланфорд. При этом нельзя же просто так взять и поменять число на интуитивно прикинутое, не подтвердив нормативными документами новое число.

          Да и инженеры владельца станции спокойно отреагировали на эту ошибку, когда она была выявлена - не считали её причиной аварии. Её раздувать стали только когда поняли, что на неё можно упирать в арбитраже.

          Я ещё раз повторюсь: это неверно, будто установлено, что Gap Velocity Error повлияла на возникновение аварии. Да, если бы подсчитали изначально правильно, проект чуть-чуть бы изменили, но не факт, что при этом не произошло бы таких же проблем. Потому что причиной их стали не наблюдавшиеся ранее в индустрии физические явления.

          И ещё, замечу, что парогенератор - это не настолько критичная с точки зрения безопасности вещь, как собственно сам реактор. С точки зрения безопасности ничего серьёзного и не произошло, и не могло произойти. Даже на INES-1 с трудом тянет.


          1. lxsmkv
            13.06.2022 02:10

            Ну да, если читать источник на atominfo то там написано, что: "..вопрос о механизме остаётся нерешённой загадкой АЭС "San Onofre". Наверное, как бы ответственно не отнеслись к оценке рисков при обнаружении отклонений, это не выявило бы проблемы, потому что пост-мортем ее тоже не выявили.

            Можно ли было этого избежать? В теории наверное да, но на практике - нет. Для этого пришлось бы прислушиваться к маленьким звоночкам, к которым обычно не прислушиваются. И в отсутствии альтернативы просто не начинать проект.


  1. mayorovp
    12.06.2022 09:54
    +5

    Что такое парогенератор и зачем он нужен? [...] Это цилиндр, установленный внутри корпуса реактора и представляющий собой простой теплообменник.

    Ну нет, containment — это никак не корпус.