Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программные средства обработки результатов расчетов в инженерных пакетах Ansys CFX и Abaqus для высокопроизводительных вычислительных установок

Покупка
Артикул: 804309.01.99
Доступ онлайн
800 ₽
В корзину
Приведены подробные сведения по использованию программных средств обработки результатов инженерных расчетов. Рассмотрены возможности и описания функций интерфейса программных средств Ansys CFX и Abaqus. Описаны методы визуализации результатов расчетов на примерах высокоуровневых библиотек Avango и Open Inventor. Приведены подробные примеры использования указанных средств разработки. Для студентов и аспирантов технических специальностей, изучающих курсы «Параллельное программирование», «Компьютерная графика», «Современные сетевые технологии», «Распределенные системы обработки информации», «Моделирование». Пособие будет полезно также для всех интересующихся возможностями использования инженерных пакетов на высокопроизводительных вычислительных установках.
Иванов, И. П. Программные средства обработки результатов расчетов в инженерных пакетах Ansys CFX и Abaqus для высокопроизводительных вычислительных установок : учебное пособие / И.П. Иванов, А. М. Чеповский. - Москва : МГТУ им. Баумана, 2009. - 189 с. - ISBN 978-5-7038-3321-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/2013684 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
 

Московский государственный технический университет  
имени Н.Э. Баумана 

И.П. Иванов, А.М. Чеповский  
 
 
ПРОГРАММНЫЕ СРЕДСТВА ОБРАБОТКИ  
РЕЗУЛЬТАТОВ РАСЧЕТОВ  
В ИНЖЕНЕРНЫХ ПАКЕТАХ ANSYS CFX И ABAQUS  
ДЛЯ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ  
ВЫЧИСЛИТЕЛЬНЫХ УСТАНОВОК 
 
Допущено учебно-методическим объединением вузов  
по университетскому политехническому образованию  
в качестве учебного пособия для студентов  
высших учебных заведений, обучающихся по направлению 
230100 «Информатика и вычислительная техника» 
 
 
 
 
 
 
 
 
 
 
 
Москва 

Издательство МГТУ им. Н.Э. Баумана 

2009 

 

УДК 681.3.041.048(075.8) 
ББК 30.2-5-05 
И20 
Рецензенты: д-р физ.-мат. наук С.О. Старков, 
д-р физ.-мат. наук, проф. С.В. Клименко 
 

 
Иванов И.П.  
  
 
       Программные средства обработки результатов расчетов  
в инженерных пакетах Ansys CFX и Abaqus для высокопроизводительных вычислительных установок : учеб. пособие / И.П. Иванов, А.М. Чеповский. — М.: Изд-во МГТУ им. Н.Э. Баумана, 
2009. — 189, [3] с. 

ISBN 978-5-7038-3321-6 

Приведены подробные сведения по использованию программных 
средств обработки результатов инженерных расчетов. Рассмотрены 
возможности и описания функций интерфейса программных средств 
Ansys CFX и Abaqus. Описаны методы визуализации результатов 
расчетов на примерах высокоуровневых библиотек Avango и Open 
Inventor. Приведены подробные примеры использования указанных 
средств разработки. 
Для студентов и аспирантов технических специальностей, изучающих курсы «Параллельное программирование», «Компьютерная 
графика», «Современные сетевые технологии», «Распределенные 
системы обработки информации», «Моделирование». Пособие будет 
полезно также для всех интересующихся возможностями использования инженерных пакетов на высокопроизводительных вычислительных установках. 
 
УДК 681.3.041.048(0.75.8) 
ББК 30.2-5-05 
 

 

 

 

 

 
 
 

 
 
ISBN 978-5-7038-3321-6 
 МГТУ им. Н.Э. Баумана, 2009 

И20 

ВВЕДЕНИЕ 

Одним из ключевых направлений развития современного общества является прогресс высоких технологий, в первую очередь 
информационных. Высокие технологии — это один из наиболее 
важных факторов, влияющих на формирование общества XXI века. Воздействие технологий касается образа жизни людей, их образования и профессиональной деятельности. 
Выявление и обоснование стратегических направлений и перспектив развития мирового и российского рынка технологий имеют определяющее значение на современном этапе развития экономики. Именно разработка и внедрение новых технологий 
способствуют прогрессу промышленности, финансовой стабильности предприятий, подготавливают базу для эффективного функционирования экономики.  
Практически в каждой отрасли экономики требуются серьезные 
вычислительные мощности для проведения исследований, анализа 
деятельности, внедрения новых технологических процессов, обновления производства и снижения рисков. Возникает необходимость в 
освоении, развитии и внедрении наукоемких технологий на базе 
высокопроизводительных мультипроцессорных вычислительных 
систем (ВМВС) в промышленности и социально-экономической 
сфере. Не менее важными являются создание системного программного обеспечения ВМВС на базе новых вычислительных моделей, а также разработка и внедрение современных прикладных 
программных сред для решения сложных вычислительных задач. 
Программно-аппаратные комплексы на базе ВМВС становятся все 
более востребованными как на Западе, так и в России. 
Что же заставляет представителей различных отраслей и компаний прибегать к использованию ВМВС? Дело в том, что в современном мире компании вынуждены постоянно усложнять про
изводственные модели продуктов, чтобы повысить надежность 
изделий, точность их изготовления, а также снизить риски и избежать брака. И в нашей стране компании начинают экономить на издержках, выводить на рынок более совершенные продукты, внедряя в производство сложные вычислительные системы. Видимо, 
этот путь является сегодня неизбежным. Ведь чем сложнее, совершеннее модель, тем больше вычислительной мощности требуется для ее расчета; кроме того, необходимо большее пространство 
для хранения промежуточной информации и результатов. Таким 
образом, развитие- любой индустрии, будь то геодезия, автомобилестроение или металлургия, связано с необходимостью применения ВМВС. 
Данное пособие создано по результатам работ 2005–2008 гг.  
в рамках программного мероприятия «Исследование проблем адекватности, точности и масштабируемости, возникающих при решении задач из области CAE-приложений, аэрогидродинамики и 
электромагнитных расчетов на кластерных высокопроизводительных мультипроцессорных вычислительных системах с использованием пакетов мирового уровня» в соответствии с научнотехнической программой Союзного государства «Развитие и внедрение в государствах — участниках Союзного государства наукоемких компьютерных технологий на базе мультипроцессорных 
вычислительных систем» (шифр «Триада»). 
В подготовке данного учебного пособия принимали участие 
студенты кафедры ИУ 9 «Теоретическая информатика и компьютерные технологии» Никита Нечаев, Павел Фокин, Михаил Жуков. 
 

1. ВОЗМОЖНОСТИ ПАКЕТА ANSYS CFX 

1.1. Основные сведения о пакете 

Пакет Ansys CFX — это профессиональный аналитический 
программный комплекс, предназначенный для решения широкого 
спектра задач вычислительной газо- и гидродинамики.  
Область применения Ansys CFX — моделирование многофазных потоков, химической кинетики, горения, радиационного теплообмена, жидкостно-структурного взаимодействия. Программный комплекс позволяет решать задачи с подвижной сеткой, в нем 
можно применять адаптивное сеточное сгущение. Программный 
комплекс Ansys CFX является признанным лидером в моделировании течений в роторных машинах.  
Основой всей расчетной технологии Ansys CFX является решатель Algebraic Coupled Multigrid. Используя неявную связанную 
схему решения линеаризованной системы уравнений, решатель 
обеспечивает быструю и устойчивую сходимость в задачах всех 
типов, при этом время решения задачи линейно зависит от объема 
расчетной сетки.  
Преимущество Ansys CFX особенно проявляется при изучении 
больших моделей с многокомпонентными течениями и сложной 
структурой. Решатель Ansys CFX малочувствителен к отношениям 
размеров элементов, временным шагам и релаксационным факторам. Точность решения достигается как за счет высокой точности 
расчетов в каждом узле, так и за счет применения схемы дискретизации второго порядка, устанавливаемой по умолчанию. Эти же 
свойства сохраняются при параллельных расчетах, обеспечивая 
ускорение процессов расчета на многопроцессорных системах и 
кластерах рабочих станций. 
 

1.2. API экспорта пакета Ansys CFX 

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

1.2.1. Используемые константы и структуры 

Константы и структуры, описанные в этом подразделе, определены в заголовочном файле cfxExport.h, входящем в состав 
библиотеки экспорта, поставляемой вместе с пакетом Ansys CFX.  

Типы элементов 

В Ansys CFX определены четыре типа элементов расчетной 
сетки: тетраэдры (4 вершины), пирамиды (5 вершин), призмы  
(6 вершин) и шестигранники (8 вершин). Для идентификации этих 
элементов определены следующие константы: 

#define cfxELEM_TET 4 
#define cfxELEM_PYR 5 
#define cfxELEM_WDG 6 
#define cfxELEM_HEX 8 

Типы объемов 

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

#define cfxVOL_NODES 0 
#define cfxVOL_ELEMS 1 

Типы областей поверхности 

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

#define cfxREG_NODES 0 
#define cfxREG_FACES 1 

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

#define cfxFACENUM(face) ((face) & 7) 
#define cfxELEMNUM(face) ((face) >> 3) 

Счетчики 

Функции cfxExportInit и cfxExportZoneSet принимают аргумент counts, представляющий собой массив целых чисел размером cfxCNT_SIZE. Указанные функции записывают в 
данный массив количество узлов, элементов и областей поверхности модели, а также количество расчетных параметров. Ниже определены индексы конкретных счетчиков в этом массиве: 

enum cfxCounts { 
// Число узлов сетки 
cfxCNT_NODE = 0,  
// Число элементов  
cfxCNT_ELEMENT,  
// Число объемов  
cfxCNT_VOLUME,  
// Число областей поверхности  
cfxCNT_REGION, 
// Число расчетных параметров  

cfxCNT_VARIABLE,  
// Число тетраэдров  
cfxCNT_TET,  
// Число пирамид  
cfxCNT_PYR,  
// Число призм  
cfxCNT_WDG,  
// Число шестигранников 
cfxCNT_HEX,  
 
// Размер массива счетчиков 
cfxCNT_SIZE  
}; 

Структура для представления узла сетки 

Для представления узлов сетки в API экспорта используется 
следующая структура: 

typedef struct cfxNode 
{ 
float x, y, z; 
} cfxNode; 

Здесь переменные x, y и z являются координатами узла. Функция 
cfxExportNodeList возвращает указатель на массив узлов расчетной сетки. 

Структура для представления элемента сетки 

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

typedef struct cfxElement 
{ 
int type; 
int *nodeid; 
} cfxElement; 

Здесь параметр type указывает на тип элемента (число вершин, 
которым он задается), а параметр nodeid представляет массив с 
номерами узлов сетки, являющихся вершинами элемента. Указа
тель на массив элементов расчетной сетки возвращается функцией 
cfxExportElementList. 

1.2.2. Функции инициализации и обработки ошибок 

Функция 
int cfxExportInit  
                  (char *resfile, int counts[cfxCNT_SIZE]) 
открывает файл с результатами расчетов в Ansys CFX. Имя этого 
файла задано аргументом resfile и инициализирует API экспорта, возвращая число зон, определенных в модели. Если в аргументе counts был передан ненулевой указатель, то после вызова 
функции он будет указывать на массив счетчиков. Данная функция 
должна быть вызвана перед остальными функциями экспорта. 
Функция 
void cfxExportDone () 

закрывает файл с результатами расчетов в Ansys CFX и освобождает ресурсы, выделенные для экспорта. Данная функция должна быть 
вызвана после окончания работы остальных функций экспорта.  
Функция 
void cfxExportError  
                         (void (*callback) (char *errmsg)) 

определяет пользовательскую функцию, которая будет вызвана до 
завершения работы API экспорта в случае возникновения критической ошибки. Через параметр errmsg в пользовательскую функцию передается сообщение с кратким описанием возникшей 
ошибки. По умолчанию сообщение об ошибке выводится в системный поток stderr. 
Функция 
void cfxExportFatal (char *errmsg) 

закрывает файл с результатами расчетов в Ansys CFX и вызывает 
пользовательскую функцию обработки критической ошибки, если она была задана с помощью функции cfxExportError  
(см. выше), после чего завершает работу всей программы с кодом 
ошибки -1. 

1.2.3. Функции экспорта зон 

Вся работа с данными в API экспорта основана на текущей зоне 
модели, которая устанавливается функцией cfxExportZoneSet, 
описанной ниже. Доступ к узлам, элементам, объемам, областям 
поверхности модели, а также к значениям параметров осуществляется в пределах текущей зоны. 
Функция 
int cfxExportZoneCount () 

возвращает общее число зон, определенных в модели. 
Функция 
int cfxExportZoneSet  
                             (int zone, int counts[cfxCNT_SIZE]) 

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

1.2.4. Функции экспорта узлов сетки 

Функция 
int cfxExportNodeCount () 
возвращает число узлов расчетной сетки в текущей зоне. 

Доступ онлайн
800 ₽
В корзину