Возможности программы

На главную страницу сайта

Назад, на численное моделирование

Описание возможностей программы

  1. Отображение результатов расчетов
  2. Использование различных материалов
  3. Вероятностный подход
  4. Разрушение
  5. Граничные и контактные условия
  6. Сохранение результатов расчетов
  7. Построение трехмерной сетки
  8. Примеры расчетов

Программа в целом и отдельные модули постоянно совершенствуются поэтому данное описание будет обновляться. Если Вас что-то заинтересовало, пишите: s300ngs.ru, Сергей Пашков или по аське ICQ UIN 117631343.
Практически все, что здесь описано, при необходимости может быть выделено в виде отдельных модулей и интегрировано в другие программы/программные комплексы. С удовольствием помогу всем желающим, однако при условии, что ими будет сформулировано достаточно корректное техническое задание по сопряжению модулей. Будем считать, что это мой вклад в обучение командной работе программистов, специализирующихся на данной тематике. К сожалению, подавляющее число выпускников (а тем более немолодых сотрудников), даже являющихся хорошими программистами и специалистами в предметной области, не умеют работать в группе (формулировать ТЗ, проектировать архитектуру с учетом требований остальных участников группы, оформлять код таким образом, чтобы было понятно всем и т.д.). А сейчас эти требования выходят на первый уровень, пока человек не научится работать в командных проектах, вреда от него больше, чем пользы…

1. Отображение результатов расчета

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


Рисунок 1. Пример расчета - пробитие преграды.

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

 


Рисунок 2. Распределение скорости в задаче детонации цилиндрического заряда ВВ.

Параметры сечения настраиваются в диалоговом окне, вызываемом из контекстного меню, рисунок 3.


Рисунок 3. Диалоговая форма изменения параметров сечения

3) Вывод графика изменения перечисленных выше величин вдоль какой-либо линии в сечении (см. рисунок 4). График вызывается из контекстного меню.


Рисунок 4. График изменения скорости среды вдоль линии в сечении.

4) Запись процесса в виде видео-файла (для рисунков типа 1-2). Возможно одновременно отслеживать процесс в нескольких ракурсах, сечениях, режимах отображения. Ограничение: не получилось реализовать ДОЗАПИСЬ в avi-файл (т.е. открыть файл и записать в конец), поэтому процесс записывается в виде bmp-файлов покадрово; в любой момент времени возможна сборка этих картинок в видеофайл.

5) Распределение осколков по массе. Возможен вывод гистограммы (в координатах "масса осколков данного размера/размер осколка" (рисунок 5,а) и "масса осколка/номер осколка"(рисунок 5,б)) отдельно для каждого элемента конструкции, если в процессе разрушения участвует несколько объектов. Фрагменты, составляющие более 50% от массы конструктивного элемента, игнорируются (считаются неразрушенной частью корпуса/основания).

Рис. 5.1. В координатах "масса осколков данного размера/размер осколка"

 

Рис. 5.2. В координатах "масса осколка/номер осколка"

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


Рисунок 6. Динамика изменения выбранных величин

Планируемые возможности:
1) Выгрузка данных для отображения и анализа их в специализированных программных комплексах (типа TechPlot, Surfer и т.д.).

2. Использование различных материалов

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

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

3. Вероятностный подход

Реализованные возможности:
1) Модифицированный генератор случайных чисел. Выдает случайную величину, подчиняющуюся указанному закону распределения. Функция распределения задается в виде f(x) (для данного алгоритма нормированность от функции не требуется!) и интервала, в котором она определена. Ограничение: функция распределения не может принимать бесконечные значения (например, f(x)=1/sqrt(x) в точке х=0).
2) Распределение коэффициента разрушения (а при желании и любого другого параметра) по нормальному закону распределения (а при желании - по произвольному закону распределения) позволяет моделировать начальные неоднородности и дефекты в твердых телах.
3) Автоматическая генерация тетраэдрической сетки в произвольной области, ограниченной триангулированной поверхностью создает неструктурированную сетку, что, в какой-то степени, моделирует неоднородности реального материала (наличие зерен, аморфную структуру).

4. Разрушение

Реализованные возможности:
1) Фрагментация с использованием метода раздвоения сетки по узлам. При образовании микротрещин и объединении их в макротрещины образующиеся поверхности описываются явно, что позволяет моделировать разлет осколков и их взаимодействие друг с другом.
Ограничения: Достаточно проработаны лишь деформационные критерии; разработка и введение критериев разрушения по напряжениям, с механизмом накопления поврежденности, с более-менее адекватным описанием всех типов разрушения (откол, разрыв, сдвиг/скол), требует специализированных экспериментальных данных.

2) Фрагментация с использованием метода локальной перестройки разностной сетки (только в 2D). Результаты получаются гораздо лучше, чем при использовании метода раздвоения по узлам (см. диссертацию), но для 3D это реализовать пока нереально.

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

5. Расчет граничных и контактных условий

Реализованные возможности:
1) Взаимодействие произвольных тел по условию непротекания и идеального скольжения
2) Моделирование жесткого закрепления любых поверхностей, ограничивающих тело, при необходимости перемещения фиксируются только в одном направлении.
3) Моделирование абсолютно жесткой границы, со скольжением и возможностью отскока. Ограничение: трение при скольжении пока не реализовано.
4) Особый алгоритм расчета граничных элементов при моделировании полупространства, который позволяет уменьшить область расчета. При данном алгоритме расчета волны проходят сквозь граничные элементы, почти не преломляясь и почти не отражаясь внутрь расчетной области. Ограничение: Необходимы дополнительные исследования по оценке эффективности данного алгоритма в различных задачах.

Планируемые возможности:
Реализация контактных условий с трением.

6. Сохранение результатов расчета

Реализованные возможности:
1) Можно записать состояние расчета в произвольный момент времени. При необходимости, любой записанный расчет можно продолжить, нажав на кнопочку "Загрузить расчет" и выбрав нужный из списка.
2) Автосохранение расчета. Периодичность автосохранения произвольна, настраивается интерфейсно.
3) Автосохранение в моменты времени, заданные в виде списка
, например: {10мкс, 20мкс, 50мкс, 100мкс}.

7. Построение трехмерной сетки

Реализованные возможности:
1) Разбиение произвольной трехмерной поверхности на треугольники (триангуляция). Поверхность должна быть задана аналитически (точнее, программно в виде f(x,y,z)=0). Дополнительно должна быть задана линия, сквозь которую проходит поверхность (на которую она "натянута"), точнее, последовательность узлов на этой линии. Возможна триангуляция многосвязных областей (рисунок 6).

Реализована пост-оптимизация поверхностной треугольной сетки.

Реализовано построение поверхностной сетки для произвольной поверхности вращения, представленной в виде набора сегментов, и точек их сопряжения. Каждый сегмент представлен в виде функции R(z) и ее производной. Сегменты в виде плоскостей, перпендикулярных оси вращения, определяются автоматически. Для цилиндрических сегментов достаточно указать радиус.

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


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

2) Создание расчетной тетраэдрической сетки в произвольной области по заданной поверхностной треугольной сетке. Возможно построение сетки для многосвязных областей (т.е. представленных в виде нескольких поверхностей, например, объекты с внутренними полостями, см. рисунок 6). Ограничения: на большом числе ячеек процесс достаточно длительный и может быть геометрически неустойчивым, равномерность генерируемых ячеек на отдельных участках может быть недостаточной.

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


Рисунок 7. Измельчение сетки: расположение дополнительных узлов

4) Создание регулярной тетраэдрической сетки в области, представленной в виде параллелепипеда (возможно, деформированного). Сетка создается по схеме типа "конверт" (см. рисунок 8).


Рисунок 8. Регулярная сетка в парралелепипеде, минимальный элемент

5) Создание регулярной тетраэдрической сетки в области, представленной в виде цилиндрической оболочки (возможно, деформированной, рисунок 9). Сетка создается по схеме типа "конверт" (см. рисунок 8).


Рисунок 9. Регулярная сетка в цилиндрической оболочке

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


Рисунок 10.1. Минимальный элемент


Рисунок 10.2. Регулярная сетка в цилиндре

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


Рисунок 11. Регулярная сетка в пирамиде с треугольным основанием

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


Рисунок 12.1. 1/8 часть сферы


Рисунок 12.2. Регулярная сетка в сфере

9) Создание регулярной тетраэдрической сетки в области, представленной в виде конуса. Сетка создается путем отображения наклонных пирамид на на сектора конуса, рисунок 13. В радиальном сечении сетка представляет из себя шестиугольник, отображенный на круг (т.е. имеет 6-ти лучевую симметрию). При желании число секторов можно взять отличным от 6-ти.


Рисунок 13. Регулярная сетка в конической пирамиде

9) Дополнительные операции с сеткой: удаление фрагмента сетки и склейка сетки, представленой в виде двух соприкасающихся объектов. При склейке сетки (рисунок 14.2) две области (в которых сетка может быть сгенерирована по совершенно разным алгоритмам), в области контакта обязаны совпадать по узлам (рисунок 14.1). Удаление фрагмента (рисунок 14.3) происходит на основе произвольной функциональной зависимости f(x,y,z). Комбинация этих операций позволяет использовать различные варианты генерации сетки (в первую очередь, регулярной) для описания объектов произвольной формы


Рисунок 14.1. Два независимых объекта


Рисунок 14.2. Результат объединения 2х фрагментов


Рисунок 14.3. Удаление фрагмента сетки

Планируемые возможности:
1) Процедура разбиения на ячейки области, представленной в виде тора либо тороидальной оболочки.
2) Процедура разбиения на ячейки области, представленной в виде конической оболочки.
3) Процедура разбиения на ячейки области, представленной в виде пирамиды с 4-х угольным основанием.
4) Оптимизация (по скорости и равномерности генерации сетки) процедуры автоматического создания тетраэдрической сетки в произвольной области.
5) Экспорт-импорт сетки в другие программные комплексы.

8. Примеры расчетов

Формирование осколочного спектра оболочки оживальной формы, заполненной ВВ

Моделирование разрушения кольца (exploding cylinder tests)

Лепесткование (пробитие ударником тонкой преграды)

Сравнение эффективности сеточных экранов

Для двумерных задач примеры расчетов можно посмотреть в диссертации

Назад, на численное моделирование

На главную страницу сайта

Оставить комментарий

mailto: s300ngs.ru, Сергей Пашков

ICQ UIN 117631343