Дополнение Nadra-3D add-on для программного комплекса Blender

Рассмотрен пакет дополнения Nadra-3D add-on для программного комплекса Blender, позволяющий использовать программные пакеты Blender, TetGen, ParaView для пред/постобработки данных конечно-элементного решателя Nadra-3D, предназначенного для моделирования пространственных процессов фильтрации, теплоп...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2016
1. Verfasser: Белоус, М.В.
Format: Artikel
Sprache:Russian
Veröffentlicht: Інститут кібернетики ім. В.М. Глушкова НАН України 2016
Schriftenreihe:Кибернетика и системный анализ
Schlagworte:
Online Zugang:https://nasplib.isofts.kiev.ua/handle/123456789/142025
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Zitieren:Дополнение Nadra-3D add-on для программного комплекса Blender / М.В. Белоус // Кибернетика и системный анализ. — 2016. — Т. 52, № 5. — С. 177-185. — Бібліогр.: 15 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id nasplib_isofts_kiev_ua-123456789-142025
record_format dspace
spelling nasplib_isofts_kiev_ua-123456789-1420252025-02-09T17:38:15Z Дополнение Nadra-3D add-on для программного комплекса Blender Доповнення Nadra-3D add-on для програмного комплексу Blender Nadra-3D add-on for Blender software Белоус, М.В. Программно-технические комплексы Рассмотрен пакет дополнения Nadra-3D add-on для программного комплекса Blender, позволяющий использовать программные пакеты Blender, TetGen, ParaView для пред/постобработки данных конечно-элементного решателя Nadra-3D, предназначенного для моделирования пространственных процессов фильтрации, теплопроводности, изменения напряженнодеформированного состояния. Розглянуто пакет доповнення Nadra-3D add-on для програмного комплексу Blender, який дозволяє використовувати програмні пакети Blender, TetGen, ParaView для перед/постобробки даних скінченно-елементного розв’язувача Nadra-3D, призначеного для моделювання просторових процесів фільтрації, теплопровідності, зміни напружено-деформованого стану. Nadra-3D add-on package for Blender software is considered. This add-on allows use of Blender, TetGen, ParaView software for data pre/post processing for finite element solver Nadra-3D, designed for simulation of spatial processes of filtration, heat transfer and changes in the stress-strain state of multicomponent media. 2016 Article Дополнение Nadra-3D add-on для программного комплекса Blender / М.В. Белоус // Кибернетика и системный анализ. — 2016. — Т. 52, № 5. — С. 177-185. — Бібліогр.: 15 назв. — рос. 0023-1274 https://nasplib.isofts.kiev.ua/handle/123456789/142025 004.42:004.94 ru Кибернетика и системный анализ application/pdf Інститут кібернетики ім. В.М. Глушкова НАН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Russian
topic Программно-технические комплексы
Программно-технические комплексы
spellingShingle Программно-технические комплексы
Программно-технические комплексы
Белоус, М.В.
Дополнение Nadra-3D add-on для программного комплекса Blender
Кибернетика и системный анализ
description Рассмотрен пакет дополнения Nadra-3D add-on для программного комплекса Blender, позволяющий использовать программные пакеты Blender, TetGen, ParaView для пред/постобработки данных конечно-элементного решателя Nadra-3D, предназначенного для моделирования пространственных процессов фильтрации, теплопроводности, изменения напряженнодеформированного состояния.
format Article
author Белоус, М.В.
author_facet Белоус, М.В.
author_sort Белоус, М.В.
title Дополнение Nadra-3D add-on для программного комплекса Blender
title_short Дополнение Nadra-3D add-on для программного комплекса Blender
title_full Дополнение Nadra-3D add-on для программного комплекса Blender
title_fullStr Дополнение Nadra-3D add-on для программного комплекса Blender
title_full_unstemmed Дополнение Nadra-3D add-on для программного комплекса Blender
title_sort дополнение nadra-3d add-on для программного комплекса blender
publisher Інститут кібернетики ім. В.М. Глушкова НАН України
publishDate 2016
topic_facet Программно-технические комплексы
url https://nasplib.isofts.kiev.ua/handle/123456789/142025
citation_txt Дополнение Nadra-3D add-on для программного комплекса Blender / М.В. Белоус // Кибернетика и системный анализ. — 2016. — Т. 52, № 5. — С. 177-185. — Бібліогр.: 15 назв. — рос.
series Кибернетика и системный анализ
work_keys_str_mv AT belousmv dopolnenienadra3daddondlâprogrammnogokompleksablender
AT belousmv dopovnennânadra3daddondlâprogramnogokompleksublender
AT belousmv nadra3daddonforblendersoftware
first_indexed 2025-11-28T20:09:23Z
last_indexed 2025-11-28T20:09:23Z
_version_ 1850066151689682944
fulltext ÓÄÊ 004.42:004.94 Ì.Â. ÁÅËÎÓÑ ÄÎÏÎËÍÅÍÈÅ NADRA-3D ADD-ON ÄËß ÏÐÎÃÐÀÌÌÍÎÃÎ ÊÎÌÏËÅÊÑÀ BLENDER Àííîòàöèÿ. Ðàññìîòðåí ïàêåò äîïîëíåíèÿ Nadra-3D add-on äëÿ ïðîãðàììíî- ãî êîìïëåêñà Blender, ïîçâîëÿþùèé èñïîëüçîâàòü ïðîãðàììíûå ïàêåòû Blender, TetGen, ParaView äëÿ ïðåä/ïîñòîáðàáîòêè äàííûõ êîíå÷íî-ýëåìåíò- íîãî ðåøàòåëÿ Nadra-3D, ïðåäíàçíà÷åííîãî äëÿ ìîäåëèðîâàíèÿ ïðîñòðàí- ñòâåííûõ ïðîöåññîâ ôèëüòðàöèè, òåïëîïðîâîäíîñòè, èçìåíåíèÿ íàïðÿæåííî- äåôîðìèðîâàííîãî ñîñòîÿíèÿ. Êëþ÷åâûå ñëîâà: ìîäåëèðîâàíèå, ìåòîä êîíå÷íûõ ýëåìåíòîâ, ñâîáîäíîå ïðîãðàììíîå îáåñïå÷åíèå, ïðåä/ïîñòîáðàáîòêà äàííûõ. ÂÂÅÄÅÍÈÅ Ïðè ðàçðàáîòêå íîâûõ ìàòåìàòè÷åñêèõ ìîäåëåé, âû÷èñëèòåëüíûõ àëãîðèòìîâ è ïîñòðîåííûõ íà èõ îñíîâå ïðîãðàìì-ðåøàòåëåé îäíîé èç ïðîáëåì òåñòèðî- âàíèÿ è äàëüíåéøåãî ïðèìåíåíèÿ ïîñëåäíèõ äëÿ ðåøåíèÿ ïðàêòè÷åñêèõ çàäà÷ ÿâëÿåòñÿ ïîäãîòîâêà âõîäíûõ äàííûõ — ñîçäàíèå ìîäåëåé ãåîìåòðèè ñëîæíîé ñòðóêòóðû è ïîñòðîåíèå ðàñ÷åòíûõ ñåòîê äëÿ íèõ. Íàïèñàíèå ñîáñòâåííîãî ïðîãðàììíîãî îáåñïå÷åíèÿ äëÿ ýòèõ öåëåé — íå î÷åíü õîðîøàÿ èäåÿ, ïîñêîëüêó òðåáóåò çíà÷èòåëüíîãî âðåìåíè íà ñîçäàíèå êîäà è åùå áîëüøåãî — íà åãî îòëàäêó. Âìåñòå ñ òåì ñóùåñòâóåò äîñòàòî÷íîå êîëè- ÷åñòâî êà÷åñòâåííîãî ñâîáîäíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ, ïîçâîëÿþùåãî ïî- ñòðîèòü êàê ìîäåëü ãåîìåòðèè, òàê è ðàçíîîáðàçíûå ðàñ÷åòíûå ñåòêè äëÿ íåå. Îäíàêî ïðè ýòîì âîçíèêàåò ðÿä ïðîáëåì, ñâÿçàííûõ ñ ïåðåäà÷åé äàííûõ ìåæäó íåçàâèñèìûìè ïðîãðàììàìè, êàæäàÿ èç êîòîðûõ èìååò ñâîé ôîðìàò âõîäíûõ è âûõîäíûõ ôàéëîâ.  ýòîì ñëó÷àå àêòóàëüíà çàäà÷à îðãàíèçàöèè ñîâìåñòíîé ðà- áîòû ðàçëè÷íûõ ïðîãðàììíûõ ñèñòåì, è æåëàòåëüíî — ñ àâòîìàòèçàöèåé ïðî- öåññîâ êîíâåðòàöèè è ïåðåñûëêè äàííûõ ìåæäó íèìè. Äàëåå ðàññìîòðåíà ñõåìà îðãàíèçàöèè ñîâìåñòíîé ðàáîòû íåñêîëüêèõ ïðî- ãðàììíûõ ïàêåòîâ äëÿ ðåøåíèÿ çàäà÷ êîí÷åíî-ýëåìåíòíîãî ìîäåëèðîâàíèÿ. ÝÒÀÏÛ ×ÈÑËÅÍÍÎÃÎ ÌÎÄÅËÈÐÎÂÀÍÈß È ÏÐÎÃÐÀÌÌÍÎÅ ÎÁÅÑÏÅ×ÅÍÈÅ Ýòàïû ÷èñëåííîãî ìîäåëèðîâàíèÿ ôèçè÷åñêèõ ïðîöåññîâ ñ èñïîëüçîâàíèåì ìåòîäà êîíå÷íûõ ýëåìåíòîâ ìîæíî ïðåäñòàâèòü ñõåìîé, ïðèâåäåííîé íà ðèñ. 1. Ïðîãðàììíûå ïàêåòû ÷èñëåííîãî ìîäåëèðîâàíèÿ îáû÷íî ïðåäîñòàâëÿ- þò íàáîðû èíñòðóìåíòîâ äëÿ êàæäîãî èç ýòèõ ýòàïîâ, îáúåäèíåííûå ïîä îá- ùåé îáîëî÷êîé, èëè ñîâìåùåííûå èíñòðóìåíòû ïðåä/ïîñòîáðàáîòêè è ïîñòðî- åíèÿ ðàñ÷åòíîé ñåòêè, à òàêæå íàáîð êîíå÷íî-ýëåìåíòíûõ ðåøàòåëåé, ñïåöèà- ëèçèðóþùèõñÿ íà ìîäåëèðîâàíèè êîíêðåòíûõ ôèçè÷åñêèõ ïðîöåññîâ.  äàííîé ðàáîòå ðàññìîòðåíà òåõíîëîãèÿ ìîäåëèðîâàíèÿ ïðîñòðàíñòâåííûõ ïðîöåññîâ ôèëüòðàöèè, òåïëîïðîâîäíîñòè, èçìåíåíèÿ íàïðÿæåííî-äåôîðìèðîâàí- ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 177 Ïîñòðîåíèå ìàòåìàòè÷åñêîé ìîäåëè Ïîñòðîåíèå ìîäåëè ãåîìåòðèè Ïîñòðîåíèå ðàñ÷åòíîé ñåòêè ×èñëåííîå íàõîæäåíèå ðåøåíèÿ Àíàëèç ðåçóëüòàòîâ Ïðåïðîöåññîð Òðèàíãóëÿòîð Ðåøàòåëü Ïîñòïðîöåññîð Ýòàïû ìîäåëèðîâàíèÿ Ïðîãðàììíîå îáåñïå÷åíèå Èññëåäîâàòåëü Ðèñ. 1. Ñõåìà ýòàïîâ ÷èñëåííîãî ìîäåëèðîâàíèÿ © Ì.Â. Áåëîóñ, 2016 íîãî ñîñòîÿíèÿ ìíîãîêîìïîíåíòíûõ îáúåêòîâ ñ ïîìîùüþ ðàçðàáîòàííîãî â Èíñòè- òóòå êèáåðíåòèêè èìåíè Â.Ì. Ãëóøêîâà ÍÀÍ Óêðàèíû êîíå÷íî-ýëåìåíòíîãî ðåøà- òåëÿ Nadra-3D è ïðîãðàììíûõ ïàêåòîâ Blender, TetGen è ParaView. Òàêèì îáðàçîì, ïðèâåäåííàÿ ñõåìà (ñì. ðèñ. 1) ïðèíèìàåò âèä, ïîêàçàííûé íà ðèñ. 2, ãäå: � Blender [1] — ïðîãðàììíûé ïàêåò äëÿ ñîçäàíèÿ òðåõìåðíîé êîìïüþòåðíîé ãðàôèêè, âêëþ÷àþùèé ñðåäñòâà ìîäåëèðîâàíèÿ, àíèìàöèè, ðåíäåðèíãà, ïîñòîáðà- áîòêè è ìîíòàæà âèäåî ñî çâóêîì. Èíñòðóìåíòû ìîäåëèðîâàíèÿ ïîçâîëÿþò ðàáîòàòü ñ ãåîìåòðè÷åñêèìè ïðèìèòèâàìè (ïîëèãîíàëüíûìè ìîäåëÿìè, êðèâûìè Áåçüå, ïî- âåðõíîñòÿìè NURBS), à òàêæå êîíôèãóðèðîâàòü èíòåðôåéñ, ïèñàòü óïðàâëÿþùèå ñêðèïòû è ñîçäàâàòü èíñòðóìåíòû íà ñêðèïòîâîì ÿçûêå Python. Ðàñïðîñòðàíÿåòñÿ ïîä ëèöåíçèåé GNU GPL, îôèöèàëüíûé ñàéò http://www.blender.org; � TetGen [2] — ãåíåðàòîð ñåòîê òðèàíãóëÿöèè, ðàçðàáîòàííûé â Èíñòèòóòå ïðèêëàäíîãî àíàëèçà è ñòîõàñòèêè èìåíè Âåéåðøòðàññà, ïîçâîëÿåò ñòðîèòü ñåòêè òåòðàýäðîâ (òðèàíãóëÿöèþ Äåëîíå ñ îãðàíè÷åíèÿìè) äëÿ ïðîèçâîëüíîé òðåõìåð- íîé ãåîìåòðèè. Ðàñïðîñòðàíÿåòñÿ ïîä ëèöåíçèåé Gnu Affero Public License v.3.0, ñàéò ïðîåêòà http://www.tetgen.org; � ParaView [3] — ïðîãðàììíûé ïàêåò ñ îòêðûòûì èñõîäíûì êîäîì äëÿ âèçóà- ëèçàöèè è àíàëèçà ðåçóëüòàòîâ íàó÷íûõ âû÷èñëåíèé, â òîì ÷èñëå ïîëó÷åííûõ ñ èñ- ïîëüçîâàíèåì ìåòîäà êîíå÷íûõ ýëåìåíòîâ, âûïîëíÿåòñÿ êàê íà îäíîïðîöåññîðíûõ ìàøèíàõ, òàê è íà ìíîãîïðîöåññîðíûõ ñèñòåìàõ ñ ðàñïðåäåëåííîé è ðàçäåëÿåìîé ïàìÿòüþ ïîä óïðàâëåíèåì Windows, Mac OS X, Linux, SGI, IBM Blue Gene, Cray, Unix. Ðàçðàáàòûâàåòñÿ ñ 2000 ã. ñîâìåñòíî Kitware Inc., Los Alamos National Laboratory, Sandia National Labs è US Army Research Laboratory. Ïàêåò äîñòóïåí äëÿ çàãðóçêè ïîä ëèöåíçèåé BSD ñ îôèöèàëüíîãî ñàéòà http://www.paraview.org.  ðàññìàòðèâàåìîé äàëåå ñõåìå ñîâìåñòíîãî ïðèìåíåíèÿ ýòèõ ïðîãðàììíûõ êîìïëåêñîâ â êà÷åñòâå ãðàôè÷åñêîé ñðåäû äëÿ ðàáîòû ïîëüçîâàòåëÿ èñïîëüçóåò- ñÿ ñðåäà ïðîãðàììíîãî ïàêåòà 3D-ìîäåëèðîâàíèÿ Blender. Èíñòðóìåíòû ïàêåòà, ïîçâîëÿþùèå ñîçäàâàòü ìîäåëè îáúåêòîâ äîâîëüíî ñëîæíîé ãåîìåòðèè, äîïîëíå- íû íàïèñàííûì íà ñêðèïòîâîì ÿçûêå Python ìîäóëåì äîïîëíåíèÿ Nadra-3D add-on, ïðåäîñòàâëÿþùèì ïàíåëü óïðàâëåíèÿ ýòàïàìè ìîäåëèðîâàíèÿ. Ñ ïî- ìîùüþ ýòîé ïàíåëè îñóùåñòâëÿåòñÿ íàïîëíåíèå áèáëèîòåêè ïàðàìåòðîâ ìàòåìà- òè÷åñêîé ìîäåëè, ïðèâÿçêà ýòèõ ïàðàìåòðîâ ê ýëåìåíòàì ãåîìåòðèè, çàäàåòñÿ êîíôèãóðàöèÿ è çàïóñê íà âûïîëíåíèå ïàêåòîâ TetGen è Nadra-3D. Äëÿ óïðàâëå- íèÿ ôàéëàìè ââîäà/âûâîäà ýòèõ ïàêåòîâ íàïèñàí íàáîð óòèëèò. Àíàëèç ðåçóëüòà- òîâ ïðîâîäèòñÿ â ïàêåòå âèçóàëèçàöèè íàó÷íûõ âû÷èñëåíèé ParaView. Ïîäãîòîâêà ôàéëîâ äàííûõ â ôîðìàòå *.vtk äëÿ ýòîãî ïàêåòà îñóùåñòâëÿåòñÿ âñòðîåííûìè ìåòîäàìè ðåøàòåëÿ Nadra-3D. ÊÎÍÅ×ÍÎ-ÝËÅÌÅÍÒÍÛÉ ÐÅØÀÒÅËÜ NADRA-3D Ïðåäíàçíà÷åííûé äëÿ ÷èñëåííîãî ìîäåëèðîâàíèÿ ñòàöèîíàðíûõ è íåñòàöèî- íàðíûõ ïðîöåññîâ â ìíîãîêîìïîíåíòíûõ ñðåäàõ â äâóìåðíûõ è òðåõìåðíûõ ïîñòàíîâêàõ êîíå÷íî-ýëåìåíòíûé ðåøàòåëü Nadra-3D [4] ðàçðàáîòàí â Èíñòè- òóòå êèáåðíåòèêè èìåíè Â.Ì. Ãëóøêîâà ÍÀÍ Óêðàèíû. Áàçîâûìè âîçìîæíîñòÿìè äàííîé ïðîãðàììû ÿâëÿåòñÿ ðåøåíèå ñëåäóþùèõ çàäà÷: � ýëëèïòè÷åñêîãî òèïà (çàäà÷è ñòàöèîíàðíîé ôèëüòðàöèè, òåïëîïðîâîäíîñ- òè, óïðóãîñòè â äâóìåðíûõ è òðåõìåðíûõ ïîñòàíîâêàõ); 178 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 Ïîñòðîåíèå ìàòåìàòè÷åñêîé ìîäåëè Ïîñòðîåíèå ìîäåëè ãåîìåòðèè Ïîñòðîåíèå ðàñ÷åòíîé ñåòêè ×èñëåííîå íàõîæäåíèå ðåøåíèÿ Àíàëèç ðåçóëüòàòîâ Blender TetGen Nadra-3D ParaView Ýòàïû ìîäåëèðîâàíèÿ Ïðîãðàììíîå îáåñïå÷åíèå Èññëåäîâàòåëü Ðèñ. 2. Ñõåìà èñïîëüçîâàíèÿ ïðîãðàììíûõ ïàêåòîâ � ïàðàáîëè÷åñêîãî òèïà (çàäà÷è íåñòàöèîíàðíîé ôèëüòðàöèè, òåïëîïðîâîä- íîñòè â äâóìåðíûõ è òðåõìåðíûõ ïîñòàíîâêàõ); � ãèïåðáîëè÷åñêîãî òèïà (çàäà÷è íåñòàöèîíàðíîé òåîðèè óïðóãîñòè â äâó- ìåðíûõ è òðåõìåðíûõ ïîñòàíîâêàõ); � ñòàöèîíàðíîé ôèëüòðàöèè âîäû â ïðîñòðàíñòâåííî-ïëàíîâîé ïîñòàíîâêå. Êðîìå òîãî, â ðåøàòåëå ðåàëèçîâàí ðÿä ñåðâèñíûõ ôóíêöèé äëÿ ðàáîòû ñ ôàé- ëàìè äàííûõ è ðåçóëüòàòîâ, èõ ïðîñìîòðà è êîíâåðòàöèè â ðàçëè÷íûå ôîðìàòû: � ñðàâíåíèå äâóõ ôàéëîâ ðåçóëüòàòîâ; � ãåíåðèðîâàíèå ýòàëîííîãî ôàéëà ðåçóëüòàòîâ íà îñíîâàíèè ôàéëà äàííûõ; � êîíâåðòàöèÿ ôàéëà âûâîäà èç áèíàðíîãî ôîðìàòà â òåêñòîâûé; � ãåíåðàöèÿ íà îñíîâàíèè ôàéëîâ äàííûõ è ðåçóëüòàòîâ ôàéëà â ôîðìàòå *.vtk; � ñîõðàíåíèå ñãåíåðèðîâàííûõ ìàòðèöû è âåêòîðà ïðàâîé ÷àñòè â ôàéëû; � óìíîæåíèå ìàòðèöû íà âåêòîð (âõîäíûå äàííûå èç ôàéëîâ); � ïåðåíóìåðàöèÿ óçëîâ ðàñ÷åòíîé ñåòêè ïî îáðàòíîìó àëãîðèòìó Êàòõèë- ëà–Ìàêêè; � ýêñïîðò íóìåðàöèè óçëîâ ðàñ÷åòíîé ñåòêè èç ôàéëà *.tgl â ôàéë íóìåðà- öèè *.num; � èìïîðò íóìåðàöèè óçëîâ ðàñ÷åòíîé ñåòêè èç ôàéëà *.num â ôàéë *.tgl; � âû÷èñëåíèå ìàêñèìàëüíîé ðàçíîñòè íîìåðîâ äâóõ ñîñåäíèõ óçëîâ (ò.å. ïðèíàäëåæàùèõ îäíîìó êîíå÷íîìó ýëåìåíòó). Ïåðåäà÷à äàííûõ è âîçâðàò ðåçóëüòàòîâ îñóùåñòâëÿåòñÿ ÷åðåç ôàéëû. Íàñ- òðîéêè âû÷èñëèòåëüíîé ïîñëåäîâàòåëüíîñòè è ïàðàìåòðîâ ñ÷åòà çàäàþòñÿ ïî- ëüçîâàòåëåì â ôàéëå ïàñïîðòà çàäà÷è. Ïîääåðæèâàþòñÿ ðàçëè÷íûå àëãîðèòìû ðåøåíèÿ ðåçóëüòèðóþùèõ ñèñòåì ëèíåéíûõ àëãåáðàè÷åñêèõ óðàâíåíèé c áîëüøèì ÷èñëîì íåèçâåñòíûõ (ðàçìåð- íîñòü ñèñòåì ïîðÿäêà 106–107 íåèçâåñòíûõ), èñïîëüçóþùèå ïàðàëëåëüíûå âû- ÷èñëåíèÿ è âû÷èñëåíèÿ íà ãðàôè÷åñêèõ ïðîöåññîðàõ [5]. Ñðåäà âûïîëíåíèÿ — Windows èëè Linux ñ áèáëèîòåêîé MPI. Äëÿ ðàáîòû ÷àñòè àë- ãîðèòìîâ íåîáõîäèìû ãðàôè÷åñêèå ïðîöåññîðû, ïîääåðæèâàþùèå òåõíîëîãèþ CUDA. ÏÀÊÅÒ ÄÎÏÎËÍÅÍÈß NADRA-3D ADD-ON ÄËß BLENDER Íàçíà÷åíèå äîïîëíåíèÿ. Ïðîãðàììíûé ïàêåò Blender èìååò ìîùíûå ñðåäñòâà ñîçäàíèÿ ìîäåëåé ãåîìåòðèè è ðåíäåðèíãà. Îäíàêî ïðè ïîäãîòîâêå äàííûõ äëÿ êîíå÷íî-ýëåìåíòíîãî ðåøàòåëÿ íåîáõîäèìî òàêæå âûïîëíÿòü ðàçìåòêó ýòîé ãåîìåòðèè äëÿ ïðîãðàììû òðèàíãóëÿöèè è äåëàòü ïðèâÿçêó ôèçè÷åñêèõ õàðàêòåðèñòèê ìîäåëèðóåìûõ ïðîöåññîâ ê ýëåìåíòàì ãåîìåòðèè, äëÿ ÷åãî è ïðèìåíÿåòñÿ äîïîëíåíèå Nadra-3D add-on äëÿ Blender. Èíñòðóìåíòàëüíûå ïàíåëè äîïîëíåíèÿ ñîäåðæàò íàáîð îïåðàòîðîâ äëÿ ñî- çäàíèÿ è ðåäàêòèðîâàíèÿ áèáëèîòåê ïàðàìåòðîâ (ìàòåðèàëîâ ñðåäû, âíåøíèõ íà- ãðóçîê, ýòàëîííûõ çíà÷åíèé ðåøåíèÿ, êðàåâûõ óñëîâèé), èíñòðóìåíòû íàñòðîéêè òðèàíãóëÿòîðà, îïåðàòîðû óïðàâëåíèÿ çàïóñêîì óòèëèò, îòðàáàòûâàþùèõ ïîñëåäîâàòåëüíîñòü ïîäãîòîâêè ôàéëîâ. Ñîñòàâ äîïîëíåíèÿ. Ðàññìàòðèâàåìîå äîïîëíåíèå ñîäåðæèò íàáîð ñêðèï- òîâ íà ÿçûêå Python: __init__.py nadra3d_boundary_selectors.py nadra3d_filtration3d.py nadra3d_collections.py nadra3d_groups.py nadra3d_datalib.py nadra3d_markers.py nadra3d_execute.py nadra3d_solver.py nadra3d_export.py, à òàêæå ïàêåòíûå ôàéëû nadra3d.bat, nadra3d.start è íàáîð óòèëèò â âèäå èñïîëíÿ- åìûõ ôàéëîâ. Íàáîð óòèëèò äîïîëíåíèÿ ïðåäíàçíà÷åí äëÿ ðàáîòû ñ ôàéëàìè äàííûõ ïðî- ãðàììíûõ êîìïëåêñîâ TetGen, Nadra-3D è ParaView. Óòèëèòû ìîæíî çàïóñêàòü èç êîìàíäíîé ñòðîêè, îäíàêî ïðåäïîëàãàåòñÿ, ÷òî îñíîâíîé ñïîñîá ðàáîòû ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 179 ñ íèìè — ãðàôè÷åñêèé èíòåðôåéñ êîìïëåêñà Blender. Ïðèâåäåííûå äàëåå óòèëèòû âûïîëíÿþò ñëåäóþùèå îïåðàöèè: � ply2smesh.exe êîíâåðòèðóåò îïèñàíèå îáëàñòè ìîäåëèðîâàíèÿ èç ôîðìàòà *.ply â ôîðìàò *.smesh òðèàíãóëÿòîðà TetGen; � rcm.exe îñóùåñòâëÿåò ïåðåíóìåðàöèþ ñåòêè òðèàíãóëÿöèè, ïåðåäàííîé âî âõîäíîì ôàéëå ôîðìàòà *.tgl, ïî îáðàòíîìó àëãîðèòìó Êàòõèëëà–Ìàêêè (ïåðåíó- ìåðàöèþ ñîçäàííîé ñåòêè òàêæå ìîæíî îñóùåñòâëÿòü çàïóñêîì ðåøàòåëÿ Nadra-3D ñ ñîîòâåòñòâóþùèìè êëþ÷àìè); � tetgen2tgl.exe ãåíåðèðóåò íà îñíîâå ôàéëîâ ñ äàííûìè î ñåòêå òðèàíãóëÿ- öèè â ôîðìàòå òðèàíãóëÿòîðà TetGen ôàéë ñ îïèñàíèåì ñåòêè òðèàíãóëÿöèè â ôîðìàòå *.tgl; � tgl2prm.exe ãåíåðèðóåò íà îñíîâå ôàéëîâ ñ äàííûìè î ñåòêå òðèàíãóëÿöèè â ôîðìàòå *.tgl, áèáëèòåêè ïàðàìåòðîâ è ôàéëà èíäåêñîâ â ôîðìàòå *.ply ôàéë ïàðàìåòðîâ â ôîðìàòå *.prm; � TaskInf.exe ïðåäîñòàâëÿåò ãðàôè÷åñêèé èíòåðôåéñ äëÿ ðåäàêòèðîâàíèÿ ïàñ- ïîðòîâ çàäà÷ TaskInf.ini è ïàêåòíûõ ôàéëîâ nadra3d.bat è nadra3d.start, ìîæåò çàïóñêàòüñÿ êàê èç ãðàôè÷åñêîãî èíòåðôåéñà Blender, òàê è â àâòîíîìíîì ðåæèìå. Óñòàíîâêà äîïîëíåíèÿ. Äëÿ ýòîãî íåîáõîäèìî âûïîëíèòü ñëåäóþùèå øàãè: � ðàñïàêîâàòü àðõèâ ñ äîïîëíåíèåì è ñêîïèðîâàòü ïàïêó nadra3d-addon â ïàï- êó ñ äîïîëíåíèÿìè Blender (íà êîìïüþòåðå ïîä óïðàâëåíèåì Windows ýòî îáû÷íî ïàïêà C:\Users\username\AppData\Roaming\Blender Foundation\Blender\2.74\ scripts\addons èëè C:\Program Files\Blender Foundation\Blender\2.74\scripts\ addons); � ñêîïèðîâàòü ïàïêó nadra3d-utilities â ëþáîå óäîáíîå ìåñòî, íàñòðîéêó ïó- òåé ê ýòîé ïàïêå íåîáõîäèìî âûïîëíèòü íà ïàíåëè äîïîëíåíèÿ Paths ïîñëå çà- âåðøåíèÿ åãî óñòàíîâêè; � çàïóñòèòü Blender, îòêðûòü ðåäàêòîð íàñòðîåê èç ìåíþ File � User Preferences (Ctrl Alt U), â îòêðûâøåìñÿ îêíå âûáðàòü âêëàäêó Add-ons; � â ñïèñêå Categories âûáðàòü êàòåãîðèþ User èëè Object, â îòêðûâøåìñÿ ñïèñêå äîñòóïíûõ äîïîëíåíèé óñòàíîâèòü ôëàæîê àêòèâàöèè íàïðîòèâ nadra3d.  ðåçóëüòàòå â ñèñòåìíîé êîíñîëè (îòêðûâàåòñÿ èç ìåíþ Window � Toggle System Console) ïîÿâèòñÿ ñîîáùåíèå: “imported Nadra-3d add-on”, à íà ïàíåëè èíñòðóìåíòîâ (ïàíåëü íà ðàáî÷åì ñòîëå ñëåâà) — âêëàäêà Nadra-3D (ðèñ. 3). Ñîçäàííûå ñ èñïîëüçîâàíèåì äîïîëíåíèÿ Nadra-3D add-on áèáëèîòåêè ïàðà- ìåòðîâ ïðè ñîõðàíåíèè ïðîåêòà Blender â ôàéë *.blend áóäóò àâòîìàòè÷åñêè çà- 180 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 Ðèñ. 3. Âèä îêíà ïàêåòà Blender ñ óñòàíîâëåííûì äîïîëíåíèåì Nadra-3D ïèñûâàòüñÿ êàê äàííûå ïðîåêòà. Îäíàêî ïðè îòêðûòèè ôàéëà â ïàêåòå Blender áåç óñòàíîâëåííîãî äîïîëíåíèÿ îíè íå çàãðóçÿòñÿ, òàê êàê â ñðåäå íå çàðåãèñòðè- ðîâàíû ñîîòâåòñòâóþùèå ñâîéñòâà îáúåêòîâ. Ïîýòîìó, ÷òîáû êàæäûé ðàç ïðè çà- ïóñêå Blender íå óñòàíàâëèâàòü äîïîëíåíèÿ è íå íàñòðàèâàòü ïóòåé äëÿ çàïóñêà óòèëèò, íåîáõîäèìî ñîõðàíèòü íîâûå íàñòðîéêè ïî óìîë÷àíèþ: File � User Preferences, êíîïêà Save User Settings (Ctrl U). Ðàáîòà ñ äîïîëíåíèåì. Ïðè ïîäãîòîâêå äàííûõ äëÿ êîíå÷íî-ýëåìåíòíîãî ðå- øàòåëÿ Nadra-3D ðàáîòà ïîëüçîâàòåëÿ â ñðåäå Blender ñîñòîèò èç ñëåäóþùèõ ýòàïîâ: � ïîñòðîåíèå ìîäåëè ãåîìåòðèè ñðåäñòâàìè Blender; � íàïîëíåíèå áèáëèîòåê ïàðàìåòðîâ è èõ ïðèâÿçêà ê ãåîìåòðèè; � ðàçìåòêà ñîçäàííîé ìîäåëè äëÿ ïðîãðàììû òðèàíãóëÿöèè; � íàñòðîéêà ïîñëåäîâàòåëüíîñòè ïîäãîòîâêè äàííûõ; � çàïóñê ïîñëåäîâàòåëüíîñòè ïîäãîòîâêè äàííûõ íà âûïîëíåíèå. Èíñòðóìåíòàðèé ïîñòðîåíèÿ ìîäåëåé ãåîìåòðèè ðàññìîòðåí â äîêóìåíòà- öèè è îáó÷àþùèõ ìàòåðèàëàõ äëÿ ïðîãðàììíîãî êîìïëåêñà Blender [1]. Äàëåå ðàññìîòðåíû íåêîòîðûå èíñòðóìåíòû äîïîëíåíèÿ Nadra-3D add-on. Ðàáîòà ñ áèáëèîòåêîé ïàðàìåòðîâ. Ñîçäàíèå, ðåäàêòèðîâàíèå, ïðèâÿçêà ê ýëåìåíòàì ãåîìåòðèè ðàçëè÷íûõ õàðàêòåðèñòèê ìàòåìàòè÷åñêîé ìîäåëè îñóùåñò- âëÿþòñÿ íà ïàíåëè ðåäàêòîðà áèáëèîòåêè ïàðàìåòðîâ Data library (ðèñ. 4, à). Ñâåðõó ïàíåëè (ñì. ðèñ. 4, à) ðàñïîëîæåíû ôèëüòðû âûáîðà ìîäåëèðóåìîãî ïðîöåññà è ðàçìåðíîñòè çàäà÷è (À). Âûáîð ýòèõ çíà÷åíèé îïðåäåëÿåò êîëè÷åñòâî òîìîâ áèáëèîòåêè. Íàïðèìåð, äëÿ òðåõìåðíîé çàäà÷è ôèëüòðàöèè èìååòñÿ øåñòü òîìîâ: ìàòåðèàëû, íàãðóçêè (ñèëû), ýòàëîííûå çíà÷åíèÿ, êðàåâûå óñëîâèÿ íà ôðàãìåíòàõ ïîâåðõíîñòè ãðàíèöû, êðàåâûå óñëîâèÿ íà ðåáðàõ ãðàíèöû, êðàåâûå óñëîâèÿ â óçëàõ ãðàíèöû. Âîîáùå ãîâîðÿ, äëÿ ïîñòàíîâêè çàäà÷è íåîáõîäèìî îïðåäåëÿòü òîëüêî çíà÷åíèÿ ìàòåðèàëîâ, íàãðóçîê è êðàåâûõ óñëîâèé íà ôðàã- ìåíòàõ ïîâåðõíîñòè ãðàíèöû. Îñòàëüíûå òîìà îïöèîíàëüíûå, ïîñêîëüêó ýòàëîí- íûå çíà÷åíèÿ èñïîëüçóþòñÿ íà ýòàïå âåðèôèêàöèè ìîäåëè, à êðàåâûå óñëîâèÿ íà ðåáðàõ è óçëàõ — äëÿ çàäàíèÿ äîïîëíèòåëüíûõ ëîêàëüíûõ îãðàíè÷åíèé. Ïåðå- êëþ÷åíèå ìåæäó òîìàìè áèáëèîòåêè îñóùåñòâëÿåòñÿ êíîïêàìè íà ïàíåëè (Â). Íà ïàíåëè (Ñ) ñëåâà íàõîäèòñÿ ñïèñîê çàïèñåé â àêòèâíîì òîìå áèáëèîòåêè, à ïîä íèì — êîíòåêñòíàÿ ïàíåëü (D) äëÿ ðåäàêòèðîâàíèÿ ïàðàìåòðîâ àêòèâíîé çàïèñè. Ïàíåëü (E) ñïðàâà ñîäåðæèò ñãðóïïèðîâàííûå ïî ðàçäåëàì èíñòðóìåíòû äëÿ ñî- çäàíèÿ çàïèñåé â àêòèâíîì òîìå áèáëèîòåêè è èõ ïðèâÿçêè ê ýëåìåíòàì ãåîìåòðèè. ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 181 Ðèñ. 4. Ðåäàêòîð áèáëèîòåêè ïàðàìåòðîâ (à) è ðåäàêòîð íàñòðîåê äëÿ ïîñëåäîâàòåëüíîñòè ïîäãîòîâêè ôàéëîâ äàííûõ (á) à á Íàñòðîéêà òðèàíãóëÿòîðà è ðàçìåòêà ãåîìåòðèè. Äàííàÿ ïðîöåäóðà âû- ïîëíÿåòñÿ íà ïàíåëè Triangulator. Ïðîãðàììà TetGen [2] äëÿ ïîñòðîåíèÿ ñåòêè òðèàíãóëÿöèè çàïóñêàåòñÿ ñ íàáîðîì êëþ÷åé êîìàíäíîé ñòðîêè. Ïîäðîáíîå îïè- ñàíèå êëþ÷åé è èõ âîçìîæíûõ êîìáèíàöèé ìîæíî íàéòè â äîêóìåíòàöèè è íà ñàéòå ïðîåêòà.  èñïîëüçóåìîé ñâÿçêå Blender–TetGen–Nadra-3D ïðèìåíÿåòñÿ îãðàíè÷åííûé íàáîð ýòèõ êëþ÷åé: ÷àñòü èç íèõ çàêðåïëåíà â ïðîãðàììíîì êîäå äîïîëíåíèÿ, ÷àñòü — äîñòóïíà äëÿ ðåäàêòèðîâàíèÿ ïîëüçîâàòåëåì óñòàíîâêîé íà ïàíåëè ñîîòâåòñòâóþùèõ ôëàæêîâ.  òåêñòîâîé îáëàñòè ââåðõó ïàíåëè îòîáðà- æàåòñÿ ñãåíåðèðîâàííàÿ êîìàíäíàÿ ñòðîêà, êîòîðàÿ èñïîëüçóåòñÿ äëÿ çàïóñêà òðèàíãóëÿòîðà. Äëÿ ðåäàêòèðîâàíèÿ ïîëüçîâàòåëþ äîñòóïíû ñëåäóþùèå êëþ÷è: «–a» ïðåäíàçíà÷åí äëÿ óñòàíîâêè îãðàíè÷åíèÿ íà îáúåì ãåíåðèðóåìûõ òåòðàýä- ðîâ; «–O» — äëÿ ãåíåðàöèè ñåòêè ýëåìåíòîâ äëÿ êâàäðàòè÷íûõ áàçèñíûõ ôóíê- öèé ìåòîäà êîíå÷íûõ ýëåìåíòîâ; «–V» — äëÿ ïîäðîáíîãî âûâîäà â êîíñîëü. Ðàçìåòêà ãåîìåòðèè äëÿ òðèàíãóëÿöèè âûïîëíÿåòñÿ èíñòðóìåíòàìè region markers, hole markers è boundary, äîñòóïíûìè íà ïàíåëè Tools. Ìîäåëü ãåîìåòðèè ïðåäñòàâëÿåò ñîáîé íàáîð çàìêíóòûõ ïîâåðõíîñòåé. Ïðîãðàììà TetGen ïîçâîëÿåò ñòðîèòü òðèàíãóëÿöèþ ñ îãðàíè÷åíèÿìè, ò.å. ðåáðà ïîñòðîåííîãî íàáîðà òåòðàýäðîâ íå ïåðåñåêàþò èñõîäíûõ ïîâåðõíîñòåé. Ïðè ýòîì ñóùåñòâóåò âîçìîæíîñòü êàæäîìó îáúåìó, îãðàíè÷åííîìó çàìêíóòîé ïî- âåðõíîñòüþ, ñòàâèòü â ñîîòâåòñòâèå íåêîòîðûé ÷èñëîâîé èíäåêñ. Äëÿ ýòîãî â ïðîèçâîëüíîå ìåñòî îãðàíè÷åííîãî ïîâåðõíîñòüþ ïðîñòðàíñòâà íóæíî ïîìåñ- òèòü ìàðêåð ñî çíà÷åíèåì èíäåêñà, êîòîðîå çàòåì áóäåò ïðèñâîåíî âñåì òåòðàýä- ðàì, ëåæàùèì â ýòîì ïðîñòðàíñòâå. Àíàëîãè÷íî îãðàíè÷åííîå çàìêíóòîé ïîâåðõíîñòüþ ïðîñòðàíñòâî ìîæíî îòìåòèòü êàê ïóñòîå. Èíñòðóìåíòàðèé äîïîëíåíèÿ Nadra-3D add-on ïîçâîëÿåò ñîçäàâàòü òàêèå ìàðêå- ðû, îòìå÷àþùèå ïóñòîòû (hole markers) è êîìïîíåíòû ìîäåëè ñ ðàçëè÷íûìè ñâîé- ñòâàìè (region markers) è àññîöèèðîâàòü ñ íèìè íàáîðû ôèçè÷åñêèõ õàðàêòåðèñòèê. Àíàëîãè÷íî òðèàíãóëÿòîð TetGen îñóùåñòâëÿåò ìàðêèðîâêó òðåóãîëüíèêîâ, ëåæàùèõ íà ãðàíèöå. Äîïîëíåíèå Nadra-3D add-on ðàññòàâëÿåò ìàðêåðû äëÿ ãðà- íèöû àâòîìàòè÷åñêè, ïîëüçîâàòåëþ òîëüêî íóæíî îòìåòèòü ýëåìåíòû ãðàíèöû èíñòðóìåíòîì boundary è ïðèâÿçàòü ê íèì êðàåâûå óñëîâèÿ. Äëÿ ïðèìåðà ðàññìîòðèì íåêîòîðûé íàáîð ïîâåðõíîñòåé À, Â, Ñ (ðèñ. 5) è âûïîëíèì ðàçìåòêó òàêèì îáðàçîì, ÷òîáû ýòîò íàáîð ïîâåðõíîñòåé îïèñûâàë ñîñòîÿùåå èç äâóõ êîìïîíåíòîâ òåëî, ñîäåðæàùåå ïóñòîòó. Äëÿ ýòîãî âíóòðè ïî- âåðõíîñòè À, íî âíå ïîâåðõíîñòåé  è Ñ, ïîìåñòèì ìàðêåð ðåãèîíà *R1, âíóòðè ïîâåðõíîñòè Ñ — ìàðêåð ðåãèîíà *R2, à âíóòðè ïîâåðõíîñòè  — ìàðêåð ïóñòî- òû *H1. Ïîñëå òðèàíãóëÿöèè ïîëó÷èì ñåòêó, çàïîëíÿþùóþ îáúåì âíóòðè ïîâåðõ- íîñòè À, íî âíå ïîâåðõíîñòè Â, ñ ïðîñòàâëåííûìè òåãàìè äëÿ äâóõ ïîäîáëàñòåé: 1 — äëÿ ïîäîáëàñòè ñ ìàðêåðîì R1 è 2 — äëÿ ïîäîáëàñòè ñ ìàðêåðîì R2. Ïîäãîòîâêà äàííûõ äëÿ ðåøàòåëÿ Nadra-3D. Äëÿ âûïîëíåíèÿ ðàñ÷åòîâ ðåøàòåëþ íåîáõîäèìî ïåðåäàòü ôàéë äàííûõ *.tgl ñ îïèñàíèåì ñåòêè òðèàíãóëÿ- öèè, ôàéë *.prm ñ îïèñàíèåì ïàðàìåòðîâ ìàòåìàòè÷åñêîé ìîäåëè, ôàéë *.num ñ îïèñàíèåì íóìåðàöèè óçëîâ ñåòêè (îïöèîíàëüíî) è ïàñïîðò çàäà÷è TaskInf.ini. Ïîñòðîåíèå ýòèõ ôàéëîâ äîïîëíåíèåì Nadra-3D add-on äëÿ Blender îñóùåñòâëÿ- åòñÿ ïîñëåäîâàòåëüíûì âûïîëíåíèåì ñëåäóþùèõ ýòàïîâ: � Export to *.ply files — ýêñïîðò áèáëèîòåê ïàðàìåòðîâ è èíäåêñîâ èõ ïðè- âÿçêè ê ýëåìåíòàì ãåîìåòðèè â ôàéëû ôîðìàòà *.ply (ñì. äàëåå); 182 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 A B C *R1 *R2*H1 1 2 Ðèñ. 5. Ðàçìåòêà îáëàñòè äëÿ òðèàíãóëÿòîðà � Generate tetgen smesh — ýêñïîðò îïèñàíèÿ ìîäåëè ãåîìåòðèè è íàñòðîåê òðèàíãóëÿöèè â ôàéë ôîðìàòà *.smesh (ôàéë äàííûõ òðèàíãóëÿòîðà TetGen); � Triangulate — çàïóñê òðèàíãóëÿòîðà TetGen; � Generate nadra3d.tgl — êîíâåðòàöèÿ ïîñòðîåííîé ñåòêè òðèàíãóëÿöèè â ôîðìàò *.tgl ïðîãðàììíîãî êîìïëåêñà Nadra-3D; � Renumerate (RCM) — ïåðåíóìåðàöèÿ óçëîâ ñåòêè òðèàíãóëÿöèè; � Generate nadra3d.prm — ïîñòðîåíèå ôàéëà îïèñàíèÿ ïàðàìåòðîâ â ôîðìàòå *.prm ïðîãðàììíîãî êîìïëåêñà Nadra-3D; � Run solver — çàïóñê ðåøàòåëÿ. Êàê ïðàâèëî, ïîñëå ïîäãîòîâêè äàííûõ ïîëüçîâàòåëü ïðîâîäèò ðàñ÷åòû, ïîý- òîìó â ïîñëåäîâàòåëüíîñòü ãåíåðàöèè ôàéëîâ äàííûõ äîáàâëåí â êà÷åòñâå çà- êëþ÷èòåëüíîãî ýòàïà àâòîìàòèçèðîâàííûé çàïóñê ðåøàòåëÿ Nadra-3D. Ëþáîé ïðèâåäåííûé ýòàï ìîæíî èñêëþ÷èòü èç âûïîëíåíèÿ, ñíÿâ íà ïàíåëè óïðàâ- ëåíèÿ ôëàæîê âîçëå êíîïêè ñ åãî íàçâàíèåì. Íàïðèìåð, åñëè íóæíî ñãåíåðèðîâàòü íåñêîëüêî ðàçëè÷íûõ ñåòîê òðèàíãóëÿöèè, ýòàïû ñîçäàíèÿ ôàéëîâ â ôîðìàòàõ *.ply è *.smesh íåçà÷åì âûïîëíÿòü ïðè ïîñòðîåíèè êàæäîé ñåòêè, äîñòàòî÷íî îäíîãî ðàçà. Ðåäàêòèðîâàíèå íàñòðîåê ïîñëåäîâàòåëüíîñòè ïîäãîòîâêè ôàéëîâ äàííûõ îñó- ùåñòâëÿåòñÿ íà âêëàäêå Execute äîïîëíåíèÿ Nadra-3D add-on (ñì. ðèñ. 4, á), íà êîòî- ðîé ìîæíî çàäàòü íàñòðîéêè äëÿ êàæäîãî ýòàïà. Çàïóñê âûïîëíåíèÿ ïîñëåäîâàòåëü- íîñòè îñóùåñòâëÿåòñÿ íàæàòèåì êíîïêè Execute sequence âíèçó âêëàäêè. Êàæäûé ýòàï òàêæå ìîæíî âûïîëíèòü îòäåëüíî, íàæàâ íà êíîïêó ñ åãî íàçâàíèåì. Ïîòîêè âûâîäà è îøèáîê âûçûâàåìûõ óòèëèò ïåðåíàïðàâëÿþòñÿ â ñèñòåìíóþ êîíñîëü (îò- êðûâàåòñÿ èç ìåíþ Window � Toggle System Console), êðàòêàÿ èíôîðìàöèÿ î âû- ïîëíÿåìîì ýòàïå èëè îøèáêå äóáëèðóåòñÿ â èíôîðìàöèîííîé ïàíåëè Blender. Îòìåòèì, ÷òî âñå ýòàïû ïîñëåäîâàòåëüíîñòè ïîäãîòîâêè ôàéëîâ äàííûõ, çà èñêëþ÷åíèåì ïåðâîãî, âûïîëíÿþòñÿ íå èíòåãðèðîâàííûìè â Blender ñêðèïòàìè, à óòèëèòàìè èç êîìïëåêòà ïîñòàâêè Nadra-3D add-on. Òàêèì îáðàçîì, ïîäãîòîâèâ îïèñàíèå ìîäåëè â âèäå ñîîòâåòñòâóþùèõ ôàéëîâ â ôîðìàòå *.ply (íàïðèìåð, ýêñïîðòèðîâàâ ýòè äàííûõ èç ñîáñòâåííîãî ðåäàêòîðà), ìîæíî ãåíåðèðîâàòü ôàéëû äàííûõ ðåøàòåëÿ Nadra-3D è áåç èñïîëüçîâàíèÿ ïàêåòà Blender. Ôàéëû ôîðìàòà *.ply. Ýêñïîðò áèáëèîòåêè ïàðàìåòðîâ, ìîäåëè ãåîìåòðèè è èíäåêñà ïðèâÿçêè ýëåìåíòîâ áèáëèîòåêè ê ýëåìåíòàì ãåîìåòðèè îñóùåñòâëÿåòñÿ â ôàéëû ôîðìàòà *.ply (Stanford Triangle Format) — îòêðûòîãî ôîðìàòà, ðàçðàáîòàí- íîãî â ñåðåäèíå 90-õ ãîäîâ â ëàáîðàòîðèè êîìïüþòåðíîé ãðàôèêè Ñòåíôîðäñêîãî óíèâåðñèòåòà äëÿ õðàíåíèÿ íàáîðà òðåõìåðíûõ äàííûõ, ïîëó÷àåìûõ ñ 3D-ñêàííå- ðîâ. Ïðåèìóùåñòâîì ôîðìàòà ÿâëÿåòñÿ åãî ãèáêîñòü è ïðîñòîòà — èäåíòèôèêàöèÿ çàïèñàííûõ äàííûõ îñóùåñòâëÿåòñÿ ïî çàãîëîâêó ôàéëà, ñîäåðæàùåìó îïèñàíèå ïî- ëåé äàííûõ. Ñóùåñòâóþò òåêñòîâàÿ âåðñèÿ ôîðìàòà: format ascii 1.0, è äâå äâîè÷- íûõ: format binary_little_endian 1.0 è format binary_big_endian 1.0. Äëÿ ýêñïîðòà äàííûõ äîïîëíåíèå Nadra-3D add-on èñïîëüçóåò òåêñòîâóþ âåðñèþ ôîðìàòà. Äëÿ êàæäîé ìîäåëè ñîçäàþòñÿ òðè ôàéëà äàííûõ. Íàïðèìåð, åñëè èìÿ ìîäåëè modelName, òî ïîëó÷åííûå ôàéëû ñëåäóþùèå: modelName.mesh.ply — ôàéë îïèñàíèÿ ïîâåðõíîñòåé, ñîñòàâëÿþùèõ ìîäåëü, modelName.lib.ply — ôàéë îïèñàíèÿ áèáëèîòå- êè ïàðàìåòðîâ, modelName.links.ply — èíäåêñ ïðèâÿçêè ïàðàìåòðîâ ê ãåîìåòðèè. Àâòîìàòèçèðîâàííûé çàïóñê ðåøàòåëÿ Nadra-3D. Ïîñëåäíèì ýòàïîì ïî- ñëåäîâàòåëüíîñòè ãåíåðàöèè ôàéëîâ äàííûõ ÿâëÿåòñÿ çàïóñê êîíå÷íî-ýëåìåíòíî- ãî ðåøàòåëÿ Nadra-3D èç ãðàôè÷åñêîãî èíòåðôåéñà Blender ñ ïîìîùüþ êîìàí- äíîãî ôàéëà nadra3d.bat. Äàëåå ïðèâåäåí ïðèìåð òàêîãî ôàéëà, âûïîëíÿþùåãî óïàêîâêó ñãåíåðèðîâàííûõ íà ðàáî÷åé ìàøèíå ïîä óïðàâëåíèåì Windows ôàé- ëîâ äàííûõ â zip-àðõèâ, èõ ïåðåñûëêó íà óäàëåííûé êëàñòåðíûé êîìïëåêñ ïîä óïðàâëåíèåì Linux è çàïóñê íà íåì ñêðèïòà nadra3d.start, îñóùåñòâëÿþùåãî äàëüíåéøóþ ðàáîòó ñ ýòèìè äàííûìè: :start @echo off title Nadra3D if not exist %1 ( goto finish ) set local_data_dir=%1 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 183 set arhiver="C:\Program Files\7-Zip\7z" set putty="E:\N3D_install_pack\PuTTY\putty" set pscp="E:\N3D_install_pack\PuTTY\pscp" set remote_commands="E:\N3D_install_pack\nadra3d_addon\exe-x32\ nadra3d.start" set remote_data_dir="./nadra3d_ex/data" set user=user_name set password=user_password set host=icybcluster.org.ua :: zip data for upload %arhiver% a -r %local_data_dir%\data.zip %local_data_dir%\* :: upload data to cluster %pscp% -pw %password% %local_data_dir%\data.zip %user%@%host%:%remote_data_dir% :: delete data.zip del %local_data_dir%\data.zip" :: start remote commands %putty% -ssh %user%@%host% -pw %password% -m %remote_commands% -t :finish Äëÿ àðõèâàöèè ôàéëîâ èñïîëüçóåòñÿ àðõèâàòîð 7-zip, äëÿ ïåðåñûëêè — ïðî- ãðàììà pscp, äëÿ âûïîëíåíèÿ óäàëåííûõ êîìàíä — êîíñîëü putty. Ñëåäóþùèé ñêðèïò nadra3d.start âûïîëíÿåò ðàñïàêîâêó ïåðåäàííûõ íà óäàëåí- íûé êëàñòåðíûé êîìïëåêñ äàííûõ è çàïóñêàåò êîíå÷íî-ýëåìåíòíûé ðåøàòåëü, ïå- ðåíàïðàâëÿÿ ñòàíäàðòíûå ïîòîêè âûâîäà è îøèáîê â ñîîòâåòñòâóþùèå ôàéëû: cd ./nadra3d_ex/data; unzip data.zip; rm -f data.zip; mv *.ini ../TaskInf.ini cd .. srun -n 1 -p scit4_lt n2d3d 1 > nadra3d.log 2 > nadra3d.err 184 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 Ðèñ. 6. Âèä îêíà ïàêåòà ParaView ñ çàãðóæåííîé ìîäåëüþ ×åðíèãîâñêîãî ìåñòîðîæäåíèÿ ïîäçåìíûõ âîä Ïîñòîáðàáîòêà ðåçóëüòàòîâ. Ïîñëå îòðàáîòêè ðåøàòåëÿ ïîëüçîâàòåëü ïåðå- ñûëàåò äàííûå íà ïåðñîíàëüíûé êîìïüþòåð, ãäå îíè âèçóàëèçèðóþòñÿ ïðîãðàì- ìíûì êîìïëåêñîì ParaView [3] (ðèñ. 6). Äëÿ ïîäãîòîâêè ôàéëîâ â ôîðìàòå *.vtk, êîòîðûå îí ïîçâîëÿåò èìïîðòèðîâàòü, íåîáõîäèìî âêëþ÷èòü ñîîòâåòñòâóþùèé ýòàï â ïàñïîðò çàäà÷è ðåøàòåëÿ Nadra-3D, â ðåçóëüòàòå èç ôàéëîâ *.tgl, *.tag, *.out áóäåò ñîáðàí ôàéë â ôîðìàòå *.vtk. ÇÀÊËÞ×ÅÍÈÅ Â ðàáîòå ðàññìîòðåíî èñïîëüçîâàíèå ïðîãðàììíûõ ïàêåòîâ Blender, TetGen, ParaView è Nadra-3D äëÿ ìîäåëèðîâàíèÿ ïðîñòðàíñòâåííûõ ïðîöåññîâ ìåòî- äîì êîíå÷íûõ ýëåìåíòîâ. Ðàçðàáîòàííàÿ ñõåìà îðãàíèçàöèè ñîâìåñòíîé ðàáî- òû ýòèõ ïàêåòîâ ïðåäîñòàâëÿåò ïîëüçîâàòåëþ èíòåðôåéñ óïðàâëåíèÿ ïîñëåäî- âàòåëüíîñòüþ ìîäåëèðîâàíèÿ, àâòîìàòèçèðóåò ïðîöåññû êîíâåðòàöèè è ïåðåäà- ÷è äàííûõ ìåæäó ïàêåòàìè, ïîçâîëÿåò îñóùåñòâëÿòü óäàëåííûé çàïóñê êîíå÷íî-ýëåìåíòíîãî ðåøàòåëÿ íà ìíîãîïðîöåññîðíûõ âû÷èñëèòåëüíûõ êîì- ïëåêñàõ.  ðåçóëüòàòå ïîëüçîâàòåëü ðàáîòàåò ñ ïðèâåäåííûìè ïàêåòàìè êàê ñ åäèíûì ïðîãðàììíûì êîìïëåêñîì, ïðåäîñòàâëÿþùèì èíñòðóìåíòàðèé äëÿ âñåõ ýòàïîâ ÷èñëåííîãî ìîäåëèðîâàíèÿ. ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ 1. Ï ð î ã ð à ì ì í û é ïàêåò Blender. — http://www.blender.org/. 2 S i H . TetGen, a Delaunay-based quality tetrahedral mesh generator // ACM Trans. on Mathematical Software. — 2015. — 41 (2), Article 11. —36 p. 3. A y a c h i t U . The ParaView guide: A parallel visualization application. — Kitware, 2015. — 276 ð. 4. Á ³ ë î ó ñ Ì .  . Ñê³í÷åííî-åëåìåíòíèé ðîçâ’ÿçóâà÷ Íàäðà-3D // Ìàòåð³àëè ²² ̳æíàð. êîíô. «Êëàñ- òåðí³ îá÷èñëåííÿ — 2013», Ëüâ³â, 3–5 ÷åðâíÿ 2013 ð. — Ñ. 40–47. 5. Á à ð à í î â À . Þ . , Á å ë î ó ñ Ì .  . , Ñ å ð ã è å í ê î È .  . , Õ è ì è ÷ À . Í . Ãèáðèäíûå àëãîðèò- ìû ðåøåíèÿ ëèíåéíûõ ñèñòåì äëÿ êîíå÷íî-ýëåìåíòíîãî ìîäåëèðîâàíèÿ ïðîöåññîâ ôèëüòðàöèè // Êè- áåðíåòèêà è ñèñòåìíûé àíàëèç. — 2015. — 51, ¹ 4. — Ñ. 112–120. Íàä³éøëà äî ðåäàêö³¿ 29.02.2016 Ì.Â. Á³ëîóñ ÄÎÏÎÂÍÅÍÍß NADRA-3D ADD-ON ÄËß ÏÐÎÃÐÀÌÍÎÃÎ ÊÎÌÏËÅÊÑÓ BLENDER Àíîòàö³ÿ. Ðîçãëÿíóòî ïàêåò äîïîâíåííÿ Nadra-3D add-on äëÿ ïðîãðàìíîãî êîìïëåêñó Blender, ÿêèé äîçâîëÿº âèêîðèñòîâóâàòè ïðîãðàìí³ ïàêåòè Blender, TetGen, ParaView äëÿ ïåðåä/ïîñòîáðîáêè äàíèõ ñê³í÷åííî-åëåìåíòíîãî ðîçâ’ÿ- çóâà÷à Nadra-3D, ïðèçíà÷åíîãî äëÿ ìîäåëþâàííÿ ïðîñòîðîâèõ ïðîöåñ³â ô³ëüòðàö³¿, òåïëîïðîâ³äíîñò³, çì³íè íàïðóæåíî-äåôîðìîâàíîãî ñòàíó. Êëþ÷îâ³ ñëîâà: ìîäåëþâàííÿ, ìåòîä ñê³í÷åííèõ åëåìåíò³â, â³ëüíå ïðîãðàì- íå çàáåçïå÷åííÿ, ïåðåä/ïîñòîáðîáêà äàíèõ. M.V. Bilous NADRA-3D ADD-ON FOR BLENDER SOFTWARE Abstract. Nadra-3D add-on package for Blender software is considered. This add-on allows use of Blender, TetGen, ParaView software for data pre/post processing for finite element solver Nadra-3D, designed for simulation of spatial processes of filtration, heat transfer and changes in the stress-strain state of multicomponent media. Keywords: simulation, finite element method, free software, pre/post-processing. Áåëîóñ Ìàêñèì Âëàäèìèðîâè÷, êàíäèäàò ôèç.-ìàò. íàóê, ñòàðøèé íàó÷íûé ñîòðóäíèê Èíñòèòóòà êèáåðíåòèêè èì. Â.Ì. Ãëóøêîâà ÍÀÍ Óêðàèíû, Êèåâ, e-mail: maksbilous@ukr.net. ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2016, òîì 52, ¹ 5 185