ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования «Уральский государственный университет им. А.М. Горького» ИОНЦ «Нанотехнологии и перспективные материалы» Химический факультет Кафедра физической химии А.Ю. ЗУЕВ МОДЕЛИРОВАНИЕ РЕАЛЬНОЙ СТРУКТУРЫ И СВОЙСТВ МАТЕРИАЛОВ В СРЕДЕ MAPLE Учебное пособие Екатеринбург 2007 Содержание Предисловие ........................................................................................................3 1. Введение в вычисления и построения в среде компьютерной математики Maple.....................................................................................................................5 1.1. Интерфейс рабочего пространства (Worksheet Interface)..........................................6 1.2. Дружественные пользователю инструменты (User -friendly Tools)..........................7 1.3. Maple как калькулятор..................................................................................................7 1.4. По другую сторону от калькулятора............................................................................8 1.5. Присваивание значений переменным (Assigning values to variables).......................9 1.6. Встроенные функции и символы (Built-in Functions and Symbols).........................10 1.7. Манипуляция Выражениями (Manipulating Expressions).........................................11 1.8. Решение Уравнений (Solving Equations)....................................................................12 1.9. 2-D и 3-D графики (2-D and 3-D Graphics)................................................................13 1.10. Исчисление (Calculus)...............................................................................................15 1.11. Встроенные пакеты (Built-in Pacages)......................................................................16 1.12. Линейная Алгебра (Linear Algebra)..........................................................................17 1.13. Программирование. Определение Функций и Процедур. (Programming: functions and procedures).....................................................................................................................18 1.14. Совместимость с другими программами (Connectivity)........................................19 1.15. Резюме.........................................................................................................................20 2. Введение в Maple – Курс Нового Пользователя........................................22 2.1. Общий Обзор для Нового Пользователя...................................................................23 2.2. Численные Вычисления в Maple (Numerical Calculations).......................................33 2.3. Алгебраические Вычисления (Algebraic Computations)...........................................38 2.4. 2-D Графики (Graphics)...............................................................................................46 2.5. 3-D Графики (Graphics)...............................................................................................52 2.6. Исчисление (Calculus).................................................................................................58 2.7. Линейная алгебра (Linear Algebra).............................................................................76 2.8. Программирование (Programming).............................................................................93 2.9. Заключение – Summary.............................................................................................115 3. Моделирование дефектной структуры перспективных оксидных материалов.......................................................................................................117 3.1. Сложные оксиды со структурой перовскита...........................................................122 3.1.1. Дефектная структура ABO в области избытка кислорода..........................123 3±δ 3.1.2. Дефектная структура ABO в области дефицита кислорода........................127 3-δ 3.1.3. Модельный анализ дефектной структуры ABO в области 3+δ сверхстехиометрического кислорода. Изотермическое приближение....................130 3.1.4. Модельный анализ дефектной структуры в области сверхстехиометрического кислорода. Трехмерный случай.....................................148 3.1.5. Модельный анализ дефектной структуры ABO в области дефицита по 3 − δ кислороду. Дефектная структура LaMnO .........................................................161 3 − δ 4. Литература...................................................................................................175 2 Предисловие Настоящее пособие в основном ориентировано на широкую аудиторию студентов, обучающихся по химическим специальностям, и предназначено для того, чтобы помочь ей в активном изучении методов расчета и моделирования свойств веществ в различных агрегатных состояниях посредством решения конкретных задач в среде компьютерной математики Maple на персональном компьютере под операционной системой Windows. Пособие написано в соответствии с программой курса "Моделирование реальной структуры и свойств материалов", разработанного в рамках ИОНЦ Уральского госуниверситета им. А.М. Горького "Нанотехнологии и перспективные материалы". Кроме того, оно может оказаться полезным для студентов химического факультета, изучающим курсы "Статистическая термодинамика" и "Численные методы и программирование". Так как настоящее пособие призвано помочь студентам не только в изучении теоретических основ моделирования реальной структуры и свойств материалов, но и в активном освоении компьютерной математики и программирования с целью повышения их потенциала как современных специалистов в прорывных областях химии, то в нем, прежде всего, излагаются: общая структура, возможности, графический интерфейс пользователя последней 11 версии пакета Maple компании MapleSoft, и порядок работы в нем. Кроме того, для повышения эффективности работы в среде Maple дается достаточно подробное изложение основ программирования в этой среде. Затем следует часть, связанная с примерами моделирования реальной дефектной структуры и сложных оксидов различных типов, составляющих основу широкого круга современных материалов с уникальными свойствами. Примеры по составу и структуре подобраны так, чтобы отобразить последние достижения 3 физической химии твердого тела в области исследования и моделирования реальной структуры перспективных оксидных материалов. 4 1. Введение в вычисления и построения в среде компьютерной математики Maple. Maple - идеальный выбор математического продукта для инженеров, исследователей, преподавателей, и, конечно, студентов. С более чем 3500 своих операций Maple покрывает широкий диапазон проблем от вводного исчисления до быстрых преобразований Фурье. В данном пособии дается ознакомительное описание одной из самых мощных и интеллектуальных систем компьютерной математики — Maple под Windows, ее последней реализации — Maple 11 (2007 год). Эта система - итог плодотворного развития компьютерных алгоритмов символьных вычислений, начало которому было положено группой ученых (The Symbolic Group), организованной Кейтом Геддом (Keith Geddes) и Гастоном Гонэ (Gaston Gonnet) в 1980 году в университете города Waterloo, провинция Quebec, Канада. Вначале она была реализована на больших компьютерах и прошла долгий путь апробации и оптимизации, вобрав в свое ядро и библиотеки большую часть математических функций и правил их преобразований, выработанных математикой за столетия развития. Знакомство с Maple начинается с ускоренного введения для новичков, которое спроектировано так, чтобы обеспечить общий обзор возможностей вычислений в Классическом интерфейсе (Classical Worksheet) системы компьютерной математики Maple. Этот обзор дает представление о некоторых общих операциях и легких в использовании инструментах для того, чтобы начать работать в Maple в самое короткое время. Очевидно, что ускоренный обзор должен быть дополнен расширенным ознакомительным руководством, включающим изложение основ программирования, построенным по принципу "шаг за шагом" для более детального знакомства со средой Maple. Его следует рассматривать только как расширенное введение, так как оно ни в коей мере не может заменить собой полное руководство. В качестве последнего можно 5 рассматривать только справочную систему Maple (?Help), официальные руководства компании MapleSoft "Maple User Manual" [1] и "Maple Introductory Programming Guide" [2] . Кроме того, полезным будет и знакомство с ресурсами Internet о которых Вы можете узнать в последнем разделе Заключение второй главы расширенного введения в Maple. 1.1. Интерфейс рабочего пространства (Worksheet Interface). Организация рабочего пространства в Maple. Приглашением к вводу информации в среде Maple является знак больше (>), который по умолчанию появляется в черном цвете, справа от которого находится строка ввода (Maple input prompt). Вывод (output) Maple показывается ниже строки ввода с использованием по умолчанию голубого шрифта. Рабочее пространство может содержать секции (section), текстовые области, гиперссылки, электронные таблицы, области схем, и даже больше. Контекстно-зависимые меню (действия которых определяются текущим контекстом (состоянием) программной среды) и палитры (pallets) обеспечивают альтернативные метода ввода. 6 1.2. Дружественные пользователю инструменты (User - friendly Tools). Maple имеет много дружественных пользователю инструментов для того, чтобы помочь не только новичку, но и опытному пользователю. Контекстно-зависимые меню позволяют манипулировать выражениями или менять графики без ввода требуемых команд. Меню, которое появляется, является контекстно-зависимым, т.е. зависит от области или выражения, от которых меню было активировано. Как принято в Windows, меню вызывается по умолчанию кликом на правую кнопку мыши (right-click). Попробуйте эту опцию на примере ввода ниже. > sin(x); Палитры Maple (Maple Palettes). Палитры Maple - пользовательские интерфейсы для ввода матриц, векторов, выражений, и символов. Чтобы вывести Maple палитры на экран монитора, выберите соответствующую палитру из панели меню View>Palettes. После чего просто кликните на нужной иконке. 1.3. Maple как калькулятор. Maple остается верным стандартному порядку операций, когда выполняет основные вычисления и делает их подобно привычному научному калькулятору, используя тот же самый синтаксис. > (2^3+4)*8; 96 > 2^3+4*8; 40 > 2^3/(4*8); 1 4 > 2^3/4*8; 16 Отметьте! Чтобы завершить вводимое предложение корректно, введите либо точку с запятой (semicolon;), чтобы увидеть результат выполнения, 7 либо двоеточием (colon:), если Вы этот результат по какой-то причине не хотите видеть. Иначе появится записка с предупреждением о преждевременном (premature) конце ввода! > sin(0); 0 > sin(0): > sin(0) > Warning, premature end of input 1.4. По другую сторону от калькулятора. Конечно, функциональность Maple значительно превышает функциональность простого калькулятора. Вы можете выполнять громоздкие численные вычисления и выводить на экран полный результат, или решать проблему в символьном виде, т.е. аналитически. Maple также имеет совершенный язык программирования и интерактивные инструменты по построению высококачественных графиков и их анимации. > 199^200; 5896784843701866315830202306247774762972638982405042480372238\ 1890123650447834482282808750288756842771270883789561527131\ 9732094568856567330472998401053772722663704094316559305236\ 7979000124463424161858464934947067680269075228341562695042\ 3124638158834415075120039428717819582051454619896658120453\ 2510614507484296048166129420920326257731406156904515269442\ 1556602495323466256365196176516277494056642637786305854049\ 111948156579863012416891273717889898672613595960001 > 199^200: Maple по умолчанию выводит символьное представление вычисления, вместо привычного представления с плавающей запятой. > sqrt(8); 2 2 8 Для представления результата с плавающей запятой, точнее точкой, так как в Maple целая часть отделяется от дробной с помощью именно точки, используйте команду evalf или используйте точку в представлении числа. Отметьте, что использование запятой немедленно приведет к ошибке. > evalf(sqrt(8)); 2.828427124 > sqrt(8.); 2.828427125 Вы можете определить и вычислить символьное выражение. > 5*x + 3*y - 2*x; 3 x + 3 y 1.5. Присваивание значений переменным (Assigning values to variables). Для большего контроля при решении проблемы используйте присваивание значений переменным. Для этого используйте оператор присваивания (assignment operator :=). Некоторые имена в Maple защищены, следовательно, Вы получите сообщение об ошибке (error message), если попытаетесь присвоить значение защищенному имени переменной. Присвоим некоторое значение переменной x . > x := 5; x:= 5 > x; 5 Присвоим некоторое выражение переменной expr. > expr := y^2 + 7*y + 12; expr := y2 + 7y + 12 > expr; y2 + 7y + 12 9 Оператор повторения выполненного действия (ditto operator %) отсылает к результату последней из выполненных команд. > factor(%); (y + 4)(y + 3) Вы можете вызвать результаты команд, выполненных предпоследней ( %% ) и пред предпоследней ( %%% ). > coeffs(%%, y); 12,1,7 1.6. Встроенные функции и символы (Built-in Functions and Symbols). Maple содержит сотни стандартных математических функций, включая логарифмы, экспоненту, тригонометрические функции, и специальные функции. Для быстрого создания выражения в Maple используйте Maple палитры или введите имя команды в строке ввода. Используйте I для представления мнимой единицы −1 , напечатайте infinity для представления бесконечности ∞ , Pi для представления числа π , и pi для представления буквы π . Используйте log для представления общего логарифма. > log[2](exp(1)); 1 ln(2) Но заметьте, что следующий синтаксис некорректен! > log2(exp(1)); log2(e) Вы видите, что Maple не понимает предложенный ввод! Удивительно, но тот же синтаксис работает для логарифма по основанию 10! > log10(exp(1)); 10