Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
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 (дата обращения: 05.05.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 ₽
В корзину