Разработка модели упруго-пластического поведения текстурованных изделий из сплавов на основе циркония тема диссертации и автореферата по ВАК РФ 01.04.07, кандидат наук Жук Дмитрий Игоревич

  • Жук Дмитрий Игоревич
  • кандидат науккандидат наук
  • 2020, ФГАОУ ВО «Национальный исследовательский ядерный университет «МИФИ»
  • Специальность ВАК РФ01.04.07
  • Количество страниц 139
Жук Дмитрий Игоревич. Разработка модели упруго-пластического поведения текстурованных изделий из сплавов на основе циркония: дис. кандидат наук: 01.04.07 - Физика конденсированного состояния. ФГАОУ ВО «Национальный исследовательский ядерный университет «МИФИ». 2020. 139 с.

Оглавление диссертации кандидат наук Жук Дмитрий Игоревич

Введение

Глава 1. Моделирование пластической деформации а-циркония

1.1 Циркониевые сплавы в атомной энергетике

1.2 Пластическая деформация циркония

1.2.1 Скольжение и двойникование в кристаллической структуре циркония

1.2.2 Совместная деформация поликристалла (системы зерен)

1.2.3 Формирование текстуры холодной прокатки в гексагональных металлах

1.3 Моделирование как метод научного познания

1.3.1 Метод конечных элементов и его реализации

1.3.2 Спектральные методы и быстрое преобразование Фурье

1.3.3 Применение МКЭ в приближении однородного изотропного или анизотропного тела

1.4 Базовые модели кристаллической пластичности в методе конечных элементов

1.4.1 Подход механики сплошных сред в моделировании кристаллической пластичности

1.4.2 Феноменологические модели кристаллического скольжения при пластической деформации

1.4.3 Модели пластической деформации, основанные на микроструктурных параметрах материала

1.5 Возможности по развитию методик моделирования текстуры и учета ее влияния на характеристики материалов

Глава 2. Применение моделирования кристаллической

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

2.1 Реализация моделей кристаллической пластичности

2.1.1 Подключение пользовательского материала к коммерческим программным пакетам

2.1.2 Свободно распространяемые пакеты для моделирования пластической деформации

2.2 Метод репрезентативного объемного периодического элемента

2.2.1 Граничные условия, условия периодичности и задание нагрузки на материал

2.2.2 Различные методы построения геометрии. Диаграммы Вороного

2.3 Методы исследования и описания текстуры материалов

2.3.1 Определение ориентации кристалла с помощью кватернионов

2.3.2 Методы получения набора дискретных ориентаций, соответствующих ФРО

Глава 3. Разработка методики учета двойникования при

моделировании пластической деформации материалов

3.1 Реализация учета двойникования при моделировании

3.1.1 Физические аспекты моделирования двойникования при пластической деформации

3.1.2 Математическая реализация переориентации в программном коде

3.2 Применение разработанного кода для случая прокатки

монокристалла циркония

3.2.1 Образцы из монокристаллов циркония и схема их прокатки

3.2.2 Расчетная модель прокатки монокристаллов

3.3 Результаты расчетов

3.3.1 Начальный этап при моделировании прокатки и первичные двойники

3.3.2 Дальнейшее формирование текстуры под действием скольжения и двойникования

3.3.3 Распределение интегральных параметров в процессе прокатки

3.4 Выводы

Глава 4. Анализ изменения текстуры при пластической

деформации труб из циркониевых сплавов методом моделирования кристаллической пластичности

4.1 Исходные данные для используемой модели материала

4.1.1 Параметры схемы прокатки циркониевых труб

4.1.2 Определение тензора деформаций и напряжений в различных областях трубы методом КЭ

4.1.3 Схема расчетной модели для предсказания эволюции текстуры при механической обработке

4.2 Результаты расчетов

4.2.1 Сравнение экспериментальных полюсных фигур с расчетными

4.2.2 Влияние (^-фактора и размера зерна на НДС и формирование текстуры при холодной прокатке

4.2.3 Определение свойств материала с помощью метода моделирования кристаллической пластичности

4.3 Выводы

Глава 5. Стабилизация размеров штампуемой ячейки

дистанционирующей решетки

5.1 Описание образцов и методы исследования исходных

труб-заготовок и конечных ячеек

5.1.1 Рентгеновские исследования текстуры циркониевых труб

5.2 Постановка задачи моделирования штамповки

5.2.1 Применение метода конечных элементов к исследованию влияния анизотропии на результат процесса штамповки ячеек ДР

5.2.2 Методы моделирования анизотропии сплава Zr-l% N1") штампуемых ячеек ДР и варьирования свойств

5.3 Результаты расчета

5.3.1 Остаточные напряжения в материале ячейки дистанционирующей решетки

5.3.2 Влияние текстуры исходных трубок на размеры

конечной ячейки

5.3.3 Влияние хода пуансона на размеры конечной ячейки

5.3.4 Нагрев заготовки при штамповке и его влияние на свойства материала

5.4 Выводы

Заключение

Список сокращений и условных обозначений

Список литературы

Приложение А. Математическая реализация переориентации

зерна материала в программном коде

Приложение Б. Настройки материала в DAMASK для

циркония при комнатной температуре

Приложение В. Построение полюсных фигур по результатам

расчета в DAMASK

Приложение Г. Акт о внедрении результатов работы в ПАО

МСЗ

Рекомендованный список диссертаций по специальности «Физика конденсированного состояния», 01.04.07 шифр ВАК

Введение диссертации (часть автореферата) на тему «Разработка модели упруго-пластического поведения текстурованных изделий из сплавов на основе циркония»

Введение

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

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

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

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

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

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

Для достижения поставленных целей необходимо решить следующие задачи:

1. разработка физической модели процесса двойникования гексагонального металла при его пластической деформации; доработка программного кода для полноценного учёта двойникования зерен при деформации;

2. развитие метода моделирования эволюции текстуры при пластической деформации изделий из а-циркония и сплавов на его основе;

3. моделирование штамповки ячеек дистанционирующей решетки (ДР) из тонкостенных анизотропных труб из сплава и выявление закономерностей влияния анизотропии на воспроизводимость и устойчивость конечных размеров ячеек.

Научная новизна: состоит в решении научно - технологических задач по разработке методики моделирования учета анизотропии и стабилизации размеров ячейки ДР.

1. Создана модель учета процессов двойникования в эволюции текстуры при моделировании пластической деформации методом КЭ с использованием феноменологической модели.

2. Впервые удовлетворительно проведено моделирование эволюции тек-

а

дом КЭ с использованием феноменологической модели.

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

Практическая значимость

1. результаты моделирования штамповки элементов ДР использованы в ПАО «МСЗ» для изменения настроек штамповочного автомата с учетом анизотропии исходных труб. Акт приведен в Приложении Г;

2. моделирование эволюции текстуры циркония при пластической деформации методом конечных элементов с использованием феноменологической модели может быть использована для построения зависимостей между текстурой и микроструктурой материала и его механическими свойствами и их анизотропией;

Методология и методы исследования. При проведении исследований использовались:

1. методы рентгеновского текстурного анализа, а также рентгеновский йт2"ф-метод определения остаточных макронапряжений;

2. методы моделирования пластической деформации поликристаллических материалов с использованием феноменологического закона;

3. метод моделирования КЭ штамповки материала с применением модели анизотропии Хилла и контактной задачи.

Основные положения, выносимые на защиту:

а

а также методов моделирования штамповки анизотропного материала;

2. метод учета процессов двойникования в эволюции текстуры при моделировании пластической деформации гексагональных металлов методом КЭ с использованием феноменологической модели;

3. выбор оптимальных настроек штамповочного автомата для уменьшения процента отбраковки ячеек ДР по результатам моделирования эволюции текстуры циркония при штамповке методом КЭ.

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

Апробация работы. Основные положения и результаты диссертационной работы представлялись и докладывались на следующих научно-практических конференциях и семинарах: Научная Сессия НИЯУ МИФИ (Москва, 2014 г.); Русско-Американский научный симпозиум для молодых ученых (Москва, 2015 г.); XIII Международная молодежная научная школа-конференция «Современные проблемы физики и технологий» (Москва, 2015 г.); XIII, XIV, XV и XVI Международных школ ах-конференциях «Новые материалы» (Москва, 2015 г. , 2016 г. , 2017 г. , 2018 г., 2019 г.); Конференция «Деформация и разрушение материалов и наноматериалов» (Москва, 2015 г.); Конференция «Наномеханические испытания в исследовании и создании материалов» (Альбу-фейра, Португалия, 2015 г.); Конференция «Прочность неоднородных структур ПРОСТ» (Москва, 2016 г., 2018 г.); Международный симпозиум информатики и инженерии \¥С8Е-2016 (Токио, Япония, 2016 г.); XX Международная конференция по механической обработки материалов ЕЗАРОЯМ 2017 (Дублин, Ирландия, 2017 г.); XI Международный симпозиум по моделированию процессов в поликристаллах СМСп (Дюссельдорф, Германия, 2018 г.); V Международная конференция по ядерным материалам Г^иМа!, (Сиэтл, США, 2018

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

цесса штамповки и проведены расчеты МКЭ, разработана методика учета двойниковаиия при моделировании эволюции текстуры пластической деформации поликристаллов a-циркония при механической обработке.

Публикации. По теме диссертации опубликовано 25 работы, в том числе 16 тезисов докладов в материалах конференций, 9 статей в ведущих рецензируемых научных журналах из списка ВАК РФ (из них 7 статей индексируются в перечнях Scopus и Web of Science). Список основных работ по теме диссертации приведен в конце автореферата.

Объем и структура работы. Диссертация состоит из введения, трёх глав, заключения и двух приложений. Полный объём диссертации составляет 138 страниц, включая 65 рисунков и 2 таблицы. Список литературы содержит 56 наименований.

и

Глава 1. Моделирование пластической деформации а-циркония

1.1 Циркониевые сплавы в атомной энергетике

Одним из основных направлений повышения эффективности ядерной энергетики является увеличение величины выгорания топливных элемен-тов(ТВЭЛов). Увеличение выгорания приводит к большему радиационному росту и распуханию топливных таблеток и, как результат, возрастает давление на топливные оболочки. Поэтому, чтобы предотвратить выход радиоактивных продуктов деления в теплоноситель, необходим прочный материал для оболочек. Циркониевые сплавы являются основным материалом оболочек ТВЭЛов. По многим параметрам они являются наилучшими кандидатами для этой цели. Наиболее существенный параметр - это малое сечения захвата тепловых нейтронов, что позволяет использовать циркониевые сплавы в активной зоне ядерных реакторов на тепловых нейтронах. Чистый цирконий непригоден для использования в качестве оболочки ТВЭЛов и тепловыделяющих сборок из-за низкой механической прочности при повышенных температурах [1]. Поэтому цирконий легируют различными элементами, чаще всего ниобием. В России для оболочек твэлов используется разработанный в СССР сплав Э-110 (Ът -1%МЬ), а для канальных труб - Э-125 (Ът - 2,5%Ш:>).

а

гексагональной плотно упакованной (ГПУ) структурой и с объемно центрированной кубической (ОЦК) структурой. Цирконий является аллотропным материалом, при температурах от -273 до 862 °С существует в виде а^г, а при повышении температуры переходит в в^г, устойчивый до температуры плавления [2]. При комнатной температуре 25 °С, а-Ът имеет следующий параметры решетки а = 0,3231 им с = 0,5148 им, отношение ^ = 1,593. При повышении температуры эти значения могут увеличиться в пределах нескольких процентов [3].

1.2 Пластическая деформация циркония

1.2.1 Скольжение и двойникование в кристаллической структуре

циркония

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

Скольжение дислокаций описывается системой, состоящей из плоскости в

а

турах от комнатной до 500 °С наиболее активно призматическое скольжение по плоскостям типа {1010} в направлениях (1120). Также присутствует базисное скольжение по плоскости (0001) в направлениях (1120). При увеличении напряжений может активироваться скольжение по пирамидальным плоскостям типа {1010} в направлениях (1120). Также, в некоторых случаях действует скольжение по пирамидальным плоскостям первого и второго порядка {1011} и {1121} в (с + а) направлениях (1123) [4]. Системы, действующие в а-Ът представлены на рисунке 1.1.

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

а)

б)

Рисунок 1.1 — Системы скольжения, действующие в а-Ът. [5]

ми напряжениями и касательными, действующими в определенной плоскости скольжения, существует закон Шмида (1.1).

тс = асовфсовЛ,

(1.1)

где т - касательные напряжения в плоскости скольжения, а - нормаль-Л

нормалью к плоскости скольжения, ф - угол между направлением действия нормальной силы и направлением скольжения.

Для удобства, выражение т = сввфсовЛ называют фактором Шмида. Расположение сил и углов изображено на схеме 1.2.

Касательное напряжение, при котором в определенной системе начинается движение дислокаций, называется критическим сдвиговым напряжением. Эти напряжения возможно определить как экспериментально, например, при деформации монокристаллов, так и теоретически.

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

X

поперечная плоскость

М

х

плоскость скольжения

Рисунок 1.2 Иллюстрация к закону Шмида. Указаны направление скольжения и нормаль к плоскости скольжения п, а также нормальные и

касательные напряжения. [6]

этапе формирования двойник имеет линзовидную форму, высокие напряжения концентрируются на конце линзы и это приводит к росту двойника. Если распределение напряжений в зерне однородно, то двойникование может происходить с околозвуковой скоростью, в противном случае двойник распространяется постепенно и квазистатично. Во втором случае, при снятии внешней нагрузки, рост двойника останавливается [8]. В результате двойникования формируется зерно со следующими свойствами:

1. Двойник симметричен относительно плоскости двойникования.

2. Структура двойника полностью идентична с исходной матрицей.

3. Смещение атомов при распространении двоника минимально.

При растяжении а-циркония вдоль базисной нормали активизируется системы двойникования {1121}(1011) и {1121}(1126). Если структура испытывает сжатие вдоль направления с то могут активизироваться системы {1122}(1123), а при повышенной температуре системы {1011}(1012) [9].

Системы двойникования, действующие в цирконии, представлены на рисунке 1.3

Рисунок 1.3 Схематическое изображения систем двойникования, действующих в а-Ът. Системы (а-б) действуют при растяжении структуры

вдоль оси с, (в-г) при сжатии. [10]

1.2.2 Совместная деформация поликристалла (системы зерен)

Почти всегда используемые металлы состоят из множества зерен. Даже если каждое из них представляет собой одну и ту же фазу, зерна ориентированы по-разному. Как видно из закона Шмида, поскольку зерна ориентированы по-разному относительно внешней нагрузки, то и касательные напряжения в системах скольжения различны. В результате, во-первых, в разных зернах будут действовать различные системы скольжения и двойникования, во-вторых, локальные напряжения могут существенно отличаться от внешних из-за неоднородности деформации по объему материала. Пример деформации поликристаллического материала показан на рисунке 1.4.

(в) (г)

Рисунок 1.4 Деформация поликристаллического материала под действием одноосного растяжения. И сходный материал, состоящий из отдельных зерен, (а) растягивается парой сил. Если представить, что зерна деформировались

независимо, то получим картину (б), в которой присутствуют пустоты и нахлесты. Но зерна связаны по границам (в) и деформируются совместно, поэтому на границах зерен скапливаются дефекты (г) [11].

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

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

У.у«

т = , (1.2)

£ и

где г - индекс системы скольжения, уг - скорость касательной деформации, - скорость нормальной деформации.

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

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

т = о-^ = ^ .уУ (0)

г

Активизируется та система скольжения, к которой действуют наибольшие касательные напряжения. Если зерно ориентировано таким образом, что одинаковые напряжения действуют в нескольких системах скольжения, то все системы активизируются одновременно. Согласно модели, в таком случае деформация одинакова в каждой из систем [13].

1.2.3 Формирование текстуры холодной прокатки в гексагональных металлах

Экспериментальные результаты показывают, что в процессе прокатки ГПУ металлов с-направления зерен поворачиваются от нормали прокатки в сторону направления прокатки или тангенциального направления. Все ГПУ

материалы можно разделить на три категории по соотношению с/а их кристаллических решеток. Если это соотношение больше, чем "идеальное" значение 1,633 (например, цинк, кадмий), то максимумы распределения направлений (0001) на полюсной фигуре материала после прокатки поворачиваются в сторону НП (Рис. 1.5а) на ±15-25°. В случае, еели с/а < 1,633 (например, цирконий, титан, гафний), то максимумы отклоняются от центра примерно на ±20 — 40° в сторону тангенциального направления (Рис. 1.5в). Если с/а ~ 1,633 (как в случае магния или кобальта), на полюсной фигуре [0001] максимум один в НН.

Рисунок 1.5 — Полюсные фигуры (0001) и {1120} прокатки ГПУ металлов с различными соотношениями с/а. Рисунок а) соответствует материалам с/а > 1,633, рисунок б) - с/а « 1,633, рисунок в) - с/а < 1,633 [4].

Существует большое количество работ, посвященных исследованию текстуры деформации прокатанных циркониевых труб [4; 10; 14]. Однако существует недостаток исследования динамики формирования текстуры при холодной прокатке [15; 16]. Такие работы наиболее важны для изучения процесса прокатки поскольку при изменении процесса получения изделия, промежуточные состояния также могут реализовываться в качестве конечных.

В а-Ът могут действовать большое количество различных механизмов деформации. Наиболее активным и наиболее просто активируемым меха-

ыизмом скольжения является призматическое, также, присутствует базисное скольжение и пирамидальное. Характерной особенностью материалов с ГПУ структурой является интенсивное двойникование на начальных этапах деформации. С применением оптической и электронной микроскопии, показано, что при небольшой деформации (до 20%) двойникование является основным механизмом деформации, хотя, при некоторых ориентациях зерна, оно затруднено [17; 18]. При дальнейшем увеличении степени деформации из-за наклепа и дробления зерен, двойникование затрудняется. Тем не менее, как утверждают авторы работ [4], и при высоких степенях деформации в а-Ът текстура прокатки формируется благодаря совместному действию скольжения и двойникования. В работе [15] исследуется кинетика развития текстуры прокатки на образцах йо-а

3%

варьировалось исходное состояние заготовок для прокатки.

Исследовались образцы после ковки, переплавки, прокатки, закалки или отжига. Выяснено, что рассматриваемые легирующие компоненты в небольших количествах не оказывают существенного влияния на протекания процессов тексту рообразования. Прокатка осуществлялась при комнатной температуре до 10, 20, 30, 50, 70, 90, 98 % последовательными проходами по 5 — 8% деформации.

(0001)

люсных фигур при прокатке представлена на рисунке 1.6.

а

лить на три этапа, которые прослеживаются у всех образцов из работы [15]. На первой этапе, случайные локальные максимумы двигаются к центру полюсной фигуры, нормальному направлению(НН). В конце этапа, формируется текстура типа Т1, то есть присутствуют максимумы, отклоненные от НН к направлению прокатки(НП) на ±15 — 25°. На следующем этапе текстура типа Т1 сохраняется, а максимумы растягиваются вдоль образовавшегося эллипса полюсной плотности. Наблюдается перераспределение полюсной плотности в пределах эллипса и его сплющивание по меньшей оси. На последней, третей, стадии полюсная плотность перераспределяется с плоскости стереографической проекции НН-НП в плоскость НН-ПН по эллиптическому поясу. Конечная текстура является устойчивой и имеет тип Т2.

Рисунок 1.6 — Полюсные фигуры (0002) прокатки образцов Zr — 1 %ЫЬ с предварительной (3-ковкой без отжига (а) и с часовым отжигом при

температуре 750°С (б) [15].

1.3 Моделирование как метод научного познания

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

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

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

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

1.3.1 Метод конечных элементов и его реализации

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

Похожие диссертационные работы по специальности «Физика конденсированного состояния», 01.04.07 шифр ВАК

Список литературы диссертационного исследования кандидат наук Жук Дмитрий Игоревич, 2020 год

Список литературы

1. Nagano, Н. The stress corrosion cracking performance of pure zirconium and zirconium alloys in highly oxidizing nitric acid / H. Nagano, H. Kajimura // Corrosion science. 1996. T. 38, № 5. C. 781 791.

2. Займовский, А. Циркониевые сплавы в ядерной энергетике / А. Займов-ский, А. Никулина, Н. Решетников. 1994.

3. Couterne, J. Determination des coefficients principaux d'expansion thermique du Zr а / J. Couterne, G. Cizeron // Journal of Nuclear Materials. — 1966. -T. 20, № 1. C. 75 82.

4. Tenckhoff, E. Deformation mechanisms, texture, and anisotropy in zirconium and zircaloy. T. 966 / E. Tenckhoff. ASTM International, 1988.

5. Nanoindentation of Zr by molecular dynamics simulation / Z. Lu [и др.] // Journal of Nuclear Materials. 2015. T. 467. C. 742 757.

6. Signorelli J. W. Self-Consistent Homogenization Methods for Predicting Forming Limits of Sheet Metal / J. W. Signorelli, M. de los Angeles Bertinetti // Metal forming: process, tools, design. Rosario:[sn], 2012. C. 175 210.

а

M. Blicharski, S. Nourbakhsh, J. Nutting // Metal Science. 1979. T. 13, № 9. C. 516 522.

8. Abdolvand, H. Multi-scale modeling and experimental study of deformation twinning in hexagonal close-packed materials / H. Abdolvand. Queen's University (Canada), 2012.

9. Rudling, P. Zirconium in the Nuclear Industry: Fourteenth International Symposium / P. Rudling, B. Kammenzind //. ASTM. 2006.

10. Дуглас, Д. Металловедение циркония / Д. Дуглас, А. Займовский, А. Зай-мовский. 1975.

11. Ashby, М. The deformation of plastically non-homogeneous materials / M. Ashby // Philosophical Magazine. 1970. T. 21, № 170. C. 399 424.

12. Taylor, G. I. Plastic strain in metals / G. I. Taylor // J. Inst. Metals. 1938. T. 62. C. 307 324.

13. Clausen, В. Characterisation of polycrystal deformation by numerical modelling and neutron diffraction measurements / B. Clausen. 1997.

14. Proust, G. Modeling texture, twinning and hardening evolution during deformation of hexagonal materials / G. Proust, C. Tomé, G. Kaschner // Acta Materialia. 2007. T. 55, № 6. C. 2137 2148.

15. Исаенкова, M. Кинетика и механизмы текстурообразования в альфа-цирконии при прокатке / М. Исаенкова, Ю. Перлович // ФММ. 1987.

Т. 64, № 1. С. 107.

16. Исаенкова, М. Закономерности изменения текстуры альфа-циркония при поперечной прокатке / М. Исаенкова, В. Павелко, Ю. Перлович // Атомная энергия. 1987. Т. 62, № 3. С. 168 172.

17. Tenckhoff.\ Е. The development of the deformation texture in zirconium during rolling in sequential passes / E. Tenckhoff // Metallurgical Transactions A. 1978. T. 9, № 10. C. 1401 1412.

18. Miyada-Naborikawa, L. Transmission Electron Microscopy Observations of Dislocations and Twins in Polycrystalline Zirconium / L. Miyada-Naborikawa, R. De Batisi, P. Delavignette // physica status solidi (a). 1985. T. 89, № 2. C. 521 531.

19. Катим,una, H. Универсальная программа расчётов конструкций методом конечных элементов «Зенит-95» / Н. Катилина // Современное машиностроение. 2005. № 1.

20. Strang, G. An analysis of the finite element method. T. 212 / G. Strang, G. J. Fix. Prentice-hall Englewood Cliffs, NJ, 1973.

21. Beth, T. Verfahren der schnellen Fourier-Transformation: die allgemeine diskrete Fourier-Transformation ihre algebraische Beschreibung, Komplexität und Implementierung. T. 61 / T. Beth. Teubner, 1984.

22. Hilger, S. Special functions, Laplace and Fourier transform on measure chains / S. Hilger//Dynamic Systems and Applications. 1999. T. 8. C. 471 488.

23. Numerical recipes in Fortran 77: the art of scientific computing. T. 2 / W. H. Press [и др.]. Cambridge university press, 1992.

24. Hill, R. A theory of the yielding and plastic flow of anisotropic metals / R. Hill // Proc. R. Soc. Lond. A. 1948. T. 193, № 1033. C. 281 297.

25. Hill, R. A user-friendly theory of orthotropic plasticity in sheet metals / R. Hill // International Journal of Mechanical Sciences. 1993. T. 35, № 1. C. 19 25.

26. Caddell, R. M. A yield criterion for anisotropic and pressure dependent solids such as oriented polymers / R. M. Caddell, R. S. Raghava, A. G. Atkins // Journal of Materials Science. 1973. T. 8, № 11. C. 1641 1646.

27. Deshpande, V. S. Effective properties of the octet-truss lattice material / V. S. Deshpande, N. A. Fleck, M. F. Ashby // Journal of the Mechanics and Physics of Solids. 2001. T. 49, № 8. C. 1747 1769.

28. Karafillis, A. A general anisotropic yield criterion using bounds and a transformation weighting tensor / A. Karafillis, M. Boyce // Journal of the Mechanics and Physics of Solids. 1993. T. 41, № 12. C. 1859 1886.

29. Aretz, H. New convex yield functions for orthotropic metal plasticity / H. Aretz, F. Barlat // International Journal of non-linear mechanics. 2013. T. 51.

C. 97 111.

30. An improved analytical description of orthotropy in metallic sheets /

D. Banabic [m /j,p.] // International Journal of Plasticity. 2005. T. 21, № 3. C. 493 512.

31. Linear transfomation-based anisotropic yield functions / F. Barlat [m /j,p.] // International Journal of Plasticity. 2005. T. 21, № 5. C. 1009 1039.

32. Overview of constitutive laws, kinematics, homogenization and multiscale methods in crystal plasticity finite-element modeling: Theory, experiments, applications / F. Roters [m /j,p.] // Acta Materialia. 2010. T. 58, № 4. C. 1152 1211.

33. Rice, J. R. Inelastic constitutive relations for solids: an internal-variable theory and its application to metal plasticity / J. R. Rice // Journal of the Mechanics and Physics of Solids. 1971. T. 19, № 6. C. 433 455.

34. Hutchinson, J. W. Bounds and self-consistent estimates for creep of polycrystalline materials / J. W. Hutchinson // Proc. R. Soc. Lond. A. 1976. T. 348, № 1652. C. 101 127.

35. Peirce, D. An analysis of nonuniform and localized deformation in ductile single crystals / D. Peirce, R. Asaro, A. Needleman // Acta metallurgical. 1982. T. 30, № 6. C. 1087 1119.

36. Peirce, D. Material rate dependence and localized deformation in crystalline solids / D. Peirce, R. J. Asaro, A. Needleman // Acta metallurgical. 1983. T. 31, № 12. C. 1951 1976.

37. Kleemola, H. On the strain-hardening parameters of metals / H. Kleemola, M. Nieminen // Metallurgical transactions. 1974. T. 5, № 8.

C. 1863 1866.

38. Gao, H. Geometrically necessary dislocation and size-dependent plasticity / H. Gao, Y. Huang // Scripta Materialia. 2003. T. 48, № 2. C. 113 118.

39. Arsenlis, A. Modeling the evolution of crystallographic dislocation density in crystal plasticity / A. Arsenlis, D. M. Parks // Journal of the Mechanics and Physics of Solids. 2002. T. 50, № 9. C. 1979 2009.

40. Ma, A. A dislocation density based constitutive model for crystal plasticity FEM including geometrically necessary dislocations / A. Ma, F. Roters,

D. Raabe // Acta Materialia. 2006. T. 54, № 8. C. 2169 2179.

41. Ma, A. A constitutive model for fee single crystals based on dislocation densities and its application to uniaxial compression of aluminium single crystals / A. Ma, F. Roters // Acta materialia. 2004. T. 52, № 12. C. 3603 3612.

42. DAMASK: the Düsseldorf Advanced MAterial Simulation Kit for studying crystal plasticity using an FE based or a spectral numerical solver / F. Roters [и др.] // Procedia Iutam. 2012. T. 3. C. 3 10.

43. Hill, R. Elastic properties of reinforced solids: some theoretical principles / R. Hill // Journal of the Mechanics and Physics of Solids. 1963. T. 11, № 5. C. 357 372.

44. Препарата, Ф. Вычислительная геометрия: введение / Ф. Препарата, М. Шеймос. 1989.

45. Кристаллография, рентгенография и электронная микроскопия / Я. Уман-ский [и др.] // Металлургия. 1982. Т. 632.

46. Бородкина, М. М. Рентгенографический анализ текстуры металлов и сплавов / М. М. Бородкина, Э. Спектор. Металлургия, 1981.

47. Texture and anisotropy: preferred orientations in polycrystals and their effect on materials properties / U. F. Kocks [и др.]. Cambridge university press, 2000.

48. Eisenlohr, P. Selecting a set of discrete orientations for accurate texture reconstruction / P. Eisenlohr, F. Roters // Computational Materials Science. 2008. T. 42, № 4. C. 670 678.

49. Determination of the yield loci of four sheet materials (AA6111-T4, AC600, DX54D • Z, and H220BD • Z) by using uniaxial tensile and hydraulic bulge tests / H. Alharthi [и др.] // The International Journal of Advanced Manufacturing Technology. 2018. T. 98, № 5 8. C. 1307 1319.

50. Исаенкова МГ Перлович, Ю. Влияние технологических параметров изготовления оболочечных труб на их кристаллографическую текстуру / Ю. Исаенкова МГ Перлович // Цветные металлы. 2014. № 12.

С. 62 67.

51. ВЛИЯНИЕ ДЕФОРМАЦИОННО-ТЕРМИЧЕСКИХ ПАРАМЕТРОВ ПЛАСТИЧЕСКОЙ ОБРАБОТКИ НА ФОРМИРОВАНИЕ ТЕКСТУРЫ ТРУБ ИЗ СПЛАВА ЦИРКОНИЯ ZR-2, 5% NB ПРИ ГОРЯЧЕМ ПРЕССОВАНИИ / А. Кабанов [и др.] // Машиностроение и инженерное образование. 2017. № 4. С. 27 33.

52. Texture effect on mechanical properties anisotropy of products from Zr-based alloys / M. Isaenkova [и др.] // ЮР Conference Series: Materials Science and Engineering. T. 82. IOP Publishing. 2015. C. 012092.

53. Springback analysis of AA5754 after hot stamping: experiments and FE modelling / A. Wang [и др.] // The International Journal of Advanced Manufacturing Technology. 2017. T. 89, № 5 8. C. 1339 1352.

54. Effect of Constitutive Equations on Prediction Accuracy for Springback in Cold Stamping of TRIP1180 / K.-Y. Seo [и др.]. 2017.

55. Mechanisms of the texture influence on the corrosion behavior of Zr-alloy cladding tubes / Y. A. Perlovich [и др.] // Inorganic Materials: Applied Research. 2015. T. 6, № 3. C. 259 266.

56. Логинов, Ю. Метод определения параметров Кернса / Ю. Логинов, В. Котов, В. Смирнов // Заводская лаборатория. Диагностика материалов. 2010. Т. 76, № 11. С. 39 43.

Приложение А

Математическая реализация переориентации зерна материала в

программном коде

Листинг А.1 Листинг программы на языке Python для переориентации зерна и реализации критерия активации двойника материала

# !/usr/Ып/env python3 #############################################################

# version = 2019-01-31 (YYYY-MM-DD)

#

#

#############################################################

import csv, os, math, shutil import numpy as np

io'

def clamp(n, minn , maxn) :

return max (min (maxn , n) , minn)

def QConj(q) :

q = np . append (q [0] , -1 * q[l:4]) return q

def QToEuler(q):

# converts quaternion to Euler angles of Bunge notation q = QConj(q)

res.euler = np.ndarray(shape=(3,), dtype=float) res_euler[l] = math . acos (1 .0 - 2.0 * (q[l]**2 + q[2]**2)) if abs(res_euler[l]) < le-6:

res.euler [0] = math.copysign (2.0 * math.acos(clamp (q

[0] ,-1, 1)) , q [3] )

res.euler [2] = 0.0 else :

30 res.euler [0] = math . atan2 ( + q [0] *q [2] +q [1] *q [3] , q[0]*q

[1] - q[2] * q [3] )

to - = r [0] * q [0] - r[l] * q[l] - r [2] * q[2] - r [3] * q[3]

tl - = r [0] * q[l] + r[l] * q [0] - r [2] * q[3] + r [3] * q[2]

40 t2 - = r [0] * q[2] + r[l] * q[3] + r [2] * q [0] - r [3] * q[l]

t3 - = r [0] * q[3] - r[l] * q[2] + r [2] * q[l] + r [3] * q [0]

45

50

55

res.euler [2] = math . atan2 (-q [0] *q [2]+q [1] *q [3] , q[0]*q [1] + q [2] * q [3] )

if res.euler [0] < 0: res.euler = res.euler + np . array([2*np pi, 0, 0]) return res.euler

def QMult(q, r) :

# multiplications of two quaternions

t = np.array([tO, tl, t2, t3], dtype=float) return t

def QMormalize(q):

sq.norm = math . sqrt (q [0] ** 2 + q [1] ** 2 + q [2] ** 2 + q [3] ** 2)

q_normalized = np . array ([q [0] / sq.norm , q[l] / sq.norm , q [2] / sq.norm, q[3] / sq.norm], dtype=float) return q.normalized

def MillerToEuler(ts):

# converts miller indices of system to rotation in Euler angles

# 33 13 23 31 32 row-column

a33 = ts [7] / math. sqrt (ts [4] ** 2 + ts [5] ** 2 + ts [7] **

2)

a23 = ts [5] / math. sqrt (ts [4] ** 2 + ts [5] ** 2 + ts [7] **

2)

a31 = ts [3] / math. sqrt (ts [0] ** 2 + ts [1] ** 2 + ts [3] **

2)

al3 = ts [4] / math. sqrt (ts [4] ** 2 + ts [5] ** 2 + ts [7] **

2)

all = ts [0] / math. sqrt (ts [0] ** 2 + ts [1] ** 2 + ts [3] **

2)

n = np . array ([ts [0] , ts [1] , ts[3]])

b = np . array ([ts [4] , ts [5] , ts[7]])

t = np.cross(n ,b)

a32 = t [2]

70

75

80

85

90

95

al2 = t [0]

if abs(a33 - 1.0) < le-2: PHI = 0

phil = math.atan2(al2, all) / 2 phi2 = - phil else :

PHI = math.acos(a33) sinPHI = math.sin(PHI)

phi2 = math.atan2(al3 / sinPHI, a23 / sinPHI) phil = math.atan2(a31 / sinPHI, a32 / sinPHI) return np.array([phi 1, PHI, phi2])

def EulerToQ(eu) :

# converts Euler angles of Bunge notation to quaternion c = math.cos(0.5 * eu [1] ) s = math.sin(0.5 * eu [1] ) sigma = 0.5 * (eu[0] + eu [2]) delta = 0.5 * (eu[0] - eu [2])

q = np.array([-l * c * math.cos(sigma), s * math.cos(delta) s * math.sin(delta), c * math.sin(sigma)]) QConj(q) return q

def VectorToQ(vector , angle):

# compose quaternion from axis of rotation and rotation ang I e

sin_rot_angle2 = math.sin(angle / 2) cos_rot_angle2 = math.cos(angle / 2) vector = vector / np.linalg.norm(vector)

q = np.array([cos_rot_angle2 , vector [0] * sin_rot_angle2 vector [1] * sin_rot_angle2 ,

vector [2] * sin_rot_angle2])

q = QNormalize(q) return q

def QToVector(q) :

# get vector of rotation from quaternion a = 2 * math. acos (q [0]) / ((1 - q[0] ** 2) ** 0.5) vector = a * q [1:4] return vector

110

115

120

125

130

def HexToCart(vec):

# converts hexagonal indices to cartesian with respect to c/ a ratio if len (vec ) ! = 4 :

raise ValueError('[hkil] vector expected.') a = 3.232 b = 3.232 c = 5.147 alpha = 1.5708 beta = 1.5708 gamma = 2.0944

x = a * math.sin(beta) * vec [0] + b * math.sin(alpha) * math .cos(gamma) * vec [1] y = b * math.sin(alpha) * math.sin(gamma) * vec [1] z = a * math.cos(beta) * vec [0] + b * math.cos(alpha) * vec [1] + c * vec [3] return np.array([x, y, z])

needed_res = ['pos', 'eulerangles', 'orientation', '

accumulatedshear_twin','shearrate_twin', 'totalvolfrac_twin

'texture', 'resolvedstress_twin', 'elem'] # variables to extract from results res_ind = list () res_names = list ()

twin_ind = np.array([

# Miller indices for hexagonal twinning systems

# dir(uvw) normal (?) (hkl )

[1, -1, 0, 1, -1, 1, 0, 2, ], # <-10.1>{10.2} shear =

(3-(c/a) "2) / ( sqrt (3) c/a)

[-1, 0, 1, 1

[0, 1, -1, 1,

[-1, 1, 0, 1

[1, 0, -1, 1,

[0, -1, 1, 1, #

[2, -1, -1, 6,

1/(c/a)

[-1, 2, -1, 6

[-1, -1, 2, 6

1 , 0,-1, 2 , ] ,

0,-1, 1, 2, ], # green 1,-1, 0, 2 , ] ,

-1 , 0 , 1 , 2, ] ,

0, 1,-1, 2, ] ,

-2, 1, 1, 1, ], # <11.6>{-l-l. 1} shear =

-2 1

1 -2

1, 1 1, 1

145

150

155

160

165

170

175

[-2 , 1 [1, -2,

[1 , 1 , #

# l-l,

1 1 , -2 ,

6 , 6 , 6 ,

2 , -1 ■1 , 2 , ■1, -1,

-1 -1 , 2 ,

1, 1 , ] , , ] ,

1, 0, -2,

-1, 1, 0, 1, ], ## <10. -2>{10. 1} shear

(4(c/a) ~2-9)/(4 sqrt (3) c/a)

# 11, 0, -1, -2, 1, 0 , -1 , 1, J,

# [0, -1, 1, -2, o, -1 1 , 1, J, # comment

# [1, -1, 0, -2, 1, -1 o , 1, J, # orange

# [-1, 0, 1, -2, -1 o, 1, 1, 1

# [0, 1, -1, -2, o, 1 , -1 , 1, J,

#

[2, -1, -1, -3, 2 , - 1, -1 , 2, ] , # <11 . -3>{11

c/a) "2-2)/(3 c/a)

[-1, 2, -1, -3, -1 2 , -1 , 2, ] ,

[-1, -1, 2, -3, -1 -1 , 2 , 2 , ] ,

[-2, 1, 1, -3, -2 1 , 1 , 2 , ] ,

[1, -2, 1, -3, 1 , - 2 , 1 , 2 , ] ,

[1, 1, -2, -3, 1 , 1 , -2 , 2 ]

] , np.int32)

2((

twin_rot_axes = np.array ([

# rotation axes ■ for twinning systems in zirconium

[0, 0 . 77851688, - 0 . 62762367 , 0] , # spec 1

[0, 0 . 15425145 , 0.98803162 , 0] ,

[0, -0 . 15425145, - 0.98803162 , 0] ,

[0, 0 . 93279135 , 0.36041685 , 0] , # spec 1

[0, -0 . 77851688 , 0 . 62762367 , 0] ,

[0, -0 . 93279135, - 0.36041685 , 0] ,

[0, -0 . 34192419 , 0 . 93972754 , 0] ,

[0, -0 . 64287674, - 0.76596965 , 0] ,

[0, 0 . 64287674 , 0 .76596965 , 0] ,

[0, 0 . 98479249 , -0.1737347 , 0] , # spec 1

[0, 0 . 34192419, - 0.93972754 , 0] , # spec 2

[0, -0 . 98479249 , 0.1737347 , 0] ,

[0 .838986 [0.618827 [0.248989 [0.248989 [0.618827 [0.838986

-0 .112709 , 0.342130 , -0 .470535 , 0 .470535 , -0 .342130 , 0.112709 ,

-0 .470535 , -0.342130 , -0 . 112709 , -0 . 112709 , -0 .342130 , -0.470535 ,

0.248989] , -0 .618827] , 0.838986], -0 .838986] , 0.618827] , -0.248989]])

sys_rot_angle = np.array ([1.487, 0.608, 1.121]) # rotation

angles for twinning systems in zirconium sys_crss = np.array([50, 30, 500])* 10**7*2 # critical resolved

shear stresses for twin systems texture_filter = False

190

195

200

205

210

1st = os.listdir ( ' . ') 1st.sort () #print (1st)

for directory in ['ebsd', 'twinned_ebsd ' , 'mat_conf', ' twinned_mat_conf '] : if os.path.isdir(directory):

shutil.rmtree(directory, ignore_errors=True) # clear previous output os.makedirs(directory)

for filename in 1st: # loop over result files

if filename.endswith('.txt'):

with open(filename , 'rt') as f:

headersize = int(f.readline() [0]) for i in ranged, headersize): next (f)

reader = csv.reader (f , delimiter^' ', skipiniti alspace = True)

lineData = list ()

cols = next(reader) # list of variables in results #print (cols)

for col in cols :

lineData.append(list ()) res_matrix = list () for result in needed_res: res_matrix_ind = 0 for col in cols :

if col.endswith(result) :

res_ind.append(cols.index (col)) res_names.append(col) res_matrix_ind = res_matrix_ind + 1 res_matrix.append(res_matrix_ind)

225

230

235

240

for i in range(len(needed_res)):

exec(needed_res [i] + ' = np.ndarray(shape = (' + str(res_matrix[i]) + ',), dtype=float)') # create array for result

for line in reader :

for i in range(len(needed_res)):

data_line = np.ndarray(shape=(res_matrix[i

],), dtype=float)

for j in range(res_matrix[i]):

vector.var = ['totalvolfrac.twin', '

texture ' , ' elem ' ] vector.var) :

if any (needed_res [i] in s for s in

data_line[j] = float(line [cols.index (needed_res [i])]) # for vector results

else :

data_line[j] = float(line [cols.index (str(j+l) + + needed_res[i])]) # for matrix results

exec(needed_res[i] + ' = np.vstack([' + needed_res [i] + data_line]) ')

# print (eulerangles[-1, :])

# print (orientation[-l, :])

# print(QToEuler(orientation[-1, :]) * 57.2958)

# print ( '------------------------')

for i in range(len(needed_res)):

exec(needed_res[i] + ' = np.delete(' + needed_res[i] + (0), axis=0)') # deletes first empty line in array

rotation_angles = np.array ([0] , dtype = float) if filename.endswith('incOOOO.txt'):

orientationO = orientation # stores initial

orientations

orintation_twd = np.ndarray(shape = (4,) , dtype = float) twinned_grain_count = np.zeros((18,), dtype=int) # orientation - orientationO # uncomment to show only twinning

for i in range(len(orientation [: , 0])): twinned_ori = orientation [i, :]

250

255

260

265

for j in range(len(accumulatedshear_twin [0, :]))

if totalvolfrac_twin[i] > 0.4 and abs( resolvedstress_twin [i , j]) > sys.crss [j // 6] \

and abs(resolvedstress_twin[i, j]) = = max(abs(resolvedstress_twin [i , 0:12])):

# j = np.random. randint (6)+6 #( j // 6 )

* 6 +

# j-6 # for development purposes

# print (twin_sys_vec)

twin_sys_vec = twin_rot_axes[j] # axis of rotation in reference coordinate system

abs_tq = QMult(QConj(orientation [i , :]), QMult(twin_sys_vec , orientation [i , :])) # axis of rotation in grain coordinate system

twin_q = VectorToQ(abs_tq[1:4], sys_rot_angle[j // 6]) #*np. random. randint (11)/10)# sys_rot_angle[j // 6] # uncomment to show twinning paths

twinned_grain_count [j] = twinned_grain_count [j] + 1

rotation_angles = np.append( rotation_angles, abs(sys_rot_angle[j // 6] * 57))

# rot_q - VectorToQ (twin_sys_vec, rot_angle) # additional rotation if needed

# add_vec - QMult (orientation[i, :], QMult (np. array([0, 0, 0, 1]), QConj(orientation[i, :])))

# add_q = VectorToQ (add_vec [1:4] , 90/57) twinned_ori = QMult(orientation[i, :],

twin_q)

57)

add_q)

cont inue

# add_q = Vect orToQ (np . array ([0, 0, 1]), 90 /

# twinned_ori - QMult (QNormalize(twinned_ori), orintation_twd = np.vstack([orintation_twd ,

twinned_ori])

orintation_twd = np.delete(orintation_twd , (0), axis

= 0)

print(filename, ' Avg. twin rotation = np.mean( rotation_angles) , ' deg')

print(filename, ' Twinned elements by systems = twinned_grain_count)

280

285

290

295

57.2958

geom_dim = round(len(pos [: , 0]) ** (l / 3)) ## Twinned euler angles output

filename2 = ' twinned_ebsd/' + filename [:-4] + ' .ebsd f2 = open(filename2 , 'w')

f2.write("x y z phil PHI phi2\n") twin_diff = np.array([0], dtype=float) euler_diff = np.ndarray(shape=(3,), dtype=float) for i in range(0,len(pos[:, 0])):

twinned_euler = QToEuler(orintation_twd[i, :]) *

dif_vector = twinned_euler - eulerangles [i, :] if not any(abs(t) > 300 for t in dif_vector):

twin_diff = np.append(twin_diff, np.mean(abs

(dif.vector)))

dif.vector])

euler_diff = np.vstack([euler_diff ,

#if (not any(abs(t) > 300 for t in dif_vector)) and any ft > 10 for t in dif_vector):

#print(i, dif_vector) if texture [i] == 1:

f 2 . write (" °/06 . 2f °/0 6 . 2 f °/0 6 . 2 f °/,6.2f °/0 6 . 2 f °/06 . 2 f \ n" I (pos [i , 0] , pos[i,l], pos [i , 2] , twinned_euler [0] , twinned_euler [1] , twinned_euler [2])) f2.close ()

#print (filename, 3 Euler difference - 3, np.mean ( twin_diff), 3 deg3)

#print (filename, 3 Euler difference average by comp . - 3, np . mean (eul er_diff [: , 0]) , 3 deg 3, np . mean (eul er_diff [:, 1]) , 3 deg 3, np . mean (euler_diff [: , 2]), 3 deg 3)

## Not twinned euler angles output filename3 = 'ebsd/' + filename [:-4] + '.ebsd' f3 = open(filename3 , 'w')

f3.write("x y z phil PHI phi2\n") for i in range(0, len(pos[:, 0])):

if texture [i] == 1 or texture_fiIter == False: f 3. write (11 °/,6.2f °/0 6 . 2 f °/0 6 . 2 f °/,6.2f °/06 . 2 f °/06 . 2 f \ n " I (

pos[i, 0], pos [i , 1], pos[i, 2], eulerangles [i , 0] , eulerangles [i , 1], eulerangles [i , 2]))

310

315

320

325

f3.close ()

## Twinned quaternion output

filename_tw_q = 'twinned_ebsd/' + filename [ :-4] + f_tw_q = open (filename_tw_q , 'w')

f_tw_q.write(" x y z Quat real

Quat i Quat j Quat k\n")

for i in range(0, len(pos[:, 0])):

if (texture [i] == 1 and max(texture) < 3) or texture_filter == False or (texture [i] > geom_dim ** 2 and texture [i] < (geom_dim ** 3 - geom_dim ** 2)):

f_tw_q. write (11 °/,6.2f °/,6.2f °/,6.2f °/,9.5f °/09 . 5 f °/09 . 5 f °/09 . 5 f \ n " I (

pos[i, 0], pos [i , 1], pos[i, 2], orintation_twd [i , 0], orintation_twd [i , 1], orintation_twd [i , 2], orintation_twd [i , 3])) f_tw_q.close ()

## Normal quaternion output

filename_tw_q = 'ebsd/' + filename [:-4] + '.q' f_tw_q = open (filename_tw_q , 'w')

f_tw_q.write(" x y z Quat real

Quat i Quat j Quat k\n")

for i in range(0, len(pos[:, 0])):

if (texture [i] == 1 and max(texture) < 3) or texture_filter == False or (

texture [i] > geom_dim ** 2 and texture[i ] < (geom_dim ** 3 - geom_dim ** 2)):

f_tw_q. write (11 °/,6.2f °/,6.2f °/,6.2f °/,9.5f °/09 . 5 f °/09 . 5 f °/09 . 5 f \ n " I (

pos [i , 0], pos [i , 1], pos[i, 2], orientation [i , 0], orientation [i , 1],

orientation[i, 2], orientation [i , 3])) f_tw_q.close()

## Material. config output for DAMASK simulation

restart

filename_mc = 'twinned_mat_conf/' + filename [:-4] + '.material.config'

f_mc = open (filename_mc , 'w')

f _mc . write (" # Orientations from DAMSK output file °/0s \n" •/. f ilename [:-4] )

340

345

350

f_mc .write ("#-------------------#\n<microstructure >\

n#-------------------#\nM)

for i in range(0, len(pos[:, 0])):

f_mc . write (" [Grain°/O05d]\ncrystallite l\n" °/0 (

elem [i]))

f_mc.write("(constituent) phase 1 texture °/,d fraction 1 . 0\n" I (elem[i]))

f_mc .write ("#-------------------#\n<texture>\n

#-------------------i\n")

for i in range(0, len(pos[:, 0])):

twinned_euler = QToEuler(orintation_twd[i, :]) *

57.2958

if twinned_euler [2] < 0: twinned_euler [2] = twinned_euler [2] + 360

f_mc . write (" [Grain°/O05d]\n" °/0 (elem[i])) f_mc . write (" (gauss) phil °/,6.2f Phi °/,6.2f phi2 °/0 6.2 f scatter 0.0 fraction 1.0\n" (

twinned_euler [0] , twinned_euler [1] , twinned_euler [2]))

f_mc . close ()

## Material.config output for DAMASK simulation

restart

filename_mc = 'mat_conf/' + filename [:-4] + material.conf ig '

f_mc = open (filename_mc , 'w')

f _mc . write (" # Orientations from DAMSK output file °/0s \n" •/. f ilename [:-4])

f_mc .write ("#-------------------#\n<microstructure >\

n#-------------------#\nM)

for i in range(0, len(pos[:, 0])):

f_mc . write (" [Grain°/O05d]\ncrystallite l\n" °/0 (

elem [i]))

f_mc.write("(constituent) phase 1 texture °/,d fraction 1 . 0\n" % (elem[i]))

f_mc .write ("#-------------------#\n<texture>\n

#-------------------#\n")

for i in range(0, len(pos[:, 0])):

euler = QToEuler(orientation[i, :]) * 57.2958 if euler [2] < 0: euler [2] = euler [2] + 360 f_mc . write (" [Grain°/O05d]\n" °/0 (elem[i]))

f_mc .write (" (gauss) phil °/,6.2f Phi °/,6.2f phi2 °/0 6.2 f scatter 0.0 fraction 1.0\n" ( 360 euler [0] , euler [1] , euler[2]))

f_mc.close ()

## Geometry output for DAMASK simulation restart 365 filename_geom = 'mat_conf/continue . geom ' f_geom = open(filename_geom , 'w')

f _geom . write (" 6 header\ngeom_f rom_twin_rot at e\ngrid a °/0d b °/0d c °/0d\nsize x 1.0 y 1.0 z 1.0\n" °/0 (geom_dim , geom_dim , geom_dim) +

"origin x 0.0 y 0.0 z 0.0\nhomogenization 1\ nmi crostructures 0/.d\nM °/0 (geom_dim ** 3)) for i in range(0, geom_dim ** 2): for j in range(0, geom_dim):

f_geom. write ("0/04d " °/0 (i * geom_dim + j + 1) ) f_geom.write("\n") f_geom.close()

Приложение Б

Настройки материала в DAMASK для циркония при комнатной

температуре

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.