Содержание
Содержание
Введение .................................................................................... 5
Список интернет-источников ........................................................ 6
Глава 1. Особенности математического моделирования
и визуализации наноразмерных структур........................................ 7
Список интернет-источников ...................................................... 23
Глава 2. Практическое использование ядра MATLAB ........................... 25
Введение в MATLAB .................................................................... 25
Важнейшие даты «биографии» MATLAB.......................................... 26
Структура и характерные черты MATLAB ........................................ 27
Тенденции развития MATLAB........................................................... 31
Справочные материалы ................................................................ 32
Практическое занятие № 1. Первое знакомство с MATLAB ........... 34
Практическое занятие № 2. Проведение вычислений
без M-файлов. Матрицы ............................................................... 39
Практическое занятие № 3. Проведение вычислений
без M-файлов. Функции и графика .................................................. 44
Практическое занятие № 4. Создание и редактирование
М-файлов .................................................................................... 55
Практическое занятие № 5. Решение стандартных
математических задач ............................................................... 68
Практическое занятие № 6. Создание приложений
с графическим интерфейсом пользователя (GUI) ........................... 81
Список интернет источников ...................................................... 99
Глава 3. Практическое использование пакетов расширений ............... 100
Практическое занятие № 7. Публикация результатов
моделирования. Аппроксимация данных ........................................ 101
Практическое занятие № 8. Символьные вычисления ................... 108
Практическое занятие № 9. Синтез звука и графики.
3
D-графика ............................................................................... 114
Практическое занятие № 10. Организация параллельных
вычислений ............................................................................ 124
Список интернет-источников ..................................................... 131
Глава 4. MATLAB для нанотехнологии ........................................ 132
MolViewer ................................................................................ 132
Пример № 1. Моделирование процесса автоэмиссии с учетом
шероховатости поверхности микрокатода ....................................... 135
Пример № 2. Реализация модели Кронига-Пенни ......................... 137
Пример № 3. Моделирование положения уровня Ферми
для нанокластера кремния в элементах энергонезависимой
флеш-памяти ..................................................................... 140
4
Содержание
Пример № 4. Моделирование клеточных автоматов ....................... 142
Список интернет-источников ..................................................... 144
Приложения ........................................................................... 145
Рецепты MATLAB .................................................................. 145
Решение некоторых заданий
для практических занятий №№ 2–6 ................................................ 147
Практическое занятие № 2 .......................................................... 147
Практическое занятие № 3 .......................................................... 148
Практическое занятие № 4 .......................................................... 150
Практическое занятие № 5 .......................................................... 152
Практическое занятие № 6 .......................................................... 161
Дополнительные примеры............................................................ 163
Построение гистограммы ............................................................ 163
Построение графиков аналитически заданных функций .......... 164
Molecule Viewer by Joe Hicklin ..................................................... 165
Об авторе ................................................................................. 167
Введение
Междисциплинарный характер нанотехнологии требует не только глубокого понимания фундаментальной биологии, химии, физики или математики, но и новых визуальных и вычислительных средств для осмысления явлений в наномасштабе. Компьютерный подход помогает
визуализировать сложные процессы в наноразмерных системах и обеспечивает гибкость в обобщении результатов моделирования. Задачи математического моделирования и визуализации оказываются тесно связанными, и ежегодно по этим вопросам проводятся конференции [1].
Актуальность геометрического моделирования была осознана [2] не только в области промышленности и инженерии, но и в задачах наноэлектроники.
Хорошо известный в мире в качестве инструмента прикладного моделирования пакет MATLAB обладает неплохим сочетанием программирования высокого уровня, средств обработки данных и 3D-графики, что позволяет пользователям создавать анимацию значимых для потенциального
применения в технике физических явлений, протекающих по законам квантовой механики. На обложке книги показан образ [3] конструкции из семи
односторонних углеродных нанотрубок, полученный средствами MATLAB
Эваном Доули [4] из нанотехнологического центра университета Окланда.
Сам знаменитый символ MATLAB изображает график первой собственной функции, описывающей колебания L-образной мембраны с закрепленным концом.
В первой главе рассмотрены общие вопросы моделирования наноразмерных структур, причем с акцентом на область научной визуализации
(scientific visualization). Вторая глава составлена в виде нескольких практических работ, выполнив которые самостоятельно читатель приобретет
практические навыки общения с ядром MATLAB (Release 2010a). Каждая
практическая работа построена по схеме «минимальное теоретическое
введение → разобранный пример → задание» и для лучшего усвоения
материала частично повторяет/дополняет предыдущую. Первые шесть
занятий распределены по возрастанию сложности. Ответы к большинству заданий приведены в Приложении. Третья глава посвящена дополнительным компонентам MATLAB, имеющим критическое значение для
презентации результатов моделирования. В ней также рассмотрены современные тенденции развития пакета MATLAB (в частности, параллельные вычисления и новации в программировании). Акцент, как и во
второй главе, сделан на разборе примеров. Эти четыре занятия можно
прорабатывать уже независимо друг от друга. Четвертая глава представляет собой коллекцию решений научно технических задач, реально
встретившихся в практике математического моделирования наноразмерных систем. Особо отметим, что компонент Simulink в книге никак не
рассматривается.
Введение
Отличительными особенностями данного пособия являются:
• Акцент на самостоятельной и заинтересованной работе читателя,
что предопределило наличие в пособии множества конкретных «рецептов».
• Минимум справочного материала, что стало возможным благодаря
превосходной системе Help в MATLAB (большинство других книг
излишне детально описывают команды, местами представляя собой русский перевод help страничек MATLAB).
• Стремление научить читателя мыслить «по-матлабовски» и в объектно лингвистических конструкциях MATLAB (например, знание
языка С++ часто мешает усвоению материала; на ум приходит историческая аналогия, когда Э. Дейкстра при обучении процедурному
программированию жаловался на знание студентами Бейсика).
Хотя акцент пособия сделан на применении MATLAB в наноэлектронике, но его можно использовать и для обучения работе с пакетом «с нуля».
В первую очередь пособие ориентировано на аспирантов и студентов, занимающихся нанотехнологиями. Пособие также предназначено для студентов, изучающих дисциплину «Компьютерная графика», и может быть
рекомендовано студентам первого или второго курса, обучающимся численным методам, в качестве дополнительной литературы. Для облегчения практической работы с книгой все использованные в ней программные скрипты доступны для скачивания по Интернету – см. http://narod.ru/
disk/17353950001/matlab.zip.html.
Список интернет источников
1. Журнал «Научная визуализация» — http://sv journal.com/
2. Геометрическое моделирование и визуализация в задачах современной электроники — http://sv journal.com/2009 1/02/index.html
3. Сайт центра нанотехнологий университета Окланда: Nanotechnology
Galleries — http://www.nano ou.net/EduLinks2.aspx
4. Computer based Tools for Nanotechnology Education and Research — http://
www.asee ncsection.org/papers/138.pdf
Глава 1
Особенности математического моделирования и визуализации наноразмерных структур
Развитие новых квантовых приборов с размерами активных элемтов порядка 10 нм и меньше является перспективным направлением
развития современной наноэлектроники. Такие приборы будут востребованы в ближайшем будущем для создания систем обработки, хранения
и отображения информации, источников СВ-излучения, оборудования
электронного зондирования. С недавнего времени ориентация на квантовые принципы работы приборов при реализации суперкомпактных источников тока, нанотранзисторов и элементов памяти рассматривается в
качестве основного пути для промышленных разработок. Для изготовления новых электронных компонентов будут использоваться самые различные материалы. Это не только металлы (алюминий, медь, золото, ванадий и др.) и полупроводники (кремний, арсенид галлия, фосфид индия
и др.), но и специфические наноматериалы, обладающие как свойствами
металлов, так и полупроводников (аллотропные формы углерода, азота,
оксида фосфора и т.п.), а также различные органические соединения,
включая фрагменты ДНК. Отдельно следует упомянуть класс наноструктурированных материалов, в частности:
• пористых;
• содержащих нанокристаллы;
• с упорядоченными островками одного вещества на поверхности
пленки из другого вещества.
Большую популярность приобрели фуллерены (и эндофуллерены, перспективные для создания квантового компьютера), углеродные нанотрубки, а исследователи графена вообще получили Нобелевскую премию. Ведется активный поиск материалов для приборов оптоэлектроники и
фотоники (лазеры, солнечные элементы, наноразмерные волноводы для
оптических межсоединений интегральных микросхем); например, ученые
пытаются заставить излучать в видимом диапазоне нанокристаллический
кремний.
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
8
Для создания указанных выше электронных приборов прежде всего
необходимо всестороннее изучение свойств соответствующих наноматериалов и их взаимодействия с окружающей средой в рамках общей конструкции. Эта задача равно распределяется как на экспериментальные,
так и на теоретические исследования. В последнем случае все большую
роль играет компьютерное моделирование, в том числе с помощью высокопроизводительных вычислительных систем. Большая вычислительная
нагрузка определяется тем, что математические модели, описывающие
процессы в новых электронных приборах, стали существенно сложнее.
Это связано с тем, что наряду с традиционными факторами (трехмерность,
нестационарность, нелинейность, пространственно временная неустойчивость и некорректность задач) появились такие особенности, как сложная
реальная геометрия, сложная иерархия пространственно временных размеров, нелокальность процессов, наличие очень большого числа компонент среды и множества фаз одной и той же физической величины. В результате современная математическая модель включает целый набор
физических описаний, имеющих различную природу и использующих
различный математический аппарат (описания механики сплошной среды, квантовые и статистические модели, гибридные подходы), которые,
как правило, плохо стыкуются между собой.
2 В общем случае модель является представлением объекта, системы
или понятия (идеи) в некоторой форме, отличной от формы их реального существования. Модель какого либо объекта может быть или точной копией этого объекта, или отображать некоторые характерные свойства объекта в абстрактной форме. Модель служит обычно средством,
помогающим нам в объяснении, понимании или совершенствовании системы. Можно указать по крайней мере пять функций моделей в качестве:
1) средства осмысления действительности;
2) средства общения;
3) средства обучения и тренажа;
4) инструмента прогнозирования;
5) средства постановки экспериментов.
Иными словами, модель может служить для достижения одной из двух
основных целей: либо описательной, если модель служит для объяснения
и (или) лучшего понимания объекта, либо предписывающей, когда модель позволяет предсказать и (или) воспроизвести характеристики объекта, определяющие его поведение. Модель предписывающего типа обычно является и описательной, но не наоборот.
Прежде чем начать разработку математической модели, необходимо
понять, что собой представляют структурные элементы, из которых она
строится. В самом общем виде структуру модели математически можно
представить в виде:
Z = Φ(x, y, a, ξ),
Особенности математического моделирования и визуализации
наноразмерных структур
9
где: Z – результат действия системы (например, целевая функция или
сконструированный нами функционал); x – вектор входных переменных,
которыми мы можем управлять; y – вектор переменных состояния (когда
они характеризуют состояние или условия, имеющие место в объекте, и
вполне наблюдаемы в опыте) или выходных переменных (когда речь идет
о выходах системы); a – вектор внутренних параметров объекта (системы); ξ – вектор неопределенных параметров (часть входных переменных
и внутренних параметров системы, значения которых мы не знаем точно)
и возмущающих воздействий (т.е. в точном математическом смысле случайных величин).
Компонентами векторов x и y являются расходы и составы потоков
веществ, концентрации веществ, температура, давление в потоках и т.п.,
компонентами вектора a – коэффициенты и параметры, характеризующие свойства перерабатываемых веществ, физико химические процессы
в системе (константы скоростей химических реакций, коэффициенты
тепло и массообмена, диффузии и т.п.), геометрические размеры и конструктивные особенности технологического оборудования. Для нанораз
мерных структур потоки веществ (в том числе носителей заряда) измеряются в дискретных единицах, а роль внутренних параметров могут играть
либо волновые функции системы, либо, если модель не исходит из первых принципов (ab initio), эмпирические коэффициенты (электроотрицательность, подвижность, параметры межатомного потенциала Ленарда Джонса).
3 Визуализация в общем смысле – метод представления информации в
виде оптического изображения (например, в виде рисунков и фотографий, графиков, диаграмм, структурных схем, таблиц, карт и т.д.). Особенно эффективно визуализация используется для представления изна
чально незрительной информации (распределение плотности населения,
пространственное распределение уровней электромагнитных или радиационных полей, температур, электронной плотности и т.д.). Считается,
что зрение обеспечивает человеку около 90% информации. Рассматривание изображений позволяет исследовать пространственные структуры,
имеющиеся в объекте; распределение оптических плотностей и цветов
отражает важнейшие сведения о свойствах реальных и виртуальных объектов окружающего мира. Визуализация лежит в основе развития письменности (от символов, иероглифов – к пиктограммам и буквам) и нераз
рывно связана с основами развитого человеческого символического и
логического мышления. Проблемы визуализации являются предметом
обсуждения [1] философов, психологов и, конечно, разработчиков САПР
и систем компьютерной графики.
Визуализация пространственных данных используется в основном в
задачах научной визуализации. Научная визуализация – это создание графических образов, в максимально информативной форме воспроизводящих значимые аспекты исследуемого процесса или явления. При этом
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
10
большой объем результатов моделирования представляется в компактной
и легко воспринимаемой форме. Представление в виде графических образов позволяет исследователю увидеть изучаемую систему или процесс
изнутри, что было бы невозможно без визуализации данных. И, иногда,
именно визуализация приводит к полному пониманию явления (см. первую функцию моделей). В одном из исследований [2], выполненных во
Всесоюзном научно исследовательском институте технической эстетики,
инженерно психологическими методами было проведено экспериментальное сравнение скорости обучения и эффективности (с точки зрения
скорости, точности и надежности) работы операторов сложных радиотехнических комплексов при двух различных способах представления им
информации. В одном случае операторы пользовались традиционными
текстовыми инструкциями, в другом – тексты были заменены графическими схемами, отображавшими основной оперативный смысл инструкций
по предложенному командно информационному принципу непосредственно в виде графических символов алгоритмов действий. Применение графического способа представления информации дало в этих экспериментах значительные результаты: длительность обучения сократилась
примерно вдвое, время принятия и реализации решений уменьшилось в
среднем на 30%, а число ошибок – на 15%. «Говорят, один рисунок стоит
тысячи слов, и это действительно так, но при условии, что рисунок хороший»
(У. Боумен [3]).
С возрастанием количества накапливаемых данных (например, в базах
данных), даже при использовании сколь угодно мощных и разносторонних
алгоритмов Data Mining, становится все сложнее «переваривать» и интерпретировать полученные результаты. А, как известно, одно из положений
Data Mining – поиск практически полезных закономерностей. Закономерность может стать практически полезной, только если ее можно осмыслить и
понять. Визуализация традиционно рассматривалась как вспомогательное
средство при анализе данных, однако сейчас все больше исследований говорит о ее самостоятельной роли. Принято считать, что началом формирования научной визуализации как особой дисциплины является 1987 год, когда
в США по инициативе ACM SIGGRAPH была организована дискуссия по
проблеме визуального представления научных данных и сформулированы
соответствующие задачи направления визуализации:
• представлять пользователю информацию в наглядном виде;
• компактно описывать закономерности, присущие исходному набору
данных;
• снижать размерность или сжимать информацию;
• восстанавливать пробелы в наборе данных;
• находить шумы и выбросы в наборе данных.
Методы визуализации, в зависимости от количества используемых
измерений, принято классифицировать на две группы: представление
данных в одном, двух и трех измерениях; представление данных в четыОсобенности математического моделирования и визуализации
наноразмерных структур
Представления информации в 4D и более измерениях недоступны для человеческого восприятия. Однако разработаны
специальные методы для возможности отображения и восприятия чело
веком такой информации. Наиболее известные способы многомерного
представления информации:
• параллельные координаты;
• «лица Чернова»;
• лепестковые диаграммы.
В параллельных координатах переменные кодируются по горизонтали, вертикальная линия определяет значение переменной. Этот метод
представления многомерных данных был изобретен Альфредом Инселбергом (Alfred Inselberg) [4] в 1985 году (рис. 1.1). Основная идея представления информации в «лицах Чернова» (Chernoff faces) состоит в кодировании значений различных переменных в характеристиках или чертах
человеческого лица. Люди легко распознают лица и без затруднения воспринимают небольшие изменения в нем. Американский математик Геран Чернов в 1973 году опубликовал работу, в которой изложил концепцию использования этой способности восприятия лица человека (рис. 1.2)
для построения пиктографиков [5]. Их применяют, как правило, в двух
случаях: когда нужно выявить характерные зависимости или группы наблюдений; когда необходимо исследовать предположительно сложные
взаимосвязи между несколькими переменными. Лепестковая диаграмма
(radar diagram/spider chart) благодаря внешнему виду (рис. 1.3, см. цв. вклейку), также называемая диаграммой паутиной или диаграммой звездой,
представляет значения каждой категории вдоль отдельной оси, которая начинается в центре диаграммы и заканчивается на внешнем кольце. Такие
диаграммы широко применяются при анализе маркетинговых данных.
Рис. 1.1. Изображение в параллельных координатах точки (с1, с2, с3, с4, с5)
пятимерного пространства в виде ломаной (слева) и пятимерной
сферы (справа)
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
Многие современные средства анализа данных позволяют строить сотни типов различных графиков и диаграмм. Поэтому выбор метода визуализации, если он самостоятельно осуществляется пользователем, не так
прост и легок, как может показаться на первый взгляд. Наличие большого количества средств визуализации, представленных в инструменте, который применяет пользователь, может даже вызвать растерянность.
Один из принципов Тафта (Tufte’s Principles) гласит: «Предоставляйте
пользователю самое большое количество идей в самое короткое время, с
наименьшим количеством чернил на наименьшем пространстве». Сформулированы основные принципы компоновки визуальных средств представления информации:
1. Принцип лаконичности.
2. Принцип обобщения и унификации.
3. Принцип акцента на основных смысловых элементах.
4. Принцип автономности.
5. Принцип структурности.
6. Принцип стадийности.
7. Принцип использования привычных ассоциаций и стереотипов.
Помимо них отметим закон строгого соответствия композиционного
решения, формы графического информационного средства его функциональному назначению, содержанию отображаемой информации. Принцип
лаконичности состоит в том, что графическое средство представления информации должно содержать лишь те элементы, которые необходимы для
сообщения человеку существенной информации, точного понимания ее
значения или принятия с вероятностью, не ниже допустимой величины
соответствующего оптимального решения. Принцип лаконичности является, пожалуй, наиболее универсальным. Его роль весьма существенна
при дальнейшем решении задач. Необходимый зрительный акцент на
основных композиционных элементах достигается более успешно и притом более экономично путем отсеивания лишних, затемняющих рисунок
Рис. 1.2. Параметризация лица Чернова (слева) и пример отображения данных (справа)
Особенности математического моделирования и визуализации
наноразмерных структур
13
и сознание, деталей, а не только за счет усиления воздействия на наблюдателя главных элементов приданием им больших размеров, интенсивного цвета, увеличением яркости свечения и т.д. В подтверждение выска
занному можно привести тот факт, что в художественном конструировании
принимается за аксиому, что «бесполезно стремиться направить внимание на важнейшие характеристики, если они окружены лишними, не относящимися к ним визуальными раздражителями, мешающими восприятию главного» (Ф. Эшфорд).
Из второго принципа следует, что в пределах всего комплекса графических средств представления информации символы, обозначающие одни
и те же объекты или явления, должны быть обязательно унифицированы –
иметь единое графическое решение. Принцип акцента на основных смысловых элементах: на графических средствах отображения информации
следует выделять размерами, формой, цветом в первую очередь те элементы, которые наиболее существенны. Особое значение числа семь в
процессах восприятия информации человеком было установлено американским психологом Дж. Миллером [6]. Число 7±2 двоичных единиц информации было названо им «магическим». Число Миллера [7] и является
той границей, когда теряются свойства целого и части превращаются в
элементы (5 й принцип). В настоящее время особую популярность приобрел термин когнитивная графика.
4 Следует отметить две тенденции развития систем визуализации.
С одной стороны, разработка универсальных средств визуализации,
а с другой, специализация по всем направлениям, вплоть до создания специальных графических станций с реализацией для данного случая графическим алгоритмическим и программным обеспечением. В настоящее
время создано большое количество пакетов прикладных программ (ППП)
для моделирования в физике, химии и других областях естествознания.
Обычно эти ППП достаточно сложны и велики по объему. На первых порах создания ППП в них включались и графическая часть для визуализации результатов моделирования. Такие графические программы обычо привязывались к той архитектуре компьютеров, для которых они и
разрабатывались. По мере развития вычислительной техники ситуация
сильно изменилась. Графические программы становились все сложнее, а
их возможности значительно возросли. Остро встала задача универсальности и переносимости таких программ на различные платформы и операционные системы. Стало очевидно, что нужно использовать мощные
средства графики, которые уже созданы внутри самих операционных систем.
Хорошо известно, что научные ППП для моделирования и расчетов
сложны и велики по объему. Они состоят из большого количества подпрограмм (до 1000 и более), а количество строк исходного кода может доходить до 106. Очевидно, нет смысла перегружать их графическими программами, которые тоже обычно большие и сложные. Именно такой путь
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
14
создания программ визуализации наблюдается в настоящее время в области научных исследований. Очевидно также, что обычный пользователь
не в состоянии создавать графические программы для используемых им
ППП, хотя такие попытки были, особенно после появления персональных компьютеров. Это сложно как с технической, так и с экономической
стороны. Графически программы общего пользования должны быть хорошо документированы, а эта сторона, как правило, не решается при кустарной разработке таких программ. Документация многих современных
графических пакетов доходит до 200 страниц. Она также создается в формате html и доступна в Интернете на сайте разработчиков. Научные ППП,
как правило, имеют небольшой объем входных данных и очень большой
объем выходных данных, которые к тому же имеют различный формат,
привязанный к данному ППП. Часто в таких ППП создаются файлы для
последующей анимации результатов моделирования; иногда на сайтах
научных журналов (или конференций) можно видеть прикрепленный к
статье файл анимации.
Типичным примером таких ППП являются пакеты для моделирования
методами молекулярной динамики (ММД) и пакеты для квантово-механических расчетов. Молекулярное моделирование – очень сложная и
объемная задача, даже если рассматривать только геометрические характеристики модели строения молекулы. Сложность задачи, например, может
возрастать с увеличением числа атомов в молекуле. Количество атомов достигает 106 в молекуле ДНК, полупептидах и белках. Молекулярным моделированием занимаются в мире многие организации на разных уровнях и
для разных целей, поэтому существует большое количество форматов хранения характеристик молекул в файлах. Известно более 20 видов форматов
(например, *.pdb, *.out). Большое разнообразие форматов затрудняет перевод данных в расчетных программах между собой и стыковку с программами визуализации. Однако существует импортная программа-конвертор
«Babel», которая переводит данные из одного формата в другой.
В качестве примера ММД пакета рассмотрим пакет CPMD, в котором
реализован метод ab initio молекулярной динамики. Входными данными
здесь являются координаты атомов и их начальные скорости, а также дан
ные, которые описывают режимы моделирования. Выходные данные содержат координаты скорости и силы, действующие на атомы, а также
многочисленные файлы с другой нужной информацией. Для визуализации результатов моделирования пакета CPMD был создан пакет VMD
(Visual Molecular Dynamics) [8] в университете штата Иллинойс [9]. Этот
пакет достаточно эффективен; используя библиотеки Open GL, он может
отображать большие молекулы типа ДНК (рис. 1.4, см. цв. вклейку), а также кластеры и фрагменты кристаллов до 100 000 атомов. Лицензия VMD
бесплатна для университетов и академических институтов.
Нельзя не упомянуть еще об одной утилите – RasMol [10], предназначенной для визуализации молекул и используемой преимущественно для
Особенности математического моделирования и визуализации
наноразмерных структур
15
изучения и получения изображений пространственных структур биологических макромолекул, в первую очередь белков и нуклеиновых кислот
(рис. 1.5, см. цв. вклейку). Первая версия программы RasMol была создана Роджером Сэйлом в 1992 году. Начиная с версий серии 2.7, RasMol распространяется по двойной лицензии (GPL или RASLIC). Тем самым,
RasMol (наряду с Jmol и PyMOL) – одна из немногих программ визуализации молекул с открытым кодом. Легко интегрируется с пакетами HyperChem
и ChemLab.
Завершая тему молекулярной динамики, рассмотрим графический
пакет для научных исследований, в котором сделан акцент на визуализации кристаллов – XСrySDen [12] (рис. 1.6, см. цв. вклейку). Он поставляется как в исходном виде, так и в виде готовых загрузочных модулей. При
использовании исходного кода нужно обеспечить наличие библиотек
OpenGL (MESA) и Tcl/Tk (скриптовый язык программирования). Сам
пакет написан на Си и Фортране, ориентирован на X Windows/UNIX, но
может быть установлен и для MS Windows (требуется Cygwin, библиотека,
эмулирующая ряд графических функций Linux).
Таким образом, на примере ППП молекулярной динамики можно
выделить две тенденции развития научной графики:
• Разработка средств визуализации становится более автономной и
независимой от непосредственного создания расчетного ядра ППП.
• Потребитель обеспечивается вместе с оригинальным расчетным
ядром более универсальной и часто имеющей статус freeware графической компонентой (не путать с интерфейсом!).
Хотя в микро и наноэлектронике эти тенденции еще не до конца раскрылись, тем не менее лишним подтверждением служит линейка open
source продуктов NanoEngineer [13].
Специфичным примером методов визуализации является Cave-технология. В настоящее время Cave технология [14] является наиболее мощ
ной системой трехмерной визуализации. Cave (пещера) создает ощущение полной виртуальной реальности. Специальные устройства фиксируют
все движения человека, находящегося в «виртуальной среде», чтобы соответствующим образом менять и окружающие его изображения. Таким
образом, исследователь сможет изучать объект, передвигаясь вокруг или
внутри его виртуального образа. Суперкомпьютер управляет проектора
ми этой системы визуализации, а также используется при визуализации
биологических молекул (VMD), моделировании погоды (Vis5D [15]), в океонографии и метеорологии (Cave5D [16]), в визулиации анатомических
данных, полученных с электронного микроскопа (WinSAGE [17]), для ней
роанатомического анализа (Neurolucida [18]) и в других проектах. Использование Cave технологии – самое широкое как в научных исследованиях в различных областях (химии, физики, геологии и др.), так и в
инженерном деле (архитектуре, проектировании сложных конструкций
и т.д.), а также при подготовке специалистов (имитационные тренажеры).
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
16
5 Большую роль в становлении научной визуализации сыграли задачи
гидродинамики. Эти задачи, особенно нестационарные или допускающие разрывы функций состояния, сохраняют актуальность и сейчас,
например, при расчетах микроэлектромеханических и наноэлектромеханических систем (МЭМС/НЭМС). Для решения этих задач (в аспекте визуализации) был разработан ряд общих концепций [19] и ряд относитель
но частных методов [20]. Современные методы визуального представления
численных данных можно с известной долей условности разделить на две
группы:
• методы, основанные на повышении выразительности визуального
образа;
• методы, основанные на анализе данных (условно – «Data Mining»,
хотя сам термин пришел к нам из области баз данных).
Первая группа методов имеет одно общее свойство – они посвящены
решению проблем визуальных представлений с помощью усиления выразительности результирующего образа.
В качестве примера рассмотрим задачу свободной конвекции жидкости в полости с локальным теплообменом на горизонтальных поверхнос
тях. Решение фундаментальной проблемы научной визуализации достигается выделением структурных элементов течения в сочетании с анимацией.
Для визуализации течения жидкости необходимо введение искусственных
поверхностей, позволяющих увидеть само движение. В рассматриваемом
течении такой поверхностью служит изоповерхность нейтральной температуры. Использование нелинейной зависимости между интенсивностью
цвета и температурой позволяет четко выделить границу между областями,
занятыми теплой и холодной жидкостями, формируя у зрителя искусственное представление о наличии в объеме двух жидкостей с резкой границей
раздела.
Вторым примером служат многочастичные анимационные методы
(МЧА методы), основанные на визуальном представлении движения
множества маркеров в объектном пространстве. Рассматривается расчетная область произвольной формы, внутри которой реализуется вектор
ное поле. Внутри области по некоторому правилу задается конечное множество точек, каждой из них ставится в соответствие маркер. Это – точки
рождения маркеров. В данном подходе маркер определен своей точкой
рождения, временем жизни и жизненным объемом. Большинство разнообразных МЧА методов можно рассматривать как частные случаи вышеописанного подхода с варьирующимися правилами задания параметров
маркера.
Третий пример связан с линейной интегральной конволюцией (Line
Integral Convolution, LIC), успешно реализованной средствами OpenGL и
позволяющей визуализировать турбулентности (рис. 1.7, см. цв. вклейку).
Методы «Data Mining» имеют одно общее свойство – достижение но
вых результатов с помощью препроцессингового, параллельного расчету,
Особенности математического моделирования и визуализации
наноразмерных структур
17
или дополнительного анализа основного поля данных. Такой подход позволяет применение известного и разработанного в других областях знания мощного математического аппарата. Тогда алгоритм визуализации
выглядит так: получение основного поля данных для визуального представления; дополнительные анализ и обработка этого поля; получение
новой информации, как результата дополнительного анализа и обработки; применение средств визуализации к полученной новой информации
и к основному полю данных.
Например, при визуальном представлении скалярного поля при помощи тоновой заливки задается закон, устанавливающий соответствие
между цветами палитры и диапазоном изменения представляемой скалярной величины. При линейном задании этого закона можно потерять
существенную часть информации о решении, особенно в областях сильных изменений величины в узких зонах. Во избежание этого проводится
статистический анализ распределения значений изображаемой величины с целью определения нового закона соответствия, что помогает визуально представить полученное решение без потери ценной информации.
Это направление получило дальнейшее развитие с применением мощного
современного математического аппарата вейвлет анализа. Напомним, что
вэйвлет – это двумерное обобщение преобразования Фурье некоторого сигнала (заданного, например, электромагнитной волной или представляющего собой картинку [22] с атомно силового микроскопа), т.е. если в классическом спектральном анализе делается переход «время частота» f(t) → C(ω),
то здесь f(t) → C(a,b), причем пара (a,b) имеет смысл «масштаб, сдвиг по
времени» (рис. 1.8, см. цв. вклейку).
6 Как правило, сложным элементом математической модели наноразмерной системы является геометрия расчетной области и используемый в расчетах геометрический аппарат. Дело в том, что при приближении
пространственных характеристик активных элементов электронного прибора к молекулярным и атомным размерам возникает необходимость учитывать детальную геометрическую конфигурацию всех его компонент. Для
этого необходимо знать структурные параметры анализируемых наноматериалов, иметь точные представления о геометрических и спектральных
характеристиках равновесного и квазиравновесных состояний молекул,
атомов и других частиц и их возможных комбинаций. Зачастую эти данные в каждом конкретном случае либо неточны, либо недостаточны для
получения приемлемого описания моделируемой конфигурации. В результате, прежде чем начинать моделирование основной задачи, приходится
ставить и решать специальные геометрические и спектральные задачи для
получения начальных данных о геометрической структуре материала и
возможных ее дефектах и вариациях. Далее в процессе решения основной задачи приходится параллельно пересчитывать динамические изменения геометрической информации с целью контроля основного расчета
по геометрическим и спектральным характеристикам. Результатом основ
вычислений также может быть геометрическая и спектральная информации. Таким образом, геометрический анализ является неотъемлемой частью вычислительного эксперимента на всех его этапах.
Другой аспект этой проблемы состоит в том, что проведение геометрических вычислений неэффективно, а в ряде случаев и невозможно без
визуализации исходных, промежуточных и результирующих данных. Поэтому задача визуализации геометрических данных различных классов
является в свою очередь неотъемлемой частью геометрического моделирования. Среди основных задач визуализации особое внимание уделяется изображению поверхностей в трехмерном пространстве и динамике
трехмерных объектов. Дополнительной проблемой является изображение
многомерных распределенных данных, полученных в результате расчетов на многопроцессорных вычислительных системах с распределенной
памятью.
Таким образом, можно выделить три основных классы задач современной наноэлектроники, расположив их в порядке увеличения вычислительной сложности. Первый класс проблем связан с компьютерным
представлением электронных схем и систем на макро и микроуровнях.
Как правило, это различные рисунки и схемы, описывающие дизайн, от
дельные компоненты и составляющие материалы устройств, режимы их
работы, таблицы параметров. Данный класс проблем эффективно под
держан большим количеством CAD/CAE систем и баз данных. Геомет
рические проблемы, которые рассматривают здесь, в основном касаются
теории графов и визуализации простых геометрических объектов. При
переходе к наномасштабам в рамках МЭМС/НЭМС и проектов 3D-интеграции электронных компонентов (в частности, запланированному на
2020 г. созданию трехмерной матрицы микропроцессоров в виде систолического массива или подобия нейронной сети CNN, соединенных, возможно, оптическими связями) особенно актуальной становится именно
3D визуализация.
Уже созданы для этого некоторые инструменты. В частности, утилита
gds2pov [25], переводящая стандартное GDSII-описание топологии фрагмен
та интегральной схемы в формат универсальной программы POV_ray [26],
служащей для создания реалистичных 3D-изображений (например, для
компьютерных игр) (рис. 1.9, см. цв. вклейку). Обе программы свободно
распространяемые, как и сравнительно старый, но по-прежнему развивающийся проект [28] Electric VLSI Design System. В качестве частного
примера коммерческого программного обеспечения можно привести
Microwave Studio [29], предназначенного для 3D моделирования и визуа
лизации СВЧ схем. Система моделирования является законченным программным продуктом, т.е. она имеет в своем составе все необходимые
модули, начиная с графического редактора для прорисовки трехмерной
структуры и заканчивая модулем построения рассчитанных частотных
зависимостей.
Второй класс проблем связан с вычислениями состава, структуры и
свойств различных веществ и материалов, используемых в современной элек
тронике. В рамках данного класса задач можно выделить два фундаменталь
ных направления исследований. Первое связано с созданием и эффективным использованием подробных баз данных по свойствам веществ и
материалов, полученных на основе экспериментов и компьютерных вычислений. Используемые при этом геометрические методы касаются в основном цифрового кодирования и сжатия различной геометрической информации. Второе направление сформировано квантовыми и химическими
расчетными программами, позволяющими вычислять структуру и свойства новых веществ и материалов. Объектом, инициирующим числовые
и геометрические вычисления, здесь является множество квантово-механических задач, сформулированных для систем большой размерности.
Среди множества численных подходов можно выделить такие известные
методы, как классический и квантовый метод Монте-Карло, классическая и квантовая молекулярная динамики, методы моделирования «из первых принципов» (ab initio), аппарат теории матриц плотности и функций
Грина, решение уравнений Шредингера в различных приближениях традиционными численными методами и т.д. Результаты таких вычислений
также помещаются в базы данных. САПР данного класса были рассмотрены нами в п. 5.
Третий класс проблем связан с моделированием процессов работы
электронных устройств и их частей, а также с оптимизацией параметров
устройств. Этот класс задач имеет наивысшую вычислительную сложность, поскольку задачи данного класса могут использовать практически
любые методы вычислений, в том числе методы компьютерной геометрии и визуализации. В этих рамках возникают следующие традиционные
геометрические задачи:
• Описание вычислительной области геометрическими методами.
• Построение вычислительных сеток различного типа и качества.
• Аппроксимация основных уравнений модели на сетках определенного типа с использованием геометрической информации.
• Решение дискретных задач, возникающих в результате сеточных
аппроксимаций.
• Геометрическое распараллеливание и решение задач с помощью
параллельных компьютерных систем.
• Использование геометрических моделей и методов для визуализации начальных, промежуточных и результирующих данных.
Еще одним примером, помимо представленных на рис. 1.10–1.12 (см.
цв. вклейку), совместного решения задач 1 го и 3 го классов служит компонента Device3D коммерческого ППП фирмы Silvaco, используемого для
моделирования различных базовых элементов приборов наноэлектроники. Device3D включает в себя библиотеки свойств материалов, регулярно
используемых полупроводниковой индустрией на сегодняшний день, а
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
20
физические явления, которые могут быть смоделированы с помощью
Device3D, разнообразны: поглощение фотонов, их испускание, влияние
ловушки в объеме и на границе раздела веществ, магнитные поля, саморазогрев, воздействие ионизирующего излучения, горячих носителей и туннельные эффекты. Это позволяет успешно моделировать такие устройства,
как солнечные батареи, КМОП сенсоры, светодиоды, тонкопленочные
транзисторы (в ЖК панелях), перепрограммируемая память (EPROM),
нестандартные КМОП структуры и силовые приборы. На сайте компании
представлена впечатляющая коллекция [33] визуализаций таких устройств.
7 Специфичность моделирования физических процессов в наноразмерных структурах заключается в многофакторности оного, что влечет
за собой сложность, иерархичность структуры и наукоемкость полной математической модели, описывающей систему. Нельзя рассматривать и, что
особенно важно, реализовывать в вычислительном эксперименте фрагменты модели изолированно, поскольку своими входными параметрами
«малая» требует выходные данные от другой «малой» модели. И здесь обращение к «тяжелым» ППП естественно (относительно универсальны
ANSYS, его аналог FEMLAB, а также LabView). Использование специализированных коммерческих ППП предоставляет пользователю широкие возможности, однако зачастую обладает двумя недостатками:
• недоступность по экономическим причинам;
• закрытость при необходимости изменения кода и/или математической модели.
В прикладной и непосредственно ориентированной на производство
науке их применение подчас выглядит единственным вариантом. В тех
областях науки, когда в равной степени значимы как фундаментальные,
так и прикладные аспекты, исследовательские группы вовлекаются в процесс программирования, затрачивая годы усилий на инжиринг необходимого им программного инструментария, исключительное право на использование которого принадлежит этой группе. Во всяком случае такой
программный продукт выходит на рынок (или переходит в разряд open
source) тогда, когда исследовательская группа уже получила с его помощью наиболее значимые результаты.
Фундаментальные области знания, где возникают оригинальные исследовательские задачи и соответствующие модели, требуют иного подхода. И в прикладных задачах в ряде случаев при правильной постановке
вопроса удается видоизменить «малую» модель, введя туда идеализирующие предположения и зафиксировав часть внешних связей, чтобы она
была доступна моделированию. Начинающие студенты или аспиранты,
получив задание от научного руководителя, сразу спешно обращаются к
известному им с младших курсов Си подобному языку программирования, чтобы провести расчет. Некоторые даже затрачивают уйму времени
на создание GUI интерфейса и изучение графических библиотек соответствующей среды программирования, но скорее всего все закончится
Особенности математического моделирования и визуализации
наноразмерных структур
21
записью данных текстовый или CSV файл, который вручную импортируется в MS Excel с последующим получением вожделенных диаграмм и
графиков. Всю эту утомительную процедуру, разумеется, приходится повторять заново при перерасчете. Этот алгоритм действий следует признать
принадлежащим прошлому веку, неэффективным во всех отношениях и
нерекомендованным к использованию, как оператор goto.
Уже несколько десятилетий сосуществуют и успешно развиваются общецелевые пакеты математического моделирования, существенно облег
чающие применение численных методов и визуализацию (тем самым снимая с разработчика модели наиболее рутинные операции типового
маршрута математического моделирования). В первую очередь это:
• MATLAB (первая версия – 1982 г., но разработки велись в конце
1970 х гг. еще до основания компании MathWorks).
• Mathematica [34] (с 1988 г. разрабатывается компанией Wolfram
Research Стивеном Вольфрамом [35], профессиональным матемаиком, пропагандирующим «экспериментальную математику» и
внесшим значительный вклад в исследование 1D клеточных автоматов).
• MathCad (с 1986 г. разрабатывался Алленом Раздовым [36] и его компанией MathSoft, в 2006 г. был продан компании PTC).
• Maple (первая версия – 1982 г., с 1988 г. разрабатывается компанией
Maplesoft (Waterloo Maple), которая основана Кейтом Геддесом и Гастоном Годдетом).
Последний пакет сыграл историческую роль в развитии символьно-аналитических вычислений, часть разработок вошло в ППП MATLAB и
Mathematica, но после ухода одного из основателей потерял оригинальность,
а фирма сосредоточилась на рыночной нише автоматизации конструиро
вания. В России популярность Maple падает. ППП MathCad изначально
был ориентирован на пользователей, не являющихся программистами, что
до сих пор является его хроническим недостатком; кроме того, несмотря
на поддержку штатного набора средств визуализации, его математические
возможности по сравнению с ППП MATLAB и Mathematica ограничены.
Хотя, конечно, называть пакет «визуальным калькулятором» было бы неправильно. Его основатель после продажи компании также де факто отошел от дел. ППП Mathematica по своим возможностям не уступает MATLAB,
однако ориентирована больше на математические объекты; справочная
система включает в себя целую математическую энциклопедию практически по всем разделам, даже экзотическим, современной математики. ППП
эволюционирует в прикладные области, как и MATLAB, однако, по-видимому, не так быстро. Интерфейс и командный язык ППП Mathematica требует привыкания. MATLAB, хотя и проигрывает Mathematica в изощрен
ности, лишен этих недостатков: в частности, интерфейс естественен для
пользователей DOS или Unix, т.е. систем, использующих режим командной строки. С другой стороны, возможности Mathematica при отображе
нии/экспорте информации по молекулярной динамике выше, чем в
MATLAB, и в свою очередь MATLAB обладает гораздо более внушитель
ным набором средств обработки сигналов (в том числе в режиме реального
времени). По данным одного российского опроса [37], распространенность
этих ППП: MATLAB 38%, MathСad –7%, Mathematica –33%, Maple – 23%
(2007 г., объем выборки – 136).
Учебные или академические версии этих программ, как и для большинства коммерческих ППП, вполне распространены в России. Уже проведено несколько всероссийских научно технических конференций под
общим названием «Проектирование инженерных и научных приложений
в среде MATLAB». В частности, уже долгие годы в Московском институте
электронной техники используется и регулярно обновляется лицензионная версия MATLAB для обучения студентов численным методам, а его
встроенная компонента Simulink – для обучения магистрантов моделированию и проектированию интегральных схем на функциональном и
архитектурном уровнях.
Несколько слов о бесплатных аналогах MATLAB. Это прежде всего
SciLab [38] и GNU Octava [39]. Группы разработчиков этих программ, с
одной стороны, старались по возможности воспроизвести систему команд
MATLAB и его архитектуру, более того – создали неплохую справочную
систему (но, конечно, уступающую превосходной написанной документации MATLAB). Однако они уступают MATLAB и в возможностях визуализации (при синтаксически одинаковых командах!), и в научно техни
ческом содержании. Использовать эти ППП после опыта общения с
MATLAB – все равно, что пересесть с машины на велосипед. С другой
стороны, не будем забывать, что при недоступности MATLAB и другого
коммерческого ППП это все таки хорошая альтернатива для проведения
моделирования. Представляет интерес сетевой проект iMATLAB [40], в
какой то степени реализующий идею «облачных» вычислений. Любой
пользователь может через веб интерфейс передать команды, а удаленный
сервер посредством среды моделирования – их интерпретировать, выполнить и передать графическую и/или текстовую информацию на терминал
пользователя; таким образом, аналогом MATLAB можно пользоваться
прямо из дома или даже с мобильного телефона без установленного пакета. В Internet Matlab (iMatLab) за основу принята стилизованная (измененая) версия языка Matlab, при этом были учтены некоторые особенности
интернет языков программирования; например, включена поддержка
javascript в синтаксисе рабочего кода. Однако, несмотря на возможность
коллективного выполнения проектов, возможности «настоящего»
MATLAB гораздо шире. Отметим в этой связи международные проекты
NanoHub [41] и MATLAB TeraGrid [42].
Работе в среде MATLAB посвящено более тысячи книг и множество
публикаций и, перефразируя одного пролетарского классика, скажем:
«MATLAB так же неисчерпаем, как и атом…»
Список интернет источников 23
Список интернет источников
1. Труды международной конференции «Трехмерная визуализация научной, тех
нической и социальной реальности» — http://v4.udsu.ru/science/konf_reality
2. Грачев Н.Н. Основы прикладной инженерной психологии // Психология
инженерного труда — http://wosco.narod.ru/88.4_activitiespsychology.htm
3. Боумен У. Графическое представление информации (1971) — http://
www.bookshunt.ru/b109104_graficheskoe_predstavlenie_informacii
4. Alfred Inselberg. Parallel Coordinates – How it happened — http://
www.math.tau.ac.il/~aiisreal/
5. Страничка группы «Инфодизайн в IT» в сети Хабрахабр — http://
habrahabr.ru/blogs/infodesign/54316/
6. Джордж А. Миллер. Когнитивная революция с исторической точки зрения — http://www.psychology online.net/articles/doc 980.html
7. Словари и энциклопедии на Академике. Магическое число семь. — http://
dic.academic.ru/dic.nsf/enc_psychology/449/
8. Сайт разработчиков Visual Molecular Dynamics — http://www.ks.uiuc.edu/
Research/vmd/
9. Страничка группы теоретической и экспериментальной биофизики университета Иллинойс. — http://www.ks.uiuc.edu/Research/STMV/
10. Сайт разработчиков RasMol — http://www.rasmol.org
11. Галерея изображений Роджера Сейла — http://www.umass.edu/microbio/
rasmol/sayle3.htm
12. Сайт разработчиков XСrySDen и галерея — http://www.xcrysden.org/img/
xcrysden_molsurf2.png
13. Раздел сайта компании Nanorex — http://nanoengineer 1.com/content/
index.php?option=com_content&task=view&id=33&Itemid=34
14. Сайт лаборатории виртуальной реальности CAVALA — http://www.casala.ie/
3d cave.html
15. Сайт разработчика на сервере университета Висконсин Мэдисон — http://
www.ssec.wisc.edu/~billh/vis5d.html
16. Sheri A. Voelz, John Taylor. Visualizing high resolution climate data — http://
www.mcs.anl.gov/~mickelso/Visualizing_Climate_Data.html
17. Сайт Национального (USA) центра микроскопии и исследований изображений: раздел WinSage — http://ncmir.ucsd.edu/downloads/software/
WinSAGE/SAGE_description.shtm
18. Сайт компании MBF Bioscience — http://www.mbfbioscience.com/neurolucida
19. А.Е. Бондарев, В.А.Галактионов. Научная визуализация в задачах вычис
лительной физики: концепции, методы, перспективы — http://
www.keldysh.ru/pages/cgraph/articles/dep20/publ2010/Bondarev1ed.pdf
20. David Blythe Scientific Visualization Techniques (in «Advanced Graphics
Programming Techniques Using OpenGL», SIGGRAPH`99 Course) — http://
www.cs.rit.edu/usr/local/pub/wrc/courses/graphics/opengl/contrib/blythe/
advanced99/notes/node283.htm
21. Martin Falk, Daniel Weiskopf. Оutput Sensitive 3D Line Integral Convolution
(in IEEE Transactions on Visualization and Computer Graphis, 2007) — http://
www.sigmod.org/publications/dblp/db/journals/tvcg/tvcg14.html
22. Л.А. Битюцкая и др. Особенности наносистем на основе природной изоферроплатины — http://journals.ioffe.ru/ftt/2007/07/p1317320.pdf
23. Галерея научных фотообразов компании Science Photo Library — http://
www.sciencephoto.com/media/386242/view
24. Philip A. Hughes. Pictorial Wavelet Demo — http://www.astro.lsa.umich.edu/
~phughes/icon_dir/waveproj.html
Междисциплинарный характер нанотехнологии требует не только глубокого понимания фундаментальной биологии, химии, физики или математики, но и новых визуальных и вычислительных средств для осмысления явлений в наномасштабе. Компьютерный подход помогает
визуализировать сложные процессы в наноразмерных системах и обеспечивает гибкость в обобщении результатов моделирования. Задачи математического моделирования и визуализации оказываются тесно связанными, и ежегодно по этим вопросам проводятся конференции [1].
Актуальность геометрического моделирования была осознана [2] не только в области промышленности и инженерии, но и в задачах наноэлектроники.
Хорошо известный в мире в качестве инструмента прикладного моделирования пакет MATLAB обладает неплохим сочетанием программирования высокого уровня, средств обработки данных и 3D-графики, что позволяет пользователям создавать анимацию значимых для потенциального
применения в технике физических явлений, протекающих по законам квантовой механики. На обложке книги показан образ [3] конструкции из семи
односторонних углеродных нанотрубок, полученный средствами MATLAB
Эваном Доули [4] из нанотехнологического центра университета Окланда.
Сам знаменитый символ MATLAB изображает график первой собственной функции, описывающей колебания L-образной мембраны с закрепленным концом.
В первой главе рассмотрены общие вопросы моделирования наноразмерных структур, причем с акцентом на область научной визуализации
(scientific visualization). Вторая глава составлена в виде нескольких практических работ, выполнив которые самостоятельно читатель приобретет
практические навыки общения с ядром MATLAB (Release 2010a). Каждая
практическая работа построена по схеме «минимальное теоретическое
введение → разобранный пример → задание» и для лучшего усвоения
материала частично повторяет/дополняет предыдущую. Первые шесть
занятий распределены по возрастанию сложности. Ответы к большинству заданий приведены в Приложении. Третья глава посвящена дополнительным компонентам MATLAB, имеющим критическое значение для
презентации результатов моделирования. В ней также рассмотрены современные тенденции развития пакета MATLAB (в частности, параллельные вычисления и новации в программировании). Акцент, как и во
второй главе, сделан на разборе примеров. Эти четыре занятия можно
прорабатывать уже независимо друг от друга. Четвертая глава представляет собой коллекцию решений научно технических задач, реально
встретившихся в практике математического моделирования наноразмерных систем. Особо отметим, что компонент Simulink в книге никак не
рассматривается.
Введение
Отличительными особенностями данного пособия являются:
• Акцент на самостоятельной и заинтересованной работе читателя,
что предопределило наличие в пособии множества конкретных «рецептов».
• Минимум справочного материала, что стало возможным благодаря
превосходной системе Help в MATLAB (большинство других книг
излишне детально описывают команды, местами представляя собой русский перевод help страничек MATLAB).
• Стремление научить читателя мыслить «по-матлабовски» и в объектно лингвистических конструкциях MATLAB (например, знание
языка С++ часто мешает усвоению материала; на ум приходит историческая аналогия, когда Э. Дейкстра при обучении процедурному
программированию жаловался на знание студентами Бейсика).
Хотя акцент пособия сделан на применении MATLAB в наноэлектронике, но его можно использовать и для обучения работе с пакетом «с нуля».
В первую очередь пособие ориентировано на аспирантов и студентов, занимающихся нанотехнологиями. Пособие также предназначено для студентов, изучающих дисциплину «Компьютерная графика», и может быть
рекомендовано студентам первого или второго курса, обучающимся численным методам, в качестве дополнительной литературы. Для облегчения практической работы с книгой все использованные в ней программные скрипты доступны для скачивания по Интернету – см. http://narod.ru/
disk/17353950001/matlab.zip.html.
Список интернет источников
1. Журнал «Научная визуализация» — http://sv journal.com/
2. Геометрическое моделирование и визуализация в задачах современной электроники — http://sv journal.com/2009 1/02/index.html
3. Сайт центра нанотехнологий университета Окланда: Nanotechnology
Galleries — http://www.nano ou.net/EduLinks2.aspx
4. Computer based Tools for Nanotechnology Education and Research — http://
www.asee ncsection.org/papers/138.pdf
Глава 1
Особенности математического моделирования и визуализации наноразмерных структур
Развитие новых квантовых приборов с размерами активных элемтов порядка 10 нм и меньше является перспективным направлением
развития современной наноэлектроники. Такие приборы будут востребованы в ближайшем будущем для создания систем обработки, хранения
и отображения информации, источников СВ-излучения, оборудования
электронного зондирования. С недавнего времени ориентация на квантовые принципы работы приборов при реализации суперкомпактных источников тока, нанотранзисторов и элементов памяти рассматривается в
качестве основного пути для промышленных разработок. Для изготовления новых электронных компонентов будут использоваться самые различные материалы. Это не только металлы (алюминий, медь, золото, ванадий и др.) и полупроводники (кремний, арсенид галлия, фосфид индия
и др.), но и специфические наноматериалы, обладающие как свойствами
металлов, так и полупроводников (аллотропные формы углерода, азота,
оксида фосфора и т.п.), а также различные органические соединения,
включая фрагменты ДНК. Отдельно следует упомянуть класс наноструктурированных материалов, в частности:
• пористых;
• содержащих нанокристаллы;
• с упорядоченными островками одного вещества на поверхности
пленки из другого вещества.
Большую популярность приобрели фуллерены (и эндофуллерены, перспективные для создания квантового компьютера), углеродные нанотрубки, а исследователи графена вообще получили Нобелевскую премию. Ведется активный поиск материалов для приборов оптоэлектроники и
фотоники (лазеры, солнечные элементы, наноразмерные волноводы для
оптических межсоединений интегральных микросхем); например, ученые
пытаются заставить излучать в видимом диапазоне нанокристаллический
кремний.
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
8
Для создания указанных выше электронных приборов прежде всего
необходимо всестороннее изучение свойств соответствующих наноматериалов и их взаимодействия с окружающей средой в рамках общей конструкции. Эта задача равно распределяется как на экспериментальные,
так и на теоретические исследования. В последнем случае все большую
роль играет компьютерное моделирование, в том числе с помощью высокопроизводительных вычислительных систем. Большая вычислительная
нагрузка определяется тем, что математические модели, описывающие
процессы в новых электронных приборах, стали существенно сложнее.
Это связано с тем, что наряду с традиционными факторами (трехмерность,
нестационарность, нелинейность, пространственно временная неустойчивость и некорректность задач) появились такие особенности, как сложная
реальная геометрия, сложная иерархия пространственно временных размеров, нелокальность процессов, наличие очень большого числа компонент среды и множества фаз одной и той же физической величины. В результате современная математическая модель включает целый набор
физических описаний, имеющих различную природу и использующих
различный математический аппарат (описания механики сплошной среды, квантовые и статистические модели, гибридные подходы), которые,
как правило, плохо стыкуются между собой.
2 В общем случае модель является представлением объекта, системы
или понятия (идеи) в некоторой форме, отличной от формы их реального существования. Модель какого либо объекта может быть или точной копией этого объекта, или отображать некоторые характерные свойства объекта в абстрактной форме. Модель служит обычно средством,
помогающим нам в объяснении, понимании или совершенствовании системы. Можно указать по крайней мере пять функций моделей в качестве:
1) средства осмысления действительности;
2) средства общения;
3) средства обучения и тренажа;
4) инструмента прогнозирования;
5) средства постановки экспериментов.
Иными словами, модель может служить для достижения одной из двух
основных целей: либо описательной, если модель служит для объяснения
и (или) лучшего понимания объекта, либо предписывающей, когда модель позволяет предсказать и (или) воспроизвести характеристики объекта, определяющие его поведение. Модель предписывающего типа обычно является и описательной, но не наоборот.
Прежде чем начать разработку математической модели, необходимо
понять, что собой представляют структурные элементы, из которых она
строится. В самом общем виде структуру модели математически можно
представить в виде:
Z = Φ(x, y, a, ξ),
Особенности математического моделирования и визуализации
наноразмерных структур
9
где: Z – результат действия системы (например, целевая функция или
сконструированный нами функционал); x – вектор входных переменных,
которыми мы можем управлять; y – вектор переменных состояния (когда
они характеризуют состояние или условия, имеющие место в объекте, и
вполне наблюдаемы в опыте) или выходных переменных (когда речь идет
о выходах системы); a – вектор внутренних параметров объекта (системы); ξ – вектор неопределенных параметров (часть входных переменных
и внутренних параметров системы, значения которых мы не знаем точно)
и возмущающих воздействий (т.е. в точном математическом смысле случайных величин).
Компонентами векторов x и y являются расходы и составы потоков
веществ, концентрации веществ, температура, давление в потоках и т.п.,
компонентами вектора a – коэффициенты и параметры, характеризующие свойства перерабатываемых веществ, физико химические процессы
в системе (константы скоростей химических реакций, коэффициенты
тепло и массообмена, диффузии и т.п.), геометрические размеры и конструктивные особенности технологического оборудования. Для нанораз
мерных структур потоки веществ (в том числе носителей заряда) измеряются в дискретных единицах, а роль внутренних параметров могут играть
либо волновые функции системы, либо, если модель не исходит из первых принципов (ab initio), эмпирические коэффициенты (электроотрицательность, подвижность, параметры межатомного потенциала Ленарда Джонса).
3 Визуализация в общем смысле – метод представления информации в
виде оптического изображения (например, в виде рисунков и фотографий, графиков, диаграмм, структурных схем, таблиц, карт и т.д.). Особенно эффективно визуализация используется для представления изна
чально незрительной информации (распределение плотности населения,
пространственное распределение уровней электромагнитных или радиационных полей, температур, электронной плотности и т.д.). Считается,
что зрение обеспечивает человеку около 90% информации. Рассматривание изображений позволяет исследовать пространственные структуры,
имеющиеся в объекте; распределение оптических плотностей и цветов
отражает важнейшие сведения о свойствах реальных и виртуальных объектов окружающего мира. Визуализация лежит в основе развития письменности (от символов, иероглифов – к пиктограммам и буквам) и нераз
рывно связана с основами развитого человеческого символического и
логического мышления. Проблемы визуализации являются предметом
обсуждения [1] философов, психологов и, конечно, разработчиков САПР
и систем компьютерной графики.
Визуализация пространственных данных используется в основном в
задачах научной визуализации. Научная визуализация – это создание графических образов, в максимально информативной форме воспроизводящих значимые аспекты исследуемого процесса или явления. При этом
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
10
большой объем результатов моделирования представляется в компактной
и легко воспринимаемой форме. Представление в виде графических образов позволяет исследователю увидеть изучаемую систему или процесс
изнутри, что было бы невозможно без визуализации данных. И, иногда,
именно визуализация приводит к полному пониманию явления (см. первую функцию моделей). В одном из исследований [2], выполненных во
Всесоюзном научно исследовательском институте технической эстетики,
инженерно психологическими методами было проведено экспериментальное сравнение скорости обучения и эффективности (с точки зрения
скорости, точности и надежности) работы операторов сложных радиотехнических комплексов при двух различных способах представления им
информации. В одном случае операторы пользовались традиционными
текстовыми инструкциями, в другом – тексты были заменены графическими схемами, отображавшими основной оперативный смысл инструкций
по предложенному командно информационному принципу непосредственно в виде графических символов алгоритмов действий. Применение графического способа представления информации дало в этих экспериментах значительные результаты: длительность обучения сократилась
примерно вдвое, время принятия и реализации решений уменьшилось в
среднем на 30%, а число ошибок – на 15%. «Говорят, один рисунок стоит
тысячи слов, и это действительно так, но при условии, что рисунок хороший»
(У. Боумен [3]).
С возрастанием количества накапливаемых данных (например, в базах
данных), даже при использовании сколь угодно мощных и разносторонних
алгоритмов Data Mining, становится все сложнее «переваривать» и интерпретировать полученные результаты. А, как известно, одно из положений
Data Mining – поиск практически полезных закономерностей. Закономерность может стать практически полезной, только если ее можно осмыслить и
понять. Визуализация традиционно рассматривалась как вспомогательное
средство при анализе данных, однако сейчас все больше исследований говорит о ее самостоятельной роли. Принято считать, что началом формирования научной визуализации как особой дисциплины является 1987 год, когда
в США по инициативе ACM SIGGRAPH была организована дискуссия по
проблеме визуального представления научных данных и сформулированы
соответствующие задачи направления визуализации:
• представлять пользователю информацию в наглядном виде;
• компактно описывать закономерности, присущие исходному набору
данных;
• снижать размерность или сжимать информацию;
• восстанавливать пробелы в наборе данных;
• находить шумы и выбросы в наборе данных.
Методы визуализации, в зависимости от количества используемых
измерений, принято классифицировать на две группы: представление
данных в одном, двух и трех измерениях; представление данных в четыОсобенности математического моделирования и визуализации
наноразмерных структур
Представления информации в 4D и более измерениях недоступны для человеческого восприятия. Однако разработаны
специальные методы для возможности отображения и восприятия чело
веком такой информации. Наиболее известные способы многомерного
представления информации:
• параллельные координаты;
• «лица Чернова»;
• лепестковые диаграммы.
В параллельных координатах переменные кодируются по горизонтали, вертикальная линия определяет значение переменной. Этот метод
представления многомерных данных был изобретен Альфредом Инселбергом (Alfred Inselberg) [4] в 1985 году (рис. 1.1). Основная идея представления информации в «лицах Чернова» (Chernoff faces) состоит в кодировании значений различных переменных в характеристиках или чертах
человеческого лица. Люди легко распознают лица и без затруднения воспринимают небольшие изменения в нем. Американский математик Геран Чернов в 1973 году опубликовал работу, в которой изложил концепцию использования этой способности восприятия лица человека (рис. 1.2)
для построения пиктографиков [5]. Их применяют, как правило, в двух
случаях: когда нужно выявить характерные зависимости или группы наблюдений; когда необходимо исследовать предположительно сложные
взаимосвязи между несколькими переменными. Лепестковая диаграмма
(radar diagram/spider chart) благодаря внешнему виду (рис. 1.3, см. цв. вклейку), также называемая диаграммой паутиной или диаграммой звездой,
представляет значения каждой категории вдоль отдельной оси, которая начинается в центре диаграммы и заканчивается на внешнем кольце. Такие
диаграммы широко применяются при анализе маркетинговых данных.
Рис. 1.1. Изображение в параллельных координатах точки (с1, с2, с3, с4, с5)
пятимерного пространства в виде ломаной (слева) и пятимерной
сферы (справа)
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
Многие современные средства анализа данных позволяют строить сотни типов различных графиков и диаграмм. Поэтому выбор метода визуализации, если он самостоятельно осуществляется пользователем, не так
прост и легок, как может показаться на первый взгляд. Наличие большого количества средств визуализации, представленных в инструменте, который применяет пользователь, может даже вызвать растерянность.
Один из принципов Тафта (Tufte’s Principles) гласит: «Предоставляйте
пользователю самое большое количество идей в самое короткое время, с
наименьшим количеством чернил на наименьшем пространстве». Сформулированы основные принципы компоновки визуальных средств представления информации:
1. Принцип лаконичности.
2. Принцип обобщения и унификации.
3. Принцип акцента на основных смысловых элементах.
4. Принцип автономности.
5. Принцип структурности.
6. Принцип стадийности.
7. Принцип использования привычных ассоциаций и стереотипов.
Помимо них отметим закон строгого соответствия композиционного
решения, формы графического информационного средства его функциональному назначению, содержанию отображаемой информации. Принцип
лаконичности состоит в том, что графическое средство представления информации должно содержать лишь те элементы, которые необходимы для
сообщения человеку существенной информации, точного понимания ее
значения или принятия с вероятностью, не ниже допустимой величины
соответствующего оптимального решения. Принцип лаконичности является, пожалуй, наиболее универсальным. Его роль весьма существенна
при дальнейшем решении задач. Необходимый зрительный акцент на
основных композиционных элементах достигается более успешно и притом более экономично путем отсеивания лишних, затемняющих рисунок
Рис. 1.2. Параметризация лица Чернова (слева) и пример отображения данных (справа)
Особенности математического моделирования и визуализации
наноразмерных структур
13
и сознание, деталей, а не только за счет усиления воздействия на наблюдателя главных элементов приданием им больших размеров, интенсивного цвета, увеличением яркости свечения и т.д. В подтверждение выска
занному можно привести тот факт, что в художественном конструировании
принимается за аксиому, что «бесполезно стремиться направить внимание на важнейшие характеристики, если они окружены лишними, не относящимися к ним визуальными раздражителями, мешающими восприятию главного» (Ф. Эшфорд).
Из второго принципа следует, что в пределах всего комплекса графических средств представления информации символы, обозначающие одни
и те же объекты или явления, должны быть обязательно унифицированы –
иметь единое графическое решение. Принцип акцента на основных смысловых элементах: на графических средствах отображения информации
следует выделять размерами, формой, цветом в первую очередь те элементы, которые наиболее существенны. Особое значение числа семь в
процессах восприятия информации человеком было установлено американским психологом Дж. Миллером [6]. Число 7±2 двоичных единиц информации было названо им «магическим». Число Миллера [7] и является
той границей, когда теряются свойства целого и части превращаются в
элементы (5 й принцип). В настоящее время особую популярность приобрел термин когнитивная графика.
4 Следует отметить две тенденции развития систем визуализации.
С одной стороны, разработка универсальных средств визуализации,
а с другой, специализация по всем направлениям, вплоть до создания специальных графических станций с реализацией для данного случая графическим алгоритмическим и программным обеспечением. В настоящее
время создано большое количество пакетов прикладных программ (ППП)
для моделирования в физике, химии и других областях естествознания.
Обычно эти ППП достаточно сложны и велики по объему. На первых порах создания ППП в них включались и графическая часть для визуализации результатов моделирования. Такие графические программы обычо привязывались к той архитектуре компьютеров, для которых они и
разрабатывались. По мере развития вычислительной техники ситуация
сильно изменилась. Графические программы становились все сложнее, а
их возможности значительно возросли. Остро встала задача универсальности и переносимости таких программ на различные платформы и операционные системы. Стало очевидно, что нужно использовать мощные
средства графики, которые уже созданы внутри самих операционных систем.
Хорошо известно, что научные ППП для моделирования и расчетов
сложны и велики по объему. Они состоят из большого количества подпрограмм (до 1000 и более), а количество строк исходного кода может доходить до 106. Очевидно, нет смысла перегружать их графическими программами, которые тоже обычно большие и сложные. Именно такой путь
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
14
создания программ визуализации наблюдается в настоящее время в области научных исследований. Очевидно также, что обычный пользователь
не в состоянии создавать графические программы для используемых им
ППП, хотя такие попытки были, особенно после появления персональных компьютеров. Это сложно как с технической, так и с экономической
стороны. Графически программы общего пользования должны быть хорошо документированы, а эта сторона, как правило, не решается при кустарной разработке таких программ. Документация многих современных
графических пакетов доходит до 200 страниц. Она также создается в формате html и доступна в Интернете на сайте разработчиков. Научные ППП,
как правило, имеют небольшой объем входных данных и очень большой
объем выходных данных, которые к тому же имеют различный формат,
привязанный к данному ППП. Часто в таких ППП создаются файлы для
последующей анимации результатов моделирования; иногда на сайтах
научных журналов (или конференций) можно видеть прикрепленный к
статье файл анимации.
Типичным примером таких ППП являются пакеты для моделирования
методами молекулярной динамики (ММД) и пакеты для квантово-механических расчетов. Молекулярное моделирование – очень сложная и
объемная задача, даже если рассматривать только геометрические характеристики модели строения молекулы. Сложность задачи, например, может
возрастать с увеличением числа атомов в молекуле. Количество атомов достигает 106 в молекуле ДНК, полупептидах и белках. Молекулярным моделированием занимаются в мире многие организации на разных уровнях и
для разных целей, поэтому существует большое количество форматов хранения характеристик молекул в файлах. Известно более 20 видов форматов
(например, *.pdb, *.out). Большое разнообразие форматов затрудняет перевод данных в расчетных программах между собой и стыковку с программами визуализации. Однако существует импортная программа-конвертор
«Babel», которая переводит данные из одного формата в другой.
В качестве примера ММД пакета рассмотрим пакет CPMD, в котором
реализован метод ab initio молекулярной динамики. Входными данными
здесь являются координаты атомов и их начальные скорости, а также дан
ные, которые описывают режимы моделирования. Выходные данные содержат координаты скорости и силы, действующие на атомы, а также
многочисленные файлы с другой нужной информацией. Для визуализации результатов моделирования пакета CPMD был создан пакет VMD
(Visual Molecular Dynamics) [8] в университете штата Иллинойс [9]. Этот
пакет достаточно эффективен; используя библиотеки Open GL, он может
отображать большие молекулы типа ДНК (рис. 1.4, см. цв. вклейку), а также кластеры и фрагменты кристаллов до 100 000 атомов. Лицензия VMD
бесплатна для университетов и академических институтов.
Нельзя не упомянуть еще об одной утилите – RasMol [10], предназначенной для визуализации молекул и используемой преимущественно для
Особенности математического моделирования и визуализации
наноразмерных структур
15
изучения и получения изображений пространственных структур биологических макромолекул, в первую очередь белков и нуклеиновых кислот
(рис. 1.5, см. цв. вклейку). Первая версия программы RasMol была создана Роджером Сэйлом в 1992 году. Начиная с версий серии 2.7, RasMol распространяется по двойной лицензии (GPL или RASLIC). Тем самым,
RasMol (наряду с Jmol и PyMOL) – одна из немногих программ визуализации молекул с открытым кодом. Легко интегрируется с пакетами HyperChem
и ChemLab.
Завершая тему молекулярной динамики, рассмотрим графический
пакет для научных исследований, в котором сделан акцент на визуализации кристаллов – XСrySDen [12] (рис. 1.6, см. цв. вклейку). Он поставляется как в исходном виде, так и в виде готовых загрузочных модулей. При
использовании исходного кода нужно обеспечить наличие библиотек
OpenGL (MESA) и Tcl/Tk (скриптовый язык программирования). Сам
пакет написан на Си и Фортране, ориентирован на X Windows/UNIX, но
может быть установлен и для MS Windows (требуется Cygwin, библиотека,
эмулирующая ряд графических функций Linux).
Таким образом, на примере ППП молекулярной динамики можно
выделить две тенденции развития научной графики:
• Разработка средств визуализации становится более автономной и
независимой от непосредственного создания расчетного ядра ППП.
• Потребитель обеспечивается вместе с оригинальным расчетным
ядром более универсальной и часто имеющей статус freeware графической компонентой (не путать с интерфейсом!).
Хотя в микро и наноэлектронике эти тенденции еще не до конца раскрылись, тем не менее лишним подтверждением служит линейка open
source продуктов NanoEngineer [13].
Специфичным примером методов визуализации является Cave-технология. В настоящее время Cave технология [14] является наиболее мощ
ной системой трехмерной визуализации. Cave (пещера) создает ощущение полной виртуальной реальности. Специальные устройства фиксируют
все движения человека, находящегося в «виртуальной среде», чтобы соответствующим образом менять и окружающие его изображения. Таким
образом, исследователь сможет изучать объект, передвигаясь вокруг или
внутри его виртуального образа. Суперкомпьютер управляет проектора
ми этой системы визуализации, а также используется при визуализации
биологических молекул (VMD), моделировании погоды (Vis5D [15]), в океонографии и метеорологии (Cave5D [16]), в визулиации анатомических
данных, полученных с электронного микроскопа (WinSAGE [17]), для ней
роанатомического анализа (Neurolucida [18]) и в других проектах. Использование Cave технологии – самое широкое как в научных исследованиях в различных областях (химии, физики, геологии и др.), так и в
инженерном деле (архитектуре, проектировании сложных конструкций
и т.д.), а также при подготовке специалистов (имитационные тренажеры).
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
16
5 Большую роль в становлении научной визуализации сыграли задачи
гидродинамики. Эти задачи, особенно нестационарные или допускающие разрывы функций состояния, сохраняют актуальность и сейчас,
например, при расчетах микроэлектромеханических и наноэлектромеханических систем (МЭМС/НЭМС). Для решения этих задач (в аспекте визуализации) был разработан ряд общих концепций [19] и ряд относитель
но частных методов [20]. Современные методы визуального представления
численных данных можно с известной долей условности разделить на две
группы:
• методы, основанные на повышении выразительности визуального
образа;
• методы, основанные на анализе данных (условно – «Data Mining»,
хотя сам термин пришел к нам из области баз данных).
Первая группа методов имеет одно общее свойство – они посвящены
решению проблем визуальных представлений с помощью усиления выразительности результирующего образа.
В качестве примера рассмотрим задачу свободной конвекции жидкости в полости с локальным теплообменом на горизонтальных поверхнос
тях. Решение фундаментальной проблемы научной визуализации достигается выделением структурных элементов течения в сочетании с анимацией.
Для визуализации течения жидкости необходимо введение искусственных
поверхностей, позволяющих увидеть само движение. В рассматриваемом
течении такой поверхностью служит изоповерхность нейтральной температуры. Использование нелинейной зависимости между интенсивностью
цвета и температурой позволяет четко выделить границу между областями,
занятыми теплой и холодной жидкостями, формируя у зрителя искусственное представление о наличии в объеме двух жидкостей с резкой границей
раздела.
Вторым примером служат многочастичные анимационные методы
(МЧА методы), основанные на визуальном представлении движения
множества маркеров в объектном пространстве. Рассматривается расчетная область произвольной формы, внутри которой реализуется вектор
ное поле. Внутри области по некоторому правилу задается конечное множество точек, каждой из них ставится в соответствие маркер. Это – точки
рождения маркеров. В данном подходе маркер определен своей точкой
рождения, временем жизни и жизненным объемом. Большинство разнообразных МЧА методов можно рассматривать как частные случаи вышеописанного подхода с варьирующимися правилами задания параметров
маркера.
Третий пример связан с линейной интегральной конволюцией (Line
Integral Convolution, LIC), успешно реализованной средствами OpenGL и
позволяющей визуализировать турбулентности (рис. 1.7, см. цв. вклейку).
Методы «Data Mining» имеют одно общее свойство – достижение но
вых результатов с помощью препроцессингового, параллельного расчету,
Особенности математического моделирования и визуализации
наноразмерных структур
17
или дополнительного анализа основного поля данных. Такой подход позволяет применение известного и разработанного в других областях знания мощного математического аппарата. Тогда алгоритм визуализации
выглядит так: получение основного поля данных для визуального представления; дополнительные анализ и обработка этого поля; получение
новой информации, как результата дополнительного анализа и обработки; применение средств визуализации к полученной новой информации
и к основному полю данных.
Например, при визуальном представлении скалярного поля при помощи тоновой заливки задается закон, устанавливающий соответствие
между цветами палитры и диапазоном изменения представляемой скалярной величины. При линейном задании этого закона можно потерять
существенную часть информации о решении, особенно в областях сильных изменений величины в узких зонах. Во избежание этого проводится
статистический анализ распределения значений изображаемой величины с целью определения нового закона соответствия, что помогает визуально представить полученное решение без потери ценной информации.
Это направление получило дальнейшее развитие с применением мощного
современного математического аппарата вейвлет анализа. Напомним, что
вэйвлет – это двумерное обобщение преобразования Фурье некоторого сигнала (заданного, например, электромагнитной волной или представляющего собой картинку [22] с атомно силового микроскопа), т.е. если в классическом спектральном анализе делается переход «время частота» f(t) → C(ω),
то здесь f(t) → C(a,b), причем пара (a,b) имеет смысл «масштаб, сдвиг по
времени» (рис. 1.8, см. цв. вклейку).
6 Как правило, сложным элементом математической модели наноразмерной системы является геометрия расчетной области и используемый в расчетах геометрический аппарат. Дело в том, что при приближении
пространственных характеристик активных элементов электронного прибора к молекулярным и атомным размерам возникает необходимость учитывать детальную геометрическую конфигурацию всех его компонент. Для
этого необходимо знать структурные параметры анализируемых наноматериалов, иметь точные представления о геометрических и спектральных
характеристиках равновесного и квазиравновесных состояний молекул,
атомов и других частиц и их возможных комбинаций. Зачастую эти данные в каждом конкретном случае либо неточны, либо недостаточны для
получения приемлемого описания моделируемой конфигурации. В результате, прежде чем начинать моделирование основной задачи, приходится
ставить и решать специальные геометрические и спектральные задачи для
получения начальных данных о геометрической структуре материала и
возможных ее дефектах и вариациях. Далее в процессе решения основной задачи приходится параллельно пересчитывать динамические изменения геометрической информации с целью контроля основного расчета
по геометрическим и спектральным характеристикам. Результатом основ
вычислений также может быть геометрическая и спектральная информации. Таким образом, геометрический анализ является неотъемлемой частью вычислительного эксперимента на всех его этапах.
Другой аспект этой проблемы состоит в том, что проведение геометрических вычислений неэффективно, а в ряде случаев и невозможно без
визуализации исходных, промежуточных и результирующих данных. Поэтому задача визуализации геометрических данных различных классов
является в свою очередь неотъемлемой частью геометрического моделирования. Среди основных задач визуализации особое внимание уделяется изображению поверхностей в трехмерном пространстве и динамике
трехмерных объектов. Дополнительной проблемой является изображение
многомерных распределенных данных, полученных в результате расчетов на многопроцессорных вычислительных системах с распределенной
памятью.
Таким образом, можно выделить три основных классы задач современной наноэлектроники, расположив их в порядке увеличения вычислительной сложности. Первый класс проблем связан с компьютерным
представлением электронных схем и систем на макро и микроуровнях.
Как правило, это различные рисунки и схемы, описывающие дизайн, от
дельные компоненты и составляющие материалы устройств, режимы их
работы, таблицы параметров. Данный класс проблем эффективно под
держан большим количеством CAD/CAE систем и баз данных. Геомет
рические проблемы, которые рассматривают здесь, в основном касаются
теории графов и визуализации простых геометрических объектов. При
переходе к наномасштабам в рамках МЭМС/НЭМС и проектов 3D-интеграции электронных компонентов (в частности, запланированному на
2020 г. созданию трехмерной матрицы микропроцессоров в виде систолического массива или подобия нейронной сети CNN, соединенных, возможно, оптическими связями) особенно актуальной становится именно
3D визуализация.
Уже созданы для этого некоторые инструменты. В частности, утилита
gds2pov [25], переводящая стандартное GDSII-описание топологии фрагмен
та интегральной схемы в формат универсальной программы POV_ray [26],
служащей для создания реалистичных 3D-изображений (например, для
компьютерных игр) (рис. 1.9, см. цв. вклейку). Обе программы свободно
распространяемые, как и сравнительно старый, но по-прежнему развивающийся проект [28] Electric VLSI Design System. В качестве частного
примера коммерческого программного обеспечения можно привести
Microwave Studio [29], предназначенного для 3D моделирования и визуа
лизации СВЧ схем. Система моделирования является законченным программным продуктом, т.е. она имеет в своем составе все необходимые
модули, начиная с графического редактора для прорисовки трехмерной
структуры и заканчивая модулем построения рассчитанных частотных
зависимостей.
Второй класс проблем связан с вычислениями состава, структуры и
свойств различных веществ и материалов, используемых в современной элек
тронике. В рамках данного класса задач можно выделить два фундаменталь
ных направления исследований. Первое связано с созданием и эффективным использованием подробных баз данных по свойствам веществ и
материалов, полученных на основе экспериментов и компьютерных вычислений. Используемые при этом геометрические методы касаются в основном цифрового кодирования и сжатия различной геометрической информации. Второе направление сформировано квантовыми и химическими
расчетными программами, позволяющими вычислять структуру и свойства новых веществ и материалов. Объектом, инициирующим числовые
и геометрические вычисления, здесь является множество квантово-механических задач, сформулированных для систем большой размерности.
Среди множества численных подходов можно выделить такие известные
методы, как классический и квантовый метод Монте-Карло, классическая и квантовая молекулярная динамики, методы моделирования «из первых принципов» (ab initio), аппарат теории матриц плотности и функций
Грина, решение уравнений Шредингера в различных приближениях традиционными численными методами и т.д. Результаты таких вычислений
также помещаются в базы данных. САПР данного класса были рассмотрены нами в п. 5.
Третий класс проблем связан с моделированием процессов работы
электронных устройств и их частей, а также с оптимизацией параметров
устройств. Этот класс задач имеет наивысшую вычислительную сложность, поскольку задачи данного класса могут использовать практически
любые методы вычислений, в том числе методы компьютерной геометрии и визуализации. В этих рамках возникают следующие традиционные
геометрические задачи:
• Описание вычислительной области геометрическими методами.
• Построение вычислительных сеток различного типа и качества.
• Аппроксимация основных уравнений модели на сетках определенного типа с использованием геометрической информации.
• Решение дискретных задач, возникающих в результате сеточных
аппроксимаций.
• Геометрическое распараллеливание и решение задач с помощью
параллельных компьютерных систем.
• Использование геометрических моделей и методов для визуализации начальных, промежуточных и результирующих данных.
Еще одним примером, помимо представленных на рис. 1.10–1.12 (см.
цв. вклейку), совместного решения задач 1 го и 3 го классов служит компонента Device3D коммерческого ППП фирмы Silvaco, используемого для
моделирования различных базовых элементов приборов наноэлектроники. Device3D включает в себя библиотеки свойств материалов, регулярно
используемых полупроводниковой индустрией на сегодняшний день, а
Глава 1. Особенности математического моделирования и визуализации
наноразмерных структур
20
физические явления, которые могут быть смоделированы с помощью
Device3D, разнообразны: поглощение фотонов, их испускание, влияние
ловушки в объеме и на границе раздела веществ, магнитные поля, саморазогрев, воздействие ионизирующего излучения, горячих носителей и туннельные эффекты. Это позволяет успешно моделировать такие устройства,
как солнечные батареи, КМОП сенсоры, светодиоды, тонкопленочные
транзисторы (в ЖК панелях), перепрограммируемая память (EPROM),
нестандартные КМОП структуры и силовые приборы. На сайте компании
представлена впечатляющая коллекция [33] визуализаций таких устройств.
7 Специфичность моделирования физических процессов в наноразмерных структурах заключается в многофакторности оного, что влечет
за собой сложность, иерархичность структуры и наукоемкость полной математической модели, описывающей систему. Нельзя рассматривать и, что
особенно важно, реализовывать в вычислительном эксперименте фрагменты модели изолированно, поскольку своими входными параметрами
«малая» требует выходные данные от другой «малой» модели. И здесь обращение к «тяжелым» ППП естественно (относительно универсальны
ANSYS, его аналог FEMLAB, а также LabView). Использование специализированных коммерческих ППП предоставляет пользователю широкие возможности, однако зачастую обладает двумя недостатками:
• недоступность по экономическим причинам;
• закрытость при необходимости изменения кода и/или математической модели.
В прикладной и непосредственно ориентированной на производство
науке их применение подчас выглядит единственным вариантом. В тех
областях науки, когда в равной степени значимы как фундаментальные,
так и прикладные аспекты, исследовательские группы вовлекаются в процесс программирования, затрачивая годы усилий на инжиринг необходимого им программного инструментария, исключительное право на использование которого принадлежит этой группе. Во всяком случае такой
программный продукт выходит на рынок (или переходит в разряд open
source) тогда, когда исследовательская группа уже получила с его помощью наиболее значимые результаты.
Фундаментальные области знания, где возникают оригинальные исследовательские задачи и соответствующие модели, требуют иного подхода. И в прикладных задачах в ряде случаев при правильной постановке
вопроса удается видоизменить «малую» модель, введя туда идеализирующие предположения и зафиксировав часть внешних связей, чтобы она
была доступна моделированию. Начинающие студенты или аспиранты,
получив задание от научного руководителя, сразу спешно обращаются к
известному им с младших курсов Си подобному языку программирования, чтобы провести расчет. Некоторые даже затрачивают уйму времени
на создание GUI интерфейса и изучение графических библиотек соответствующей среды программирования, но скорее всего все закончится
Особенности математического моделирования и визуализации
наноразмерных структур
21
записью данных текстовый или CSV файл, который вручную импортируется в MS Excel с последующим получением вожделенных диаграмм и
графиков. Всю эту утомительную процедуру, разумеется, приходится повторять заново при перерасчете. Этот алгоритм действий следует признать
принадлежащим прошлому веку, неэффективным во всех отношениях и
нерекомендованным к использованию, как оператор goto.
Уже несколько десятилетий сосуществуют и успешно развиваются общецелевые пакеты математического моделирования, существенно облег
чающие применение численных методов и визуализацию (тем самым снимая с разработчика модели наиболее рутинные операции типового
маршрута математического моделирования). В первую очередь это:
• MATLAB (первая версия – 1982 г., но разработки велись в конце
1970 х гг. еще до основания компании MathWorks).
• Mathematica [34] (с 1988 г. разрабатывается компанией Wolfram
Research Стивеном Вольфрамом [35], профессиональным матемаиком, пропагандирующим «экспериментальную математику» и
внесшим значительный вклад в исследование 1D клеточных автоматов).
• MathCad (с 1986 г. разрабатывался Алленом Раздовым [36] и его компанией MathSoft, в 2006 г. был продан компании PTC).
• Maple (первая версия – 1982 г., с 1988 г. разрабатывается компанией
Maplesoft (Waterloo Maple), которая основана Кейтом Геддесом и Гастоном Годдетом).
Последний пакет сыграл историческую роль в развитии символьно-аналитических вычислений, часть разработок вошло в ППП MATLAB и
Mathematica, но после ухода одного из основателей потерял оригинальность,
а фирма сосредоточилась на рыночной нише автоматизации конструиро
вания. В России популярность Maple падает. ППП MathCad изначально
был ориентирован на пользователей, не являющихся программистами, что
до сих пор является его хроническим недостатком; кроме того, несмотря
на поддержку штатного набора средств визуализации, его математические
возможности по сравнению с ППП MATLAB и Mathematica ограничены.
Хотя, конечно, называть пакет «визуальным калькулятором» было бы неправильно. Его основатель после продажи компании также де факто отошел от дел. ППП Mathematica по своим возможностям не уступает MATLAB,
однако ориентирована больше на математические объекты; справочная
система включает в себя целую математическую энциклопедию практически по всем разделам, даже экзотическим, современной математики. ППП
эволюционирует в прикладные области, как и MATLAB, однако, по-видимому, не так быстро. Интерфейс и командный язык ППП Mathematica требует привыкания. MATLAB, хотя и проигрывает Mathematica в изощрен
ности, лишен этих недостатков: в частности, интерфейс естественен для
пользователей DOS или Unix, т.е. систем, использующих режим командной строки. С другой стороны, возможности Mathematica при отображе
нии/экспорте информации по молекулярной динамике выше, чем в
MATLAB, и в свою очередь MATLAB обладает гораздо более внушитель
ным набором средств обработки сигналов (в том числе в режиме реального
времени). По данным одного российского опроса [37], распространенность
этих ППП: MATLAB 38%, MathСad –7%, Mathematica –33%, Maple – 23%
(2007 г., объем выборки – 136).
Учебные или академические версии этих программ, как и для большинства коммерческих ППП, вполне распространены в России. Уже проведено несколько всероссийских научно технических конференций под
общим названием «Проектирование инженерных и научных приложений
в среде MATLAB». В частности, уже долгие годы в Московском институте
электронной техники используется и регулярно обновляется лицензионная версия MATLAB для обучения студентов численным методам, а его
встроенная компонента Simulink – для обучения магистрантов моделированию и проектированию интегральных схем на функциональном и
архитектурном уровнях.
Несколько слов о бесплатных аналогах MATLAB. Это прежде всего
SciLab [38] и GNU Octava [39]. Группы разработчиков этих программ, с
одной стороны, старались по возможности воспроизвести систему команд
MATLAB и его архитектуру, более того – создали неплохую справочную
систему (но, конечно, уступающую превосходной написанной документации MATLAB). Однако они уступают MATLAB и в возможностях визуализации (при синтаксически одинаковых командах!), и в научно техни
ческом содержании. Использовать эти ППП после опыта общения с
MATLAB – все равно, что пересесть с машины на велосипед. С другой
стороны, не будем забывать, что при недоступности MATLAB и другого
коммерческого ППП это все таки хорошая альтернатива для проведения
моделирования. Представляет интерес сетевой проект iMATLAB [40], в
какой то степени реализующий идею «облачных» вычислений. Любой
пользователь может через веб интерфейс передать команды, а удаленный
сервер посредством среды моделирования – их интерпретировать, выполнить и передать графическую и/или текстовую информацию на терминал
пользователя; таким образом, аналогом MATLAB можно пользоваться
прямо из дома или даже с мобильного телефона без установленного пакета. В Internet Matlab (iMatLab) за основу принята стилизованная (измененая) версия языка Matlab, при этом были учтены некоторые особенности
интернет языков программирования; например, включена поддержка
javascript в синтаксисе рабочего кода. Однако, несмотря на возможность
коллективного выполнения проектов, возможности «настоящего»
MATLAB гораздо шире. Отметим в этой связи международные проекты
NanoHub [41] и MATLAB TeraGrid [42].
Работе в среде MATLAB посвящено более тысячи книг и множество
публикаций и, перефразируя одного пролетарского классика, скажем:
«MATLAB так же неисчерпаем, как и атом…»
Список интернет источников 23
Список интернет источников
1. Труды международной конференции «Трехмерная визуализация научной, тех
нической и социальной реальности» — http://v4.udsu.ru/science/konf_reality
2. Грачев Н.Н. Основы прикладной инженерной психологии // Психология
инженерного труда — http://wosco.narod.ru/88.4_activitiespsychology.htm
3. Боумен У. Графическое представление информации (1971) — http://
www.bookshunt.ru/b109104_graficheskoe_predstavlenie_informacii
4. Alfred Inselberg. Parallel Coordinates – How it happened — http://
www.math.tau.ac.il/~aiisreal/
5. Страничка группы «Инфодизайн в IT» в сети Хабрахабр — http://
habrahabr.ru/blogs/infodesign/54316/
6. Джордж А. Миллер. Когнитивная революция с исторической точки зрения — http://www.psychology online.net/articles/doc 980.html
7. Словари и энциклопедии на Академике. Магическое число семь. — http://
dic.academic.ru/dic.nsf/enc_psychology/449/
8. Сайт разработчиков Visual Molecular Dynamics — http://www.ks.uiuc.edu/
Research/vmd/
9. Страничка группы теоретической и экспериментальной биофизики университета Иллинойс. — http://www.ks.uiuc.edu/Research/STMV/
10. Сайт разработчиков RasMol — http://www.rasmol.org
11. Галерея изображений Роджера Сейла — http://www.umass.edu/microbio/
rasmol/sayle3.htm
12. Сайт разработчиков XСrySDen и галерея — http://www.xcrysden.org/img/
xcrysden_molsurf2.png
13. Раздел сайта компании Nanorex — http://nanoengineer 1.com/content/
index.php?option=com_content&task=view&id=33&Itemid=34
14. Сайт лаборатории виртуальной реальности CAVALA — http://www.casala.ie/
3d cave.html
15. Сайт разработчика на сервере университета Висконсин Мэдисон — http://
www.ssec.wisc.edu/~billh/vis5d.html
16. Sheri A. Voelz, John Taylor. Visualizing high resolution climate data — http://
www.mcs.anl.gov/~mickelso/Visualizing_Climate_Data.html
17. Сайт Национального (USA) центра микроскопии и исследований изображений: раздел WinSage — http://ncmir.ucsd.edu/downloads/software/
WinSAGE/SAGE_description.shtm
18. Сайт компании MBF Bioscience — http://www.mbfbioscience.com/neurolucida
19. А.Е. Бондарев, В.А.Галактионов. Научная визуализация в задачах вычис
лительной физики: концепции, методы, перспективы — http://
www.keldysh.ru/pages/cgraph/articles/dep20/publ2010/Bondarev1ed.pdf
20. David Blythe Scientific Visualization Techniques (in «Advanced Graphics
Programming Techniques Using OpenGL», SIGGRAPH`99 Course) — http://
www.cs.rit.edu/usr/local/pub/wrc/courses/graphics/opengl/contrib/blythe/
advanced99/notes/node283.htm
21. Martin Falk, Daniel Weiskopf. Оutput Sensitive 3D Line Integral Convolution
(in IEEE Transactions on Visualization and Computer Graphis, 2007) — http://
www.sigmod.org/publications/dblp/db/journals/tvcg/tvcg14.html
22. Л.А. Битюцкая и др. Особенности наносистем на основе природной изоферроплатины — http://journals.ioffe.ru/ftt/2007/07/p1317320.pdf
23. Галерея научных фотообразов компании Science Photo Library — http://
www.sciencephoto.com/media/386242/view
24. Philip A. Hughes. Pictorial Wavelet Demo — http://www.astro.lsa.umich.edu/
~phughes/icon_dir/waveproj.html