WWW.DISUS.RU

БЕСПЛАТНАЯ НАУЧНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 

Pages:     || 2 |
-- [ Страница 1 ] --

Санкт-Петербургский Государственный Университет Информационных Технологий, Механики и Оптики

На правах рукописи

А.А. Безгодов

ВИРТУАЛЬНЫЙ ПОЛИГОН ДЛЯ ИССЛЕДОВАНИЯ МОРСКИХ ОБЪЕКТОВ В ЭКСТРЕМАЛЬНЫХ УСЛОВИЯХ ЭКСПЛУАТАЦИИ

Специальность: 05.13.18 — Математическое моделирование, численные методы и комплексы программ

Диссертация на соискание ученой степени кандидата технических наук

Научный руководитель Доктор физико-математических наук, Профессор А.В. Бухановский

Санкт-Петербург 2011

Оглавление

Раздел

Введение

Раздел 1

Технология виртуальных полигонов для моделирования сложных технических объектов и систем

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

1.1 Технология виртуальных полигонов

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

В ряде случаев, использование реальных прототипов может быть опасно (испытание на реальном объекте), дорого, а также требовать серьезных затрат времени на подготовку и анализ результатов. Более того использование уменьшенных копий объектов в некоторых случаях не позволяет воспроизвести ряд явлений. [? ? ? ? ? ? ? ].

Таким образом, единственным способом моделирования рассматриваемых ситуаций является программное численное моделирование. В связи с этим вводится понятие виртуального полигона (Virtual test bed). Виртуальный полигон – это программное средство, которое поддерживает виртуальное проектирование, анализ и прототипирование различных систем (vtbshipee) (vtbILRO).

Виртуальный полигон должен удовлетворять следующим требованиями:

• Реальное время выполнения (в идеале — «сверхреальное»). «Сверхреальное» время выполнения позволит перебирать несколько вариантов параллельно, что может быть полезно для предсказания поведения реальных объектов, а также производить массовую статистическую выборку.

• Интерактивность. В данном случае под интерактивностью подразумевается возможность изменения параметров моделируемых объектов и получения ответной реакции в реальном времени.

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

• Возможность расширения: возможность добавления новых явлений, свойств и объектов.

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

• Подсистема человеко-машинного взаимодействия, в состав которой входят:

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

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

• одсистема моделирования — является центральной частью виртуального полигона и отвечает за расчет пареметров моделируемого объекта в каждый момент времени. Подсистема моделирования может быть как монолитной, так и композитной. В последнем случае, каждая компонента подсистемы моделирования выполняет свою задачу и обменивается данными с другими компонентами.

• Подсистема сценариев — подсистема, которая отвечает за формирование последовательностей, условий и дополнительных действий, выполняемых в процессе моделирования.

Подсистемы виртуального полигона могут быть либо собраны в один програмный пакет, запускаемый на персональной ЭВМ так и сформированны в распределенный программно-аппаратный комплекс, который может состоять из:

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

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

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

1.2 Математические модели динамики внешней среды

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

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

В рамках концепции (dk3) основным источником данных об океанографических процессах (волнении, уровне, течениях) является сертифицированная (или, в метрологической практике – аттестованная) гидродинамическая модель динамики океана. По ней выполняются расчеты за непрерывный исторический период, обеспеченный данными наблюдений за атмосферными процессами (давлением, ветром и температурой воздуха). Гидродинамическая модель может быть интерпретирована как виртуальная измерительная система, верифицированная на основе разрозненных данных измерений, уже имеющихся в данном районе Мирового океана. Такой подход позволяет, используя данные реанализа метеорологических полей, получать информационные массивы океанографических характеристик непрерывной продолжительностью несколько десятков лет (dk4). Для статистического оценивания экстремальных характеристик, возникающих с определенной вероятностью, используется система стохастических моделей, описывающих совместную многомасштабную изменчивость пространственно-временных полей океанографических характеристик. Это дает возможность методом Монте-Карло воспроизвести ансамбль их реализаций, таким образом, экстраполируя значения экстремумов на заданный временной интервал.

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

Для имитационного моделирования конкретных воздействий на морские объекты и сооружения применяется иерархия моделей, позволяющая адекватно учесть многомасштабную изменчивость, обусловленную прохождением штормов. Так, для воспроизведения полей волнения в мелкомасштабном (секунды–часы) диапазоне изменчивости конкурентно (в зависимости от формы спектра) используются модели в форме полевой авторегрессии (dk6) или в форме ортогональных разложений со случайными коэффициентами (dk7), в том числе, с учетом нелинейности волнового профиля (dk8). Учет штормовой активности, в свою очередь, в диапазоне синоптической изменчивости осуществляется двумя альтернативными путями – посредством модели авторегрессии-скользящего среднего (dk9) в синоптическом диапазоне (в терминах характерной высоты волны), или в терминах импульсной модели пространственно-временного поля в рамках лагранжева формализма (dk10). Учет климатической неоднородности, в свою очередь, требует применения другого класса моделей на основе ортогональных разложений по каноническому базису (естественные ортогональные функции) (dk11).

Для стохастического моделирования полей морского волнения может использоваться модель, основанная на использовании процессов авторегрессии-скользящего среднего (p295I31) в фиксированной точке пространства. Эта модель основывается на представлении процесса волнения как решения линейного дифференциального уравнения N-го порядка с постоянными коэффициентами и случайным входным сигналом.

Модель авторегрессии-скользящего среднего при высоком порядке по каждой из координат в рамках корреляционной теории является эквивалентной другой форме записи пространственно-временного случайного гауссова поля — линейной модели Лонге-Хиггинса (p295I45).

Для моделирования поля волнения в некоторой пространственной области двумерный гауссово поле может быть получено с использованием разложения в дискретный ряд Фурье (krogstad89).

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

1.3 Математические модели динамики морских объектов

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

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

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

1.3.1 Классификация моделей динамики судов под воздействием внешних возмущений

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

• Спектральные линейные и линеаризованные модели динамики судна.

• Нелинейные асимптотические модели динамики судна.

• Нелинейные численные модели динамики судна, основанные на уравнениях классической механики.

• Нелинейные численные модели динамики судна, основанные на уравнениях гидромеханики.

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

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

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

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

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

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

1.3.3 Нелинейные асимптотические модели динамики судна

В том случае, если динамика судна описывается классическими уравнениями механики, для ряда нелинейных систем в отдельных случаях можно строить их решения на основе асимптотических (аналитических) методов. Для получения аналитического решения в постановку задачи в форме уравнений механики вносятся определенные допущения: линеаризация основных уравнений и граничных условий по малому параметру – числу Фруда, приближенный учет вертикальных и продольных угловых колебаний судна и т.п. (dk16). В работе (dk17) приведен пример аналитического решения системы дифференциальных уравнений качки одним из модификаций метода малого параметра. Однако такой подход имеет ограниченную применимость и может привести к потере новых решений, форма которых неизвестна заранее. Поэтому целесообразно использовать численные методы отыскания решений системы дифференциальных уравнений качки и оценки их устойчивости. Однако сложность таких решений может привести к большим затруднениям в правильной трактовке получаемых результатов: многообразие нелинейных факторов, которые учитываются общей математической моделью качки, в ряде случаев не позволяет выявить первопричину возникновения необычных колебаний или потерю их устойчивости. Чтобы осуществить это, допустимо, наряду с общей, воспользоваться некоторыми частными математическими моделями качки, учитывающими лишь часть нелинейных факторов и взаимосвязей между различными видами качки, влияние которых может быть изучено также аналитическими и экспериментальными методами. Несмотря на то, что для регулярного волнения этот подход позволяет в целом получать достаточно полную информацию о структуре нелинейных колебаний (dk17), прямой перенос его на область нерегулярных колебаний, например, представляя волновое возмущение в форме неканонического разложения, заставляет ограничиться рамками корреляционной теории (dk18), несмотря на очевидную негауссовость результирующего распределения. По этой причине в настоящее время подобные методы в основном носят качественный (прикидочный) характер и не используются для решения задач имитационного моделирования.

1.3.4 Нелинейные численные модели динамики судна, основанные на уравнениях классической механики

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

• Определение максимальной амплитуды бортовой качки в связи с обеспечением безопасности плавания.

• Расчет характеристик бортовой качки судов с очень малой метацентрической высотой.

• Исследование бортовой качки аварийного судна с отрицательной начальной остойчивостью.

• Расчет характеристик качки низкобортных судов.

• Оценка интенсивной заливаемости и оголения днища при качке на волнении.

• Расчет сопротивления воды движению судов на волнении.

• Исследование вопросов взаимного влияния отдельных видов продольной и поперечной качки судов.

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

Использование численных методов позволило экстенсивным путем разрешить проблему исследования существенно нелинейных режимов качки, что привело к интенсивному развитию целого семейства моделей и соответствующих им программных реализаций: от иллюстрационных (dk19)(dk20), на основе изолированных уравнений с постоянными коэффициентами, до достаточно детализированных, с переменными коэффициентами, которые рассчитываются непосредственно в процессе моделирования путем интегрирования по корпусу в рамках текущей ватерлинии в каждый момент времени (dk21)(dk22).

Основные требования к моделям нелинейной качки судов заключатся в следующем:

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

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

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

Нелинейные модели качки и их модификации широко применяются в качестве базовых моделей при исследованиях динамики жидких грузов внутри судна (dk25)(dk26), для исследования эффективности успокоителей качки и разработки алгоритмов их управления (dk27)(dk28)(dk29), для исследования эффекта параметрического резонанса (dk30).

Особых подходов требует исследование взаимодействия судна с аномальной волной (dk31). Понятие “аномальные волны” получило в англоязычно литературе название “freak waves”,”rogue waves” или даже “killer waves”. Под аномальной волной понимают внезапно возникающую интенсивную волну, которая намного (в два и более раза) превосходит высоту фонового волнения. Помимо большого числа вопросов, которые возникают при оценке динамики судна при взаимодействии с аномальной волной с точки зрения моделирования, не менее острым остается вопрос физических основ возникновения таких волн и способов их математического описания (dk32).

1.3.5 Нелинейные численные модели динамики судна, основанные на уравнениях гидромеханики

Подход к моделированию динамики судна, основанный на уравнениях классической механики, не учитывает влияния присутствия и движения корабля на распределение гидродинамического давления в волнующейся жидкости, что не позволяет получить полное описание процесса качки и позволяет учесть лишь гидростатические силы и главную часть возмущающих сил. Гидродинамические инерционные и демпфирующие силы и дифракционные составляющие возмущающей силы остаются неучтенными; отчасти это корректируется введением соответствующих «виртуальных» членов (например, присоединенных масс и моментов). Для корректного учета этих составляющих «из первых принципов» необходимы модели динамики судна, основанные на уравнениях гидромеханики, которые позволяют решать задачи о движении качающегося корабля комплексно с учетом влияния корабля и жидкой среды как единой взаимодействующей системы. Данный подход является, по-видимому, наиболее адекватным с точки зрения воспроизведения динамики судна на морском волнении. Это положение связано с корректностью постановки задачи непосредственно в терминах уравнений гидромеханики, что позволяет не ограничиваться упрощенными параметризациями, характерными для уравнений классической механики. Однако такого рода модели не лишены недостатков, которые во многих случаях связаны с допущениями об идеальности жидкости, отсутствием вязкости и т.п., а также высокой вычислительной сложностью самих моделей. Гидромеханические модели можно эффективно применять для решения практически любых задач, связанных с движением судна, в том числе и специфических задач экстремальной динамики судна, моделирования качки поврежденного судна со свободными поверхностями в отсеках и т.п. (dk33)(dk34).

Особые успехи применения гидродинамических моделей для решения задач динамики корабля можно отметить в последнее десятилетие, что связано во многом с развитием вычислительной техники, особенно технологий высокопроизводительных вычислений. Интересные результаты были получены в рамках проекта Министерства обороны США (dk35) по применению моделей, основанных на уравнении Рейнольдса (уравнения Навье-Стокса, осредненные по Рейнольдсу) к описанию движения судна под действием волн. В проекте использовались два пакета программ: UNCLE (dk36), разработанный Университете Миссисипи, и CFDSHIP-IOWA (dk37), разработанный в Университете Айова. Главная задача проекта состояла в предсказании поведения сложных геометрических объектов корабельной формы на воде. В результате были получены качественные модели, предсказывающие характеристики полей поверхностного давления и профиля свободной поверхности. Были также улучшены методы расчета свободной поверхности, вызванные поворотами судового руля. Интересные результаты по моделированию продольной и вертикальной качки корабля методами вычислительной гидродинамики были получены в работе (dk38).

Достаточно популярны пакетом гидродинамического моделирования для корабельных задач является LAMP (Large Amplitude Motion Program), который представляет собой пакет 3D-моделирования течений жидкости и решения проблемы взаимодействия твердого тела с волнами, в который также включены модели систем управления, заливаемости палубы, учет сил вязкости и другие эффекты. Пакет LAMP широко используется для решения задач нелинейной качки, параметрического резонанса и других. Детальное описание пакета LAMP и его приложений можно найти в (dk39)(dk40).

В настоящее время такие гидродинамические модели для решения корабельных задач можно реализовать не только посредством специализированных программных систем, но и с помощью пакетов расчета динамики сплошных сред общего назначения, таких, например, как Fluent (здесь можно отметить и отечественную разработку Flow Vision (dk41)). Однако в последнем случае принципиальный аспект состоит в том, как корректно задать граничные условия на поверхности, учитывая физико-статистические свойства морского волнения [42].

Отдельный класс пакетов для гидродинамического моделирования задач корабельной гидромеханики представляют собой численные реализации моделей взаимодействия жидкости и твердого тела в условиях волнения (numerical wave tank (dk41)(dk42)(dk43)(dk44)). Данные модели (и реализующие их пакеты) позволяют решать широкий класс задач, связанных с динамикой судов на волнении, в некоторых случаях позволяя получать результаты, сопоставимые по точности с экспериментами в опытовых бассейнах. Основной подход заключается в решении в расчетной области двух- или трехмерного уравнения Навье-Стокса с обновлением на каждом шаге граничных условий, вызванных наличием твердого тела и свободной поверхности.

Другим методом моделирования взаимодействия судна и жидкости может служить гидродинамика сглаженных частиц (Smoothed particle hydrodynamics) (dk45). Метод сглаженных частиц является методом решения задач динамики жидкостей и твердых тел (dk46). Метод сглаженных частиц позволяет решать задачи моделирования ударных волн (dk47), разрушающихся волн (dk48), расчета потока лавы (dk49), затопления (dk50) и т.д.

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

1.4 Технологии визуализации и виртуальной реальности

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

Основной принцип научной визуализации предполагает, что человек гораздо лучше проникает в суть исследуемого явления, когда может «погрузиться» в пространство модели. Особенно эффект присутствия усиливается, когда человек получает возможность непосредственно манипулировать данными в этом пространстве. Такие технологии, получившие название виртуальной реальности (dk51)(dk52), завоевывают все большую популярность в научном мире, однако их широкое распространение сдерживается дороговизной оборудования и определенными сложностями разработки прикладного программного обеспечения. Виртуальная реальность имитирует как воздействие, так и реакции на воздействие на моделируемую систему. Для создания убедительного комплекса ощущений реальности компьютерный синтез свойств и реакций виртуальной реальности производится в реальном времени. Системами виртуальной реальности называются устройства, которые более полно по сравнению с обычными компьютерными системами имитируют взаимодействие с виртуальной средой, путем воздействия на все пять (оптимально) имеющихся у человека органов чувств. Для этого могут использоваться различные технические решения, включая шлем виртуальной реальности (dk53), 3D мониторы, CAVE-системы (dk54) и пр.

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

Исследования последних лет в области человеко-компьютерного взаимодействия привели к созданию нейрокомпьютерного интерфейса (dk56)(dk57)(dk58) – системы, разработанной для обмена информацией между мозгом и электронным устройством. В однонаправленных интерфейсах внешние устройства могут либо принимать сигналы от мозга, либо посылать ему сигналы (например, имитируя сетчатку глаза при восстановлении зрения электронным имплантатом). Двунаправленные интерфейсы позволяют мозгу и внешним устройствам обмениваться информацией в обоих направлениях. Однако, стоит отметить, что использование подобных интерфейсов в настоящее время порождает серьезные споры об этической оценке их использования (dk59)(dk60).

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

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

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

• создание таких моделей представления знаний, в которых была бы возможность однообразными средствами представлять как объекты, характерные для логического мышления, так и образы-картины, с которыми оперирует образное мышление;

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

• поиск путей перехода от наблюдаемых образов-картин к формулировке некоторой гипотезы о тех механизмах и процессах, которые скрыты за динамикой наблюдаемых картин.

Технологии когнитивной компьютерной графики основываются в целом на формальных методах искусственного интеллекта. В то же время в ряде случаев целесообразно использовать подходы к извлечению знаний на основе прямой эксплуатации способности человека видеть и интерпретировать изображения. Для этого в настоящее время активно продвигается метод интерактивной визуализации (computational steering) (dk66)(dk67). Идея заключается в том, что пользователь по ходу процесса моделирования изменяет параметры системы, наблюдает и интерпретирует эффекты этого изменения. Технологически этот процесс реализуется за счет дополнительного слоя взаимодействия между пользователем и вычислительной средой, который преобразует поступающие от пользователя управляющие воздействия в набор параметров, которые в оперативном режиме воспринимаются вычислительной средой и позволяют производить вычисления в новых условиях без перезапуска вычислительного процесса.

Интерактивная визуализация с технической точки зрения является довольно сложной задачей, ключевыми проблемами которой для более широкого применения данной технологии являются: переориентация имеющегося ПО с пакетного режима работы на интерактивный режим, создание гибкой и расширяемой системы, поддержка «мягкого реального» времени (dk68). При этом наибольшие проблемы с практическим воплощением методов интерактивной визуализации возникают в распределенных средах, как в силу пакетного (в основном) режима их работы, так и по причине наличия неконтролируемых (стохастических) накладных расходов при организации вычислений и передаче данных за счет коммунального характера среды. Вместе с этим, интерактивная визуализация в целом уменьшает нагрузку на распределенную среду; в таком режиме нет необходимости выполнять повторный запуск – все необходимые изменения можно сделать за одну сессию, что является несомненным преимуществом данного подхода.

Анализируя текущую ситуацию в области визуализации научных данных, можно резюмировать, что технологии научной визуализации стали неотъемлемым инструментом исследования для подавляющего большинства задач, связанных с компьютерным моделированием и экспериментом, и оказывают серьезное воздействие на сами методы научного познания. При этом широкое внедрение технологий научной визуализации связано с активным развитием сопутствующих технологий (качественное улучшение характеристик видеокарт, активное развитие пакетов прикладных программ и т.д.), однако в некоторых случаях сдерживается дороговизной и сложностью настройки предлагаемых решений (например, CAVE). В то же время проникновение логики e-Science в технологии научной визуализации привело к повышенной сложности использования соответствующего инструментария (в первую очередь, за счет неоднородности представляемых объектов и описывающих их данных); в целом для решения этой задачи необходимо привлечение интеллектуальных технологий. При этом, с одной стороны, необходимо учитывать качественную сторону проблемы – разнородность и распределенность данных, а с другой стороны, количественную – необходимость обработки значительных объемов данных. Первая проблема приводит к появлению специализированных методик визуализации распределенных научных данных (см., например, (dk69)(dk70)). Вторая проблема связана с разработкой специализированных средств визуального анализа больших объемов данных (visual mining) (примерами таких работ могут служить исследования (dk71)(dk72)).

Раздел 2

Численное моделирование динамики судна на нерегулярном волнении

2.1 Математическая модель нерегулярного волнения

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

(2.1)

,где характеризует направленность спектра, – частоту пика спектра, а .

На практике, непрерывный спектр волнения можно аппроксимировать конечным числом гармоник, спектральное распределение которых аппроксимирует используемый спектр. Для быстрого построения карты высот и скоростей для сложения гармоник используется двухмерное быстрое преобразование Фурье (БПФ) [].

При использовании БПФ оказалось удобнее представить энергетический спектр как функцию от волнового вектора гармоники :

Рассмотрим полную энергию волнения и произведем замену переменных интегрирования, перейдя от к волновому вектору :

(2.2)

Теперь можно аппроксимировать непрерывный энергетический спектр конечной суммой гармоник:

(2.3)

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

Построив конечный дискретный энергетический спектр, перейдем к амплитудному спектру. Амплитуда гармоники . Высоту морской поверхности в точке в момент времени можно представить в виде суперпозиции простых гармонических волн:

(2.4)

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

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

На рис. ? представлены планшеты ядра БПФ и карт высот морского волнения для различных значение параметра формы углового распределения.

Рисунок 2.1: Планшеты ядра БПФ и карт высот морского волнения для различных значение параметра формы углового распределения

2.2 Математическая модель динамики судна на нерегулярном волнении

Для построения модели распределения сил и моментов, действующих на судно, морской объект рассматривается как твердое тело. Введем параметры, описывающие положение корабля в пространстве. Для этого необходимо выбрать локальную систему координат. За начало системы локальных координат примем центр тяжести корабля, а оси расположим так, чтобы ось была направлена вдоль корабля в направлении носовой части, ось – влево, ось – вверх, см. рис.  ?.

 2: Локальная система координат и углы вращения судна Положение-28

Рисунок 2.2: Локальная система координат и углы вращения судна

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

(2.5)

(2.6)

где – масса корабля и присоединенной жидкости, – тензор инерции судна и присоединенной жидкости. Рассмотрим подробнее силу и момент, стоящие в правых частях уравнений (?) и (?).

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

1. Сила тяжести, приложенная к центру тяжести и направленная вниз.

2. Силы давления воды, приложенные к каждой точке корпуса, находящейся в воде, и направленные вдоль нормали к поверхности.

3. Демпфирующие силы, приложенные к каждой точке корпуса, находящейся в воде, и действующие в направлении против направления движения данной точки корпуса.

Рисунок 2.3: Силы, действующие на судно

Суммарные сила и момент, действующие на корабль, могут быть выражены следующим образом:

(2.7)

(2.8)

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

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

(2.9)

(2.10)

где:

(2.11)

Площадь элемента вычисляется:

(2.12)

а давление на элемент:

(2.13)

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

(2.14)

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

(2.15)

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

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

Рисунок 2.4: Иллюстрация вычислительных артефактов за счет скачкообразного изменения гидродинамических сил при использовании регулярных сеток

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

 5: Пример сетки с локально-распределенными случайными узлами 2.3-63

Рисунок 2.5: Пример сетки с локально-распределенными случайными узлами

2.3 Идентификация модели

Cлучайное перестроение узлов может вносить в выражения (?) и (?) дополнительную вычислительную погрешность. Для оценки накапливаемой ошибки были проведены эксперименты по оценке чувствительности расчетных характеристик к количеству узлов сетки. На рис. ? представлены фазовые портреты «численного дрейфа»(в плоскости ) центра тяжести судна вокруг исходного положения (расчеты на тихой воде). На каждом графике показаны траектории движения центра тяжести судна для 10 запусков, каждый из которых длился 60 секунд.

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

Рисунок 2.6: Фазовые портреты численного дрейфа судна в зависимости от количества точек

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

Длина:

Ширина:

Вес:

Для определения метацентрической высоты построим диаграмму статической остойчивости (ДСО) путем проведения виртуального кренования — замера плеча восстанавливающего момента в зависимости от угла крена погруженного в воду судна. Результат кренования продемонстрирован на рис. ?. Так как начальная метацентрическая высота равна дифференциалу ДСО в нулевой точке, то

Рисунок 2.7: Диаграмма статической остойчивости

Определим период собственных бортовых колебаний согласно (hanovich47) (?)

(2.16)

Момент инерции вокруг оси судна может быть приближенно вычислен по следующей формуле:

(2.17)

Момент сил сопротивления бортовым колебаниям может быть вычислен по формуле, полученной Бертеном (?)

()

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

Составим дифференциальное уравнение бортовых колебаний судна:

(2.19)

Для идентификации модели корабль помещается на тихую воду с начальным креном градусов. Сравнение записи качки с результатом решения уравнение представлена на рис. ?.

Рисунок 2.8: Сравнение результатов численного эксперимента и решения уравнение бортовой качки

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

Раздел 3

Программно-аппаратный комплекс виртуального полигона

3.1 Состав и общая архитектура ПАК

Разрабатываемый виртуальный полигон предназначен для выполнения имитационного моделирования динамики морских объектов под воздействием внешних возмущений. Как следствие, под задачей унификации в данном разделе понимается установление взаимосвязей общей (имитационной численной) модели динамики судна с «эталонными» моделями, повсеместно используемыми для расчета качки судна в оперативных условиях эксплуатации.

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

1. Обеспечивать настройку параметров имитационного моделирования в широких пределах.

2. Создавать сценарии моделирования: параметры изменяются не только в начале, но и в процессе моделирования.

3. Осуществлять интерактивную визуализацию процесса имитационного моделирования для осуществления качественного анализа явлений и отладки.

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

Таким образом, формой реализации имитационной модели является среда имитационного моделирования, которая содержит следующие специализированные и общие подсистемы:

1. Ядро («Core»). В ядро подсистемы входят:

(a) Библиотека математики, которая включается как стандартные математические объекты, такие как вектора, матрицы и кватернионы, так и более сложные, которые включают такие объекты как видовые пирамиды (frustum), ограничивающие объемы (bounding sphere и bounding box).

(b) Интерпретатор Lua, которые используется для конфигурирования и управления виртуальным полигоном, а также для поддержки подсистемы сценариев.

(c) Интерфейс операционной и файловой системы.

(d) Система конфигурирования.

2. Библиотеки поддержки визуализации («Graphic Factory», собственная разработка), которая независимо от используемого графического API обеспечивает:

• Загрузку, обработку и сохранение трехмерных полигональных сеток в формате собственной разработки ESX (Extensible Scene XML file). В задачи обработки трехмерных полигональных сеток входят:

• Разрезание, склеивание, оптимизация геометрии

• Скелетная анимация

• Загрузку, обработку и сохранение двумерных изображений в формате BMP, JPEG, TGA, PNG и другие. Основан на использовании библиотеки FreeImage (freeimage).

• Загрузку, обработку и сохранение файлов анимации в собственной формате EAX (Extensible Animation XML-file). Файлы анимации могут быть использованы для анимации визуализируемой сцены, анимацию камеры в демонстрационном режиме и др.

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

(a) Твердые объекты (Solids).

(b) Водная поверхность (Water)[1]

(c) Объемные скалярные поля (Volume Scalar fields)

(d) Отладочные линии (Debug lines).

(e) Элементы пользовательского интерфейса и текст.

(f) Источники света.

4. Звуковая подсистема реализована с использованием (fmod) предназначена для:

• Воспроизведение Фонового стерео- и квадрофонического звука в форматах Wave PCM, Vorbis OGG, MP3 и др.

• Микширование с наложением эффектов окружения звуков, позиционированных в пространстве, с учетом скорости перемещения и позиции как звуков, так и слушателя.

5. Физическая подсистема реализована как интерфейс к физической бибилиотеке Bullet (bullet). Реализация включает в себя:

• Твердые динамические тела

• Твердые статические тела

• Твердые кинематические тела

• Сочленения с шестью степенями свободы (6-DOF), ограничениями (constarints), пружинами (springs) и моторам (motors).

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

(a) Таймер - запускает Lua-функцию в заданный момент времени

(b) Задача - запускает заданные определенным образом Lua-функции в заданные момент времени по определенному правилу.

(c) Судно - реализует в себе модель распределения сил и моментов, получает данные о море.

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

На рис. ? приведена диаграмма потоков данных в процессе имитационного моделирования.

Рисунок 3.1: Диаграмма потоков данных в процессе имитационного моделирования

3.2 Подсистема сценариев

3.3 Подсистема моделирования

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

3.3.1 Сущности и фабрика сущностей

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

Для обеспечения возможности определения типа создаваемого объекта в времени исполнения его необходимо указать. Механизм специализации типа создаваемого объекта называется фабрикой объектов (alexandresku).

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

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

В данной реализации виртуального полигона все создаваемые объекты называются «сущностями»и наследуются от абстрактного класса .

[Sorry. Ignored \begin{lstlisting}... \end{lstlisting}]

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

На каждом шаге моделирования у каждой созданной сущности вызывается метод , в которые передается время прошедшее с предыдущего шага моделирования.

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

Центральной компонентой системы имитационного моделирования является фабрика сущностей. Интерфейс фабрики представлен ниже.

[Sorry. Ignored \begin{lstlisting}... \end{lstlisting}]

Метод регистрирует класс сущностей, путем ассоциирования имени класса () и фабричного метода ().

Метод порождает сущность класса . Также в функцию передается указатель на виртуальную машину Lua и индекс таблицы-дескриптора, которая может быть использована для параметризации создаваемой сущности. Метод возвращает уникальный индекс сущности, по которому в дальнейшем к сущности можно обратиться.

Метод — уничтожает сущность с указанным индексом.

Метод — уничтожает все созданные сущности.

Метод — возвращает указатель на сущность по индексу или по имени.

На данный момент реализована следующая иерархия классов сущностей. См. рис. ?

Рисунок 3.2: Диаграмма наследования сущностей

3.3.2 Lua API виртуального полигона

Для обеспечения гибкости и универсальности виртуального полигона используется язык программирования Lua. Такой подход позволяет создавать сценарии экспериментов «на ходу»не перезапуская виртуальный полигон. Для обеспечения работы виртуального полигона, доступа к фабрике сущностей предусмотрены следующие Lua-функции:

— запускает сценарий, которые задается

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

— создает экземпляр сущности заданного класса. Аргументы функции: имя класса сущности и таблица-дескриптор. Возвращает индекс сущности.

— уничтожает сущность с указанным именем или индексом.

— уничтожает все сущности.

— транслирует команду сущности заданной по имени или индексу.

— возвращает текущее глобальное модельное время.

— устанавливает уровень гравитации.

— устанавливает параметры морского волнения:

• Частота пика спектра .

• Параметр формы углового распределения .

• Параметр узости спектра JONSWAP .

3.3.3 Объект «Таймер»

Важной задачей в процессе моделирования является выполнение той или иной функции в заданный момент времени, или с постоянным интервалом. Для этого реализована сущность «Таймер». При создании, таймер получает в качестве параметров:

• Интервал срабатывания — временной интервал, через который будет вызываться Lua-функция. Если интервал равен , то функция будет вызываться на каждом шаге моделирования.

• Режим работы: однократное срабатывание или многократное.

• Lua-функция для вызова[2].

Пример создания таймера на языке Lua представлен ниже:

[Sorry. Ignored \begin{lstlisting}... \end{lstlisting}]

Созданный таким образом таймер будет многократно с интервалом 250 мс выводить на консоль текст «timer function».

Сам по себе объект таймер является достаточно примитивным и не очень удобным для выполнения различных задач. Поэтому для упрощения исследования динамики морских объектов была реализована система задач.

Реализация системы задач на базе сущности «Таймер»

Типовой эксперимент в численном исследовании динамики морского объекта заключается в следующем:

1. Создание судна и формирование параметров окружения (данном случае параметров морского волнения).

2. Выполнение на каждом кадре моделирования некоторого действия, например удержание судна в заданной точке.

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

4. Уничтожение судна и сброс параметров морского волнения по прошествию некоторого времени. Обычно эксперимент длится от 30 секунд, до 10 минут.

5. Вышеперечисленные действия повторяются либо для судна с другими параметрами (например, с измененной нагрузкой или курсом), либо для морского волнения с другими параметрами (например, с другой частотой пика спектра или параметром формы углового распределения).

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

1. Возможность запуска задачи в заданный момент времени.

2. Возможность вызова функции в момент запуска задачи.

3. Возможность вызова функции в момент завершения задачи.

4. Возможность вызова функции с определенным интервалом.

5. Возможность вызова функции на каждом шаге моделирования.

6. Возможность параллельного исполнения задач (функции являются атомарными).

7. Возможность удобного составления расписания.

Реализованная система задач работает следующим образом:

1. Задаются функции , , , ? которые будут вызваны соответственно в момент создания задачи, завершения задачи, на каждом шаге моделирования и с заданным интервалом (на каждом «тике»).

2. Задаются время запуска задачи, время работы задачи и интервал между «тиками».

3. Создается таймер запуска задачи.

4. В момент срабатывания таймера запуска задачи создается задача. Таймер запуска задачи уничтожается.

5. В момент создания задачи создаются три таймера, каждый из которых отвечает за:

(a) Вызов функции с заданным интервалом.

(b) Вызов функции на каждом шаге моделирования.

(c) Завершение задачи.

6. После создания таймеров вызывается функция .

7. По завершению задачи вызывается функция и все таймеры созданные для этой задачи уничтожаются.

Система задач предоставляет две функции:

- непосредственный запуск задачи. Принимает в качестве параметра Lua-таблицу — дескриптор задачи, в котором хранятся время выполнения задачи, интервал между «тиками», а также функции , , и . Возвращает абсолютное время завершения задачи.

- отложенный запуск задачи. Принимает время запуска задачи и Lua-таблицу — дескриптор задачи. Возвращает абсолютное время завершения задачи.

Пример составления расписания задач представлен ниже:

[Sorry. Ignored \begin{lstlisting}... \end{lstlisting}]

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

Следует отметить, что система задач реализована полностью на языке Lua, затрагивать C++ код необходимости не было.

3.3.4 Объект «Корабль»

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

• Гибко настраивать параметры судна.

• Осуществлять численное моделирование поведения судна на морском волнении в соответствии с моделью ? в реальном времени.

• Визуализировать модель судна, объективно отражая текущее положение судна в пространстве.

• Отправлять команды управления судну.

• Получать текущие параметры судна в последующей возможностью записи в журнал.

На данный момент существует возможность задавать следующие атрибуты в момент создания судна:

• Геометрическую модель для расчета гидростатических и гидродинамических сил и моментов.

• Геометрическую модель для расчета момента инерции и отслеживания коллизий.

• Геометрическую модель для визуализации.

• Координаты центра тяжести относительно низшей точки форштевня судна. Задание координат центра тяжести судна позволяет изменять метацентрическую высоту и виртуально менять расположение грузов.

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

• Масса судна.

• Общий коэффициент гидродинамического сопротивления.

• Плотность расположения точек при численном интегрировании.

• Коэффициенты масштабирования размеров судна. Позволяет изменить размеры судна сохраняя при этом геометрию формы.

• Расположение абстрактного «винта»— точка приложения буксировочной силы.

• Начальное положение () в пространстве и текущие углы крена, дифферента и курса(, , ).

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

 3: Полигональные сетки, используемые для моделирования динамики-131

Рисунок 3.3: Полигональные сетки, используемые для моделирования динамики судна. Слева на право: модель для визуализации, модель для гидростатических и гидродинамических расчетов, модель для расчета моментов инерции и коллизий.

Для задач исследования динамики судна предоставляются следующие команды:

— устанавливает буксировочную силу (в ньютонах) и угол, под которым она приложена

— возвращает Lua-таблицу, в которой находится следующие данные:

• Суммарные сила и момент, действующие на корабль.

• Текущее положение в пространстве и углы крена, дифферента и курса.

• Текущая скорость.

• Высота волны в точке, где находится центр тяжести судна.

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

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

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

— форсированно выставляет текущие положение в пространстве и углы крена, дифферента и курса.

— возвращает текущие положение в пространстве и углы крена, дифферента и курса.



Pages:     || 2 |
 



<
 
2013 www.disus.ru - «Бесплатная научная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.