Научная статья на тему 'Разработка программного обеспечения для автоматизации процесса исследования эволюции орбит астероидов'

Разработка программного обеспечения для автоматизации процесса исследования эволюции орбит астероидов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
53
13
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Денисов С.С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE DEVELOPMENT OF THE SOFTWARE FOR AUTOMATZATION OF THE ASTROIDS’ ORBITAL EVOLUTION RESEARCH PROCESS

The software system that automates the process of calculating the asteroids' orbital evolution is described. These applications allow calculating automatically on multiple computers simultaneously. Also the work on the optimization of the algorithms implementation is carried on.

Текст научной работы на тему «Разработка программного обеспечения для автоматизации процесса исследования эволюции орбит астероидов»

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

УДК 521.1

С. С. Денисов

Самарский государственный технический университет, Россия, Самара

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА ИССЛЕДОВАНИЯ ЭВОЛЮЦИИ ОРБИТ АСТЕРОИДОВ*

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

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

Был создан банк данных эфемерид астероидов групп Аполлона, Амура и Атона и их тесных сближений на интервале времени с 1800 по 2206 гг. Проведено исследование эволюции орбит 7 027 малых тел. Среди них выявлено 985 объектов, тесно сближающихся с внутренними планетами, из которых 739 проходят через сферу действия Земли [1]. Полученная информация была представлена на сайте SmallBodies.ru [2]. Эти данные могут быть использованы для оценки вероятности столкновения астероидов с Землей, изучения эволюции орбит астероидов, поэтому данная задача является актуальной.

В качестве математической модели, описывающей движение астероида, использованы дифференциальные уравнения с учетом гравитационных и релятивистских эффектов в барицентрической системе координат. Эти 72 уравнения решались модифицированным методом Эверхарта 27 порядка с переменным шагом интегрирования, адаптированным для решения астероидной задачи. Критерием изменения шага служило минимальное расстояние между исследуемым объектом и объектами Солнечной системы [1]. О точности вычислений говорит тот факт, что вычисленные координаты и скорости планет были согласованы с DE405 - одной из самых точных численных теорий движения больших планет, Луны и Солнца.

Исходные данные элементов орбит астероидов были взяты из банка данных DASTCOM (Database of ASTeroids and COMets) американской Лаборатории реактивного движения на различные моменты времени.

С течением времени обнаруживаются новые объекты и уточняются орбиты существующих, потому база данных периодически пополняется. Так, с периодичностью раз в 100 дней нами производится расчет эволюции астероидов, имеющих тесные сближения с внутренними планетами, по новым (уточненным) данным. В связи с этим возникает задача расчета эволюции орбит порядка 1 500 объектов при каждом обновлении банка данных. Эта задача довольно трудоемкая, поэтому требует программного обеспечения, автоматизирующего данный процесс [3].

Алгоритм вычислений был реализован на языке C++ [3]. Было принято решение о смене компилятора с Borland C++Builder 2006 на Microsoft Visual Studio 2008 Express Edition. Так как компилятор от Microsoft отличается более высокой степенью оптимизации, как следствие, значительно возрастает быстродействие получаемой программы. Помимо этого была проделана работа по рефакторингу и оптимизации кода. В результате, быстродействие программы возросло в 4,3 раза. Так, эволюция орбиты астероида 99942 Apophis на интервале времени с 05.01.1800 по 05.08.2206 предыдущей версией программы вычислялась за 960 с, а новой - за 110 с (при сравнении быстродействия данное значение следует умножить на два, так как новая программа ведет вычисления в два параллельно выполняющихся потока, тогда как старая создает по одному ведущему вычисления потоку на каждый объект).

Была также переработана программа, автоматизирующая процесс вычислений, с учетом того, что вычисления производятся сразу на нескольких ПК [3]. Было решено хранить задания в базе данных (в текущей версии это СУБД MySQL5, размещенное в локальной сети, однако сейчас ведется работа для адаптации работы приложений также с базой данных, размещенной на нашем сайте SmallBodies.ru). Само приложение разделено на клиентскую и серверную части. Программа, реализующая серверную часть логики, может добавлять, изменять и удалять задания на вычисления. Это приложение также может отслеживать текущий процесс вычислений и обрабатывать его результаты. Клиентское приложение производит непосредственно интегрирование эволюции движения объектов, запрашивая задания из базы данных, а по их завершении записывает в нее результаты.

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

*Работа выполнена при финансовой поддержке Федерального агентства по образованию (проект РНП.2.1.1//745).

Решетневские чтения

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

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

Библиографические ссылки

1. Заусаев А. Ф., Абрамов В. В., Денисов С. С. Каталог орбитальной эволюции астероидов, сближающихся с Землей с 1800 по 2204 гг. М. : Машиностроение-!, 2007.

2. Денисов С. С. Разработка базы данных и программного обеспечения для web-сайта в задаче моделирования астероидной и кометной безопасности Земли // Математическое моделирование физических, экономических, технических, социальных систем и процессов : Тр. VII Междунар. конф. Ульяновск, 2009. С. 91-93.

3. Денисов С. С. Создание банков данных астероидов, сближающихся с Землей // 100 лет Тунгусскому феномену: прошлое, настоящее, будущее : тез. докл. Междунар. конф. М., 2008. С. 114-115.

S. S. Denisov Samara State Technical University, Russia, Samara

THE DEVELOPMENT OF THE SOFTWARE FOR AUTOMATZATION OF THE ASTROIDS' ORBITAL EVOLUTION RESEARCH PROCESS

The software system that automates the process of calculating the asteroids' orbital evolution is described. These applications allow calculating automatically on multiple computers simultaneously. Also the work on the optimization of the algorithms implementation is carried on.

© Денисов С. С., 2010

УДК 621.9.02:519.15

С. В. Ермакова ОАО «Информационные спутниковые системы» имени академика М. Ф. Решетнева», Россия, Железногорск

В. Б. Ясинский

Сибирский федеральный университет, Россия, Красноярск

ФОРМИРОВАНИЕ МОРФОЛОГИЧЕСКИХ СТРУКТУР РЕЖУЩЕГО ИНСТРУМЕНТА ДЛЯ АВТОМАТИЗИРОВАННОГО СИНТЕЗА ПРОЕКТНЫХ РЕШЕНИЙ ТЕХНОЛОГИЧЕСКИХ ЗАДАЧ

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

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

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

- конструктивные элементы детали и их расположение относительно режущего инструмента;

- состояние обрабатываемого материала (его физико-механические свойства);

- последовательность выполнения переходов для получения поверхностей конструктивных элементов.

Вышеперечисленные факторы определяют конструкцию режущего инструмента и инструментальный материал.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.