Загрузил zachemka

Введение в конечно-элементный анализ

реклама
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГБОУ ВО «Воронежский государственный
технический университет»
Г.Е. Шунин С.А. Кострюков
В.В. Пешков А.А. Кудряш
ВВЕДЕНИЕ В КОНЕЧНО-ЭЛЕМЕНТНЫЙ АНАЛИЗ
Утверждено учебно-методическим советом
университета в качестве учебного пособия
Воронеж 2017
УДК 519.63: 004.94 (075.8)
ББК 22.193 (я7)
В24
Шунин Г.Е. Введение в конечно-элементный анализ:
учеб. пособие / Г.Е. Шунин, С.А. Кострюков, В.В. Пешков,
А.А. Кудряш. – Воронеж: ФГБОУ ВО «Воронежский государственный технический университет», 2017. – 204 с.
В учебном пособии рассматриваются основные положения метода конечных элементов. Описываются возможности
конечно-элементных комплексов программ и их применение к
численному решению краевых задач математической физики.
Издание соответствует требованиям Федерального государственного образовательного стандарта высшего образования по направлению 16.03.01 «Техническая физика», направленность «Физическая электроника», по дисциплине «Численные методы технической физики» и по направлению 14.03.01
«Ядерная энергетика и теплофизика», направленность «Техника и физика низких температур» по дисциплине «Математические методы моделирования физических процессов».
Табл. 2. Ил. 34. Библиогр.: 49 назв.
Рецензенты кафедра цифровых технологий
Воронежского государственного университета
(зав. кафедрой д-р физ.-мат. наук,
проф. С.Д. Кургалин)
д-р физ.-мат. наук, проф. В.Н. Нечаев
Шунин Г.Е., Кострюков С.А., Пешков В.В.,
Кудряш А.А., 2017
ФГБОУ ВО «Воронежский государственный технический университет», 2017
ВВЕДЕНИЕ
Общую разработку и компьютерное моделирование физико-технических объектов целесообразно проводить с помощью полномасштабных PAL-систем машиностроительного
профиля таких, как Pro/Engineer (Creo) [12], CATIA [9] и NXUnigraphics [24], осуществляющих компьютерную поддержку
полного цикла разработки и производства изделия. Это интегрированные системы с интуитивно понятным пользовательским интерфейсом, встроенным макроязыком и библиотеками
функций, с возможностью подключения внешних модулей,
расширяющих их функциональные возможности. Трѐхмерное
моделирование происходит на уровне твѐрдотельных моделей
с использованием конструкторско-технологических библиотек, средств визуализации и анимации результатов инженерного анализа. Этот анализ осуществляется собственными конечно-элементными модулями или через прямой интерфейс с
универсальными
конечно-элементными
CAE-системами
ANSYS [8], NISA [23], Cosmos/M [11], Elcut [14] и др. (см. обзор [29]). Следует отметить, что эти системы основываются на
стандартных физико-математических моделях электромагнетизма, теплогазогидродинамики и механики сплошной среды.
Для более углублѐнного моделирования физических процессов
перспективно использовать наиболее мощную систему конечно-элементного мультифизического анализа COMSOL Multiphysics [10], конечно-элементный комплекс программ FlexPDE
[17] и конечно-элементную библиотеку программ Diffpack
[13]. Разработку узкоспециализированных дополнительных
модулей инженерного анализа к PAL системам можно осуществлять также на основе свободно распространяемых открытых конечно-элементных пакетов программ FreeFEM++ [18],
Elmer [15], FEMPDESolver [4, 26, 27] и др. (см. обзор [29]) с
использованием возможностей универсальных систем компьютерной математики Maple [19], Mathematica [20], Matlab [21],
Maxima [22] и Scilab [25].
3
Целью данного учебного пособия является рассмотрение
теоретических основ и функциональных возможностей систем
конечно-элементного анализа физических процессов, а также
их применения к численному решению краевых задач математической физики.
В первой части пособия рассмотрены основные положения метода конечных элементов (МКЭ), проведена конечноэлементная дискретизация уравнения Пуассона на основе вариационного и проекционного методов с учетом граничных
условий 1–3 рода. Затронуты вопросы программной реализации метода и общие подходы к решению широкого класса
дифференциальных уравнений.
Во второй части рассмотрена специфика решения краевых задач с дополнительными ограничениями, такими как скачок/постоянство функции и интегральные условия на границах.
Третья часть пособия содержит краткий обзор компьютерных систем конечно-элементного анализа физических процессов. Даны их возможности и ограничения.
В четвертой части приведено большое число задач математической физики, предназначенных для решения с помощью
конечно-элементных пакетов программ, которые могут быть
использованы студентами в качестве заданий контрольных работ и типовых расчетов.
В приложениях рассмотрены основные физико-математические модели модуля AC/DC и базового модуля Comsol
Multiphysics, описана процедуры конечно-элементного решения краевой задачи для скалярного и векторного уравнений
Лапласа и анализа динамики проникновения магнитного потока в мезоскопические сверхпроводники с помощью Comsol
Multiphysics.
Учебное пособие может быть использовано научными
работниками, преподавателями, аспирантами и студентами
старших курсов физико-технических специальностей вузов.
4
1. ОСНОВНЫЕ ПОЛОЖЕНИЯ МЕТОДА
КОНЕЧНЫХ ЭЛЕМЕНТОВ
1.1. Сущность метода конечных элементов
При поиске количественного описания физических процессов обычно вводят в рассмотрение некоторую систему
обыкновенных дифференциальных уравнений или уравнений в
частных производных, реже интегральных, справедливую в
определенной области, и налагают на эту систему подходящие
краевые и начальные условия. Здесь, однако, возникают определенные трудности, так как точному решению существующими аналитическими методами поддаются лишь уравнения
самого простого вида внутри геометрически тривиальных границ. Для решения конкретных проблем, возникающих в науке
и технике, невозможно обойтись без использования численных
методов.
Специфика работы компьютера требует замены операций
дифференцирования и интегрирования операциями над числами и перехода от бесконечной совокупности чисел к конечной.
Поэтому необходим переход от исходных непрерывных дифференциальных уравнений к системе алгебраических, которая
уже может быть решена на ЭВМ. Способ такого перехода определяется методом дискретизации, т. е. получения дискретного аналога соответствующего дифференциального (интегрального) уравнения, при этом бесконечное множество чисел,
представляющих неизвестную функцию, заменяется конечным
числом неизвестных параметров.
Существует довольно много методов дискретизации. Вариационные методы, такие, как метод множителей Лагранжа,
метод Ритца, метод наименьших квадратов, основаны на существовании для большинства задач некоего функционала, экстремальное значение которого при некоторых ограничениях
совпадает с решением дифференциального уравнения. При
этом дискретизация проводится на основе поиска минимума
(максимума) этого функционала, представленного в дискрет5
ной форме. Другой класс методов (методы проекций) используют понятие функциональных пространств со скалярным
произведением и ограниченной нормой, в которых функция
равна нулю только тогда, когда она ортогональна всем базисным функциям данного пространства. К проекционным методам относятся методы Бубнова-Галеркина, взвешенных невязок, коллокаций, и др.
Метод численного решения краевых задач включает в
себя как метод дискретизации уравнений, так и способ построения сетки, т. е. конфигурации дискретных областей и определяемой ими системы узлов и ячеек. Кроме того, он должен
определять способ учета граничных условий. Из таких методов наибольшее распространение получили методы конечных
разностей и конечных элементов. Первый основан на непосредственной замене дифференциального оператора разностным и замене непрерывной функции ее значениями в точках
(узлах) регулярной (чаще прямоугольной) сетки. Решая линейную систему уравнений, находят приближенные значения в
узлах сетки. Основные трудности в этом методе связаны с учетом граничных условий, если граница области имеет сложную
геометрическую форму.
Метод конечных элементов (МКЭ) предполагает разбиение области задачи на непересекающиеся подобласти и, аппроксимацию решения базисными функциями, причем в качестве последних используются функции с малым носителем, т.е.
функции, отличные от нуля только в небольшой окрестности
некоторого узла. Одна из особенностей МКЭ состоит в том, что
он базируется скорее на интегральной формулировке анализируемого явления, нежели на дифференциальной форме, которую представляют дифференциальные уравнения и граничные
условия. Эта интегральная формулировка может быть вариационного или проекционного типа. Основной общий принцип
двух интегральных представлений заключается в определении
коэффициентов 1, 2, ... , M, обеспечивающих наилучшее
приближение функции  на базе функций N1, N2, ... , NM.
6
Идея МКЭ состоит в разбиении области задачи  на ряд
неперекрывающихся подобластей, или элементов e и построении затем аппроксимации неизвестной функции кусочным
образом, т.е. отдельно на каждой подобласти. Если подобласти
имеют сравнительно простую форму и базисные функции на
этих подобластях определяются однотипно, то весьма просто
построить аппроксимацию на всей области суммированием
вклада по каждому элементу. На основе некоторого условия,
определяемого используемой формулировкой (например, в вариационном представлении требуется обеспечить стационарное
значение функционала), требования непрерывности функции и,
возможно, других условий, получают систему алгебраических
уравнений относительно параметров дискретизации.
Таким образом, типичная реализация МКЭ включает в
себя следующие этапы:
1) дискретизацию (разбиение) области на конечные элементы e с границами Гe , такие, что  e   ,   e    e   .
e
e
e
В качестве конечных элементов наиболее часто используются
треугольники, четырехугольники в двумерном случае, тетраэдры, гексаэдры – в трехмерном;
2) определение атрибутов задачи – задание граничных условий, характеристик среды, типа уравнений и других условий;
3) формирование и решение системы алгебраических
уравнений;
4) восстановление решения во всех точках области на основе полученных дискретных значений.
Метод конечных элементов впервые был применен в 50-х
гг. для решения задач сопротивления материалов. С тех пор
этот метод стал эффективным средством решения краевых задач математической физики. Большим достоинством МКЭ является универсальность форм описания различных задач, нечувствительность к наличию подобластей с сильно различающимися свойствами и размерами и сложных граничных поверхностей. МКЭ часто сходится быстрее, чем метод конечных
7
разностей, а иногда вообще обладает оптимальной скоростью
сходимости. Сравнительно прост при программировании, допускает модульный принцип создания и расширения программного обеспечения. Основной недостаток МКЭ сводится к
необходимости иметь быстродействующий компьютер с
большим объемом оперативной памяти. Основные положения
МКЭ и его приложения к решению основных задач математической физики, а также вопросы программирования изложены
в работах [1, 3, 6, 7, 28, 30, 31, 34, 38, 40, 36, 39-48].
1.2. Вариационные методы дискретизации
Вариационное исчисление изучает методы, позволяющие
находить максимальные и минимальные значения величин особого рода, называемых функционалами [33]. Функционалы
представляют собой переменные величины, значения которых
определяются выбором одной или нескольких функций.
Для того чтобы функционал F[] достигал экстремума,
необходимо чтобы его первая вариация F, определяемая как
главная линейная часть приращения F по всем вариациям 
функции , равнялась нулю. Однако из того, что для какой-то
функции  вариация F = 0, вообще говоря, не следует существования экстремума; в этом случае говорят только о стационарном
значении функционала. Условие F = 0 приводит к т. н. уравнению Эйлера: только на решении этого дифференциального
уравнения функционал F[] может достигать максимального
или минимального значения.
При исследовании многих физических систем требуется
найти функцию, являющуюся решением дифференциального
уравнения, которое описывает поведение рассматриваемой системы. В ряде случаев для исследуемой задачи можно установить естественную вариационную формулировку. Тогда для получения решения может быть принят альтернативный подход,
состоящий в отыскании функции, доставляющей стационарное
значение соответствующему данной задаче функционалу.
8
Пусть функционал задан в виде интеграла
  
  
F     L ,
,... d   G  ,
,... d ,

x

x






(1.1)
где L и G – функции от (x, ...) и ее производных;  – поверхность, ограничивающая замкнутую область ; d – элемент
объема области; d – элемент площади поверхности. Тогда вариационная задача состоит в том, чтобы придать F() стационарное значение относительно вариаций по  на множестве
допустимых функций, удовлетворяющих общим краевым условиям:
B1(, x, ...) = 0 на 1,
(1.2a)
B2(, x, ...) = 0 на 2,
(1.2b)
где 1 +2 =. Для малых допустимых вариаций по , выражающихся в переходе от  к +, определим соответствующую первую вариацию F():
 L

L
  
F     
 

     d 

  x   x 


 G

G
  
(1.3)

 

     d .

  x   x 

 
Тогда условие стационарности F по  требует, чтобы
F= 0. Если после соответствующих преобразований равенство (1.3) можно переписать в виде
F   A( ,  x, )d,
(1.4)

где A – некоторое дифференциальное выражение, то в силу
произвольности  из условия стационарности следует, что
A(, x,...) = 0 на .
(1.5)
Таким образом, имеется естественный вариационный
принцип для нахождения решения  дифференциального уравнения (1.5), подчиненного краевым условиям (1.2). Искомая
9
функция доставляет функционалу F() стационарное значение
относительно вариаций по  на множестве функций, удовлетворяющих краевым условиям. Дифференциальное уравнение
(1.5) есть уравнение Эйлера.
В некоторых случаях возможны такие преобразования
правой части равенства (1.3), что первая вариация функционала будет определяться соотношением вида
F   A( ,  x , ) d   B ( ,  x , ) d ,

(1.6)
2
и тогда согласно условию стационарности F на  будем иметь
A(, x, ...) = 0 на ,
(1.7a)
B2(, x, ...) = 0 на 2 .
(1.7b)
Краевое условие (1.7b) на Г2 теперь является естественным краевым условием, так как оно автоматически выполняется
для функции , доставляющей функционалу F стационарное
значение. Множество допустимых функций теперь расширилось, так как требуется только, чтобы любая функция из этого
множества удовлетворяла главному краевому условию на Г1.
В качестве примера рассмотрим краевую задачу
     
в области ,
(1.8а )


на границе Г1 ,
(1.8b)
  
 
 q
на границе Г 2 .
(1.8c )

 n
где , , 
 , q – заданные функции координат, (x, y, z) – неизвестная функция, (1.8a) – уравнение Пуассона. Условие типа
(1.8b) называется краевым условием Дирихле, а (1.8c) – краевым условием Неймана.
Покажем, что функционал
1
2
F ( )      2 d   qd ,
(1.9)
2
2


10
где интегрирование производится по области определения задачи  и части ее границы Г2, принимает стационарное значение для функции (x, y, z), являющейся решением краевой задачи (1.8) при условии, что допустимые функции удовлетворяют краевому условию (1.8b) на Г1 (главное краевое условие).
Условие на Г2 является естественным.
Для первой вариации имеем
F      d   q d .

(1.10)
2
Применив формулу Грина для первого интеграла, получим

 

F           d    
 q   d     d  . (1.11)


2  n
1 n
Последний интеграл равен нулю, так как  и + удовлетворяют главному краевому условию на 1. Поскольку вариация  произвольна, для F = 0 необходимо, чтобы
      в области ,

 q
на границе Г 2 .
n
Для получения приближенного решения вариационной
задачи обычно используется метод Релея-Ритца, согласно которому неизвестная функция заменяется суммой

M
ˆ  m Nm ,

(1.12)
m1
где {Nm}  система независимых базисных (пробных) функций; {m }  параметры, как правило, значения функции ̂
 и ее
производных в определенных точках  узлах.
Подставляя (1.12) в (1.9), заметим, что функционал F теперь является функцией только величин 1, 2, ... , M.
11
1
 i j  NiN j d 
2 i j

F (1 ,...,  M ) 
–  i  N i d  i  qNi d .
i
i

(1.13)
2
Необходимое условие стационарности F
F
 0, j  1, ... , M ,
(1.14)
 j
приводит к системе линейных алгебраических уравнений относительно {j}
M
S   F ,
ij
i
j
j  1, ... , M ,
(1.15)
i 1
где
S ij   N i N j d ,
(1.16)

F j   N i d   qN i d ,

(1.17)
2
Решив систему, искомую функцию ̂ найдем с помощью
(1.12). Матрица (1.16) – симметричная и положительно определенная.
Формально совершая предельный переход при M  ,

получим функцию     m N m , являющуюся точным решеm1
нием рассматриваемой вариационной задачи. Если ограничиться лишь M первыми членами, то получим приближенное
решение вариационной задачи.
Если таким методом определяется абсолютный минимум
функционала, то приближенное значение минимума функционала находится с избытком. При нахождении тем же методом
максимального значения функционала получим приближенное
значение максимума функционала с недостатком.
12
Выбор последовательности функций N1, N2..., Nm сильно
влияет на степень сложности дальнейших вычислений, и поэтому от удачного выбора базисной системы функций в значительной мере зависит успех применения этого метода.

Для того, чтобы функции ˆ    m N m были допустиm 1
мыми, прежде всего, необходимо удовлетворить граничным
условиям (конечно, не следует забывать и о других ограничениях, которые могут быть наложены на допустимые функции,
например, требованиях, касающихся их непрерывности или
гладкости, а также полноты).
Упражнения
1. Длина кривой, соединяющей две точки (x0 , y0) и (x1 , y1)
есть
12
x1
  dy  2 
L( y )   1     dx .
  dx  
x0 

Используя соответствующее уравнение Эйлера, найти
путь наименьшей длины между этими точками.
2. Найти кривую y(x), проходящую через две точки (x0, y0)
и (x1, y1) и дающую минимальную площадь поверхности вращения при вращении кривой вокруг оси x. Рассмотреть функционал
12
x1
  dy  2 
S ( y )  2   y 1     dx .
  dx  
x0 

3. Найти уравнение Эйлера, соответствующее функцио-
налу
2
2

1       
а) F ()   
  2e d ;
  

2   x   y 


13
2
2
1        2 3 
б) F ( )   
   d ;
  

2

x

y



 3 


2 1 s
2
 




1


1





в) F ()  

 cd ,   S  0, c = const);

  
 2   x   y  

2


 

12
2
2
1        
г) F ( )   1  

d ;
 
2   x   y  

2
2
2

1    2    2     2 
  2  2q( x, y ) d .
д) F ( )  2  2
2  x   xy   y 



4. Рассмотреть функционал
 T    2 k 2

F ( )    
    ( x ) dx ,

0 
 2  x  2
где k и T – постоянные. Найти уравнение Эйлера и выяснить вид
главных и естественных краевых условий при x = 0 и x = L. Уравнение Эйлера описывает малые отклонения нагруженного троса,
покоящегося на упругом основании жесткостью k.
5. Рассмотреть функционал
L
 k    2 k    2



F ( )    
  Q d     2  q  d ,
  
2



2 
 2  x  2  y 

где k, Q,  и q зависят только от x, y. Найти уравнение Эйлера
и выяснить вид естественного краевого условия, если допус
тимые функции удовлетворяют условию  =  на Г1 = Г – Г2 .
6. Показать, что стационарное значение функционала
1
F ()    2  ( x, y , z ) d   q  d
2
2


14
– это минимальное значение для всех допустимых функций ,

удовлетворяющих главному краевому условию = на Г1 =Г–Г2 .
Указание. Рассмотреть функционал для функции Т+h,
где Т – точное решение уравнения Эйлера, удовлетворяющее
краевым условиям, h – достаточное число раз дифференцируемая функция, обращающаяся в 0 на границе,  – малый параметр (действительное число).
7. Методом Релея-Ритца провести дискретизацию краевой
2
2
задачи d /dx +  + 1 = 0, 0  x  1; =0 при x=0; d/dx=1
при x=1. Показать, что матрица полученной системы является
положительно определенной.
1.3. Проекционные методы дискретизации
Основной принцип методов проекций базируется на теореме, присущей гильбертовым пространствам и определяющей
пространство, в котором только нулевой вектор ортогонален
всем векторам пространства. В пространстве L2, в котором
можно расположить большинство физических задач, ортогональность двух функций f и g определяется в виде скалярного
произведения:
( f , g )   f  gd   0 .

Рассмотрим для определенности краевую задачу (1.8).
Метод взвешенных невязок состоит в проекции функций, называемых невязками в области  и на границе Г2 соответственно –
R = () + ,
(1.18)
RГ =   /n + q
(1.19)
2

 на семейства независимых функций {Wm} и {Wm} с помощью
скалярных произведений
 R W d ,
 R W d .

2

m
2
15
m
Можно также потребовать равенство нулю невязки на 1,
однако это выгоды не дает, поскольку условие Дирихле (1.8b)
точно учитывается путем соответствующей модификации системы уравнений (см. разд. 1.4).
Множество функций {Wm} образует пространство, в котором, для того чтобы R = 0, невязка в  должна быть ортогональна всем базисным векторам. Аналогичное утверждение

справедливо в отношении функций Wm. Тем самым необходимо
потребовать
 R W d  0,

 R W d  0 ;
m
2

m
m  1,...,M .
2
Полученная система имеет большой недостаток, что имеет 2m уравнений, и для ее разрешимости необходимо иметь
столько же неизвестных – параметров аппроксимации. Однако,
если сложить почленно уравнения, придем к системе с вдвое
меньшим числом уравнений и неизвестных:
 R W d   R W d  0 ; m  1, ... , M .

m
2

m
2
Показано, что такой переход не нарушает основного требования ортогональности невязок соответствующим системам
функций {Wm} и { Wm }. Итак, имеем
 

   W d     n q W d0, m  1,...,M . (1.20)
m

m
2
Если {Wm} образует пространство бесконечных размеров,
т.е. M = , то можно достичь эквивалентности между задачей в
частных производных и ее интегральным представлением при
условии, что  удовлетворяет главному краевому условию
(1.8с). Однако при практическом применении функции Wm образуют конечномерное пространство, так как при использовании аппроксимации (1.12) имеем конечное число параметров
1, ... , M (степеней свободы), которые определяют число
функций Wm в соответствии с числом уравнений.
16
Подставив выражение для  (1.12) в (1.20), получим систему уравнений для определения параметров {i}. Однако в
этом случае потребуется вычисление интегралов вида
   N i 
  N i 
  N i  
  x   x   y   y   z   z W dxdydz ,
j

для исключения особенностей в которых необходимо, чтобы
1
базисные функции {Ni} принадлежали классу гладкости С ,
т.е. были непрерывны вместе со своими первыми производными. Такое ограничение наряду с несимметричностью матрицы системы уравнений крайне нежелательно при использовании вычислительных процедур, в частности МКЭ. Поэтому
преобразуем первый интеграл в (1.20) по формуле Грина:

  
Wm d     q Wm d 0 . (1.21)
n
n 
1  2
2 
   Wm d  

Теперь базисные функции {Nm} и {Wm} должны принад0
лежать классу гладкости С (быть только непрерывными). Подобное преобразование, обеспечивающее понижение степени
гладкости допустимых функций, является ключевым для конечно-элементной формулировки задачи. Ограничив выбор
базисных функций требованием
Wm = 0
на Г1.

Wm = –Wm
на Г2 .
и применяя аппроксимацию для  (1.12), получаем
S   F ,
ij
i
j = 1, …, M,
j
(1.22)
i
где
S ij   N i W j d ,
(1.23)

F j    W j d   qW j d .

2
17
(1.24)
Если положить Wj = Nj, что соответствует методу Галеркина, получим те же итоговые выражения (1.15)-(1.17), что и
при использовании вариационного метода Релея-Ритца. Преимущество проекционных методов заключается в том, что не
требуется знания естественного вариационного принципа, соответствующего рассматриваемой краевой задаче. Однако, если известно вариационное представление задачи, то его использовать предпочтительнее, так как, во-первых, это гарантирует симметричную форму уравнений, обеспечивает нужный
класс гладкости базисных функций, во-вторых, функционал
часто представляет конкретную физическую величину, например, энергию поля. Если минимизация такого функционала
ведет к точному решению, то приближенное значение функционала дает оценку сверху для минимального его значения.
Среди других формулировок для МКЭ можно использовать смешанные вариационные формулировки с множителями
Лагранжа, сопряженные вариационные принципы, метод
штрафных функций и метод наименьших квадратов [3].
Упражнения
1. Составить систему линейных алгебраических уравнений,
получающуюся при аппроксимации по Галеркину решения задачи
 2/x2 +  2/y2 = 0; x, y [–1, 1],  = 100 при y = 1; /n =
= –1 –  при x = 1. Ввести три невязки: в области и на двух
границах, соответствующих различным краевым условиям.
2. Рассмотреть дискретизацию уравнения 2/x2 = – (x)
методом взвешенных невязок, если в качестве весовых функций использовать -функции Дирака: Wj = (x – xj). Каким образом можно обеспечить выполнение краевых условий Дирихле
и Неймана?
3. Провести дискретизацию уравнения
2
2
2
2
 /x +  /y + 2 /y = 0
проекционным методом. Функцию  на Г считать заданной.
18
4. Показать, что если исключить из рассмотрения невязку
на Г2, то решение, полученное с помощью метода взвешенных
невязок, будет удовлетворять условию /n = 0 .
5. Получить систему алгебраических уравнений для
краевой задачи (1.8), при условии, что  = ().
1.4. Конечные элементы и аппроксимация
Конечным элементом внутри рассматриваемой области
 называют некоторую подобласть  e, геометрические размеры которой очень малы по сравнению с размерами области ,
но при этом остаются конечными. Элемент характеризуется
числом геометрических узлов, типом аппроксимирующих
функций и степенью аппроксимации неизвестной функции.
Границы элементов могут быть как прямолинейными, так и
криволинейными.
Решение трехмерной краевой задачи внутри элемента  e
можно представить в виде суммы
M
ˆ (e )    m N m( e ) ( x, y, z ) .
 (e )  
(1.25)
m1
(e )
Базисные функции Nm , относящиеся к элементу e, называются функциями формы этого элемента. Вне пределов e
(e )
они тождественно равны нулю. Семейство {Nm } должно облаˆ ( e )  0 . Кадать свойством полноты, т.е. при M    ( e )  
ждая функция формы обычно связывается с узлом m, причем
(e )
Nm (xn, yn, zn) = mn , т.е. она равна нулю во всех узлах, за исключением m-го, в котором равна единице.
На всей области определения  решение можно представить в виде
ˆ  
ˆ ( e )    m N m(e ) .

(e )
(e)
19
m
(1.26)
Последняя запись символическая; значение функции  в
точке (x, y, z) всецело определяется параметрами m, связанными с элементом e, которому принадлежит эта точка. Если
обратиться к вариационной формулировке задачи, легко показать, что полный функционал задачи, относящийся ко всей области определения, равен сумме функционалов, вычисленных
на каждом элементе:
ˆ )   F (e)
F (
(e )
(свойство аддитивности функционала). В силу этого можно
получить необходимое условие экстремума { F  m  0 } не
находя полный функционал F, а формально применяя его для
каждого элементного функционала Fe и получая систему типа
(1.15); причем интегрирование в (1.16)-(1.17) производится
только по области конечного элемента e и его границе e , если последняя является частью . Сформированные таким образом локальные системы уравнений добавляются в одну общую (глобальную) систему по определенным правилам, рассмотренным ниже. Именно такой обычно подход используется
в практических реализациях МКЭ, поскольку элементы обрабатываются в цикле и для каждого из них естественным образом определяется вклад в итоговую систему.
Поскольку при реализации МКЭ требуется вычислять
интегралы от функций формы и их производных по области
конечного элемента  e, целесообразно ограничиться рассмотрением стандартного элемента e*, имеющего правильную
форму. Поэтому, чтобы сделать процесс вычислений единообразным для всех элементов, делается замена
 f ( x, y, z)dxdydz   f x(u, v, w),  det J dudvdw .
e
 e
Здесь det J – якобиан преобразования. Теперь функции формы
(e )
{Nm (u, v, w)} определяются раз и навсегда для стандартного
элемента *e .
20
Рассмотрим МКЭ-процедуру формирования матрицы
системы уравнений и вектора правых частей для задачи (1.8)
на примере треугольника Лагранжа (двумерный случай). Такой конечный элемент обеспечивает на границах элементов
непрерывность только функции, но не ее производных.
Пусть имеется треугольный элемент с вершинами (xi, yi),
i =1, 2, 3. Введем произвольную точку Р с координатами (x, y).
Определим ее положение с помощью симплексных координат
по правилу
i = Ai /A, i = 1, 2, 3,
(1.27)
где А – площадь треугольника, Аi – площадь треугольника, образованного точкой Р и двумя вершинами исходного треугольника. Очевидно, что
1 + 2 + 3 = 1 и
0  i  1 внутри треугольника
Поскольку
1 x1
1
A  1 x2
2
1 x3
y1
1 x
1
y 2 , A1  1 x 2
2
y3
1 x3
y
1 x1
1
y 2 , A2  1 x
2
y3
1 x3
y1
y , ...
y3
то
i 
1
( ai  bi x  ci y ), i  1, 2, 3 .
2A
(1.28)
Формулы (1.28) преобразуют треугольный элемент произвольной формы, размера и ориентации в стандартный элемент (0, 1), (1, 0), (0, 0) (рис. 1.1). Положим 
2
для простоты в (8)  = const = 1, q = 0, а для
1 2
 возьмем аппроксимацию:
  m N m
(2.29)
m
В случае линейной аппроксимации
(e)
Ni = i, i = 1, 2, 3,
21
(1.30)

0
3
1

1
Рис. 1.1
1
m
(a m  bm x  cm y ) .
(1.31)
m
m 2A
В результате локальная система уравнений запишется в
 ( e )    m m  
виде:
S111 + S122 + S133 = T111 + T122 + T133,
S211 + S222 + S233 = T211 + T222 + T233,
S311 + S322 + S233 = T311 + T322 + T333,
(1.32)
где
S ij 
bi b j  ci c j
4 A
, Tij 
1  A, i  j,

12 2 A, i  j.
Подобным образом формируется система для каждого
конечного элемента. Рассмотрим процесс объединения таких
локальных систем в одну глобальную.
Пусть имеется два элемента с общей стороной 2 – 3
(рис. 1.2). Проводя дискретизацию на каждом конечном элементе, получим две системы вида (1.32). Переходя к глобальной нумерации узлов сетки и учитывая, что для обеспечения
непрерывности функции ее значения i в совпадающих узлах
должны быть равны, т.е.
(1)
(2)
2 = 2  2
(1)
(2)
и 3 = 3  3,
левые части уравнений для первого элемента примут вид:
1
1
3
2
2
4
S11(1) 1  S12(1)  2  S13(1) 3 ,
(1.33а)
(1)
(1)
S21(1) 1  S22
 2  S23
3 ,
(1.33b)
(1)
S31(1) 1  S32
 2  S33(1) 3 ,
1.33с)
Для второго элемента
(2)
(2)
(2)
S22
 2  S23
 3  S24
4 ,
(1.34а)
(2)
S32(2)  2  S33(2)  3  S34
4 ,
(1.34b)
(2)
42
(2)
43
(2)
44
S 2  S 3  S 4 .
Рис. 1.2
22
(1.34c)
Правые части уравнений получаются из левых заменой
Sij  Tij, i  i. Складывая попарно уравнения для общих узлов
((1.33b) и (1.34a), (1.33c) и (1.34b)), получаем систему уравнений МКЭ для ансамбля из двух элементов:
S11(1) 1  S12(1) 2  S13(1)  3  T11(1)1  T12(1)2  T13(1)3 ,
(1)
(1)
(2)
(2)
S21
1  ( S22(1)  S22(2) ) 2  ( S23
 S23
)3  S24
4 
 T21(1)1  (T22(1)  T22(2) )2  (T23(1)  T23(2) )3  T24(2)4 ,
(1.35)
(1)
(2)
S31(1) 1  ( S32(1)  S32(2) ) 2  ( S33
 S33
)3  S34(2) 4 
 T31(1)1  (T32(1)  T32(2) )2  (T33(1)  T33(2) )3  T34(2)4 ,
(2)
S42
 2  S43(2)  3  S44(2)  4  T42(2) 2  T43(2)3  T44(2) 4 .
Приведенный способ объединения элементов обобщается
на случай любого числа элементов. Нетрудно заметить, что
полученная матрица будет симметричной, положительно определенной и сильно разреженной (т.е. содержащей много нулей вне главной диагонали). При определенной нумерации
можно добиться ленточного вида матрицы, при котором все
ненулевые элементы группируются возле главной диагонали.
Такой способ нумерации может иметь важное значение для
компактного хранения матрицы. Симметричность и положительная определенность выгодны в вычислительном плане.
Можно показать, что сформированная в виде (1.32) и
(1.35) система уравнений не будет иметь решения, поскольку ее
определитель равен нулю. Необходимо модифицировать систему, чтобы учесть главное краевое условие (условие Дирихле) на
Г1. Пусть в узлах 1 и 2 функция  принимает фиксированные


значения  1 и  2 соответственно. Тогда первое и второе уравнения в (1.35), соответствующие этим узлам, заменяются уравнениями

1  1 =  1 ,

1  2 =  2 ,
23
а в других уравнениях члены, содержащие 1 и 2, переносятся в правую часть с обратным знаком. Например, для 4-го
уравнения в (1.35) имеем
(2)
(2)
(2)
S43
 3  S44
 4  T42(2) 2  T43(2) 3  T44(2) 4  S42
2 .
Упражнения
1. Найти функции формы Ni = i (i=1, 2, 3, 4) для тетраэдрального элемента Лагранжа 1-го порядка, используя преобразование




x = Xi i , y = Yi i , z = Zi i , 1 = i .
Показать, что внутри тетраэдра 0    1.
2. Найти квадратичные функции формы для одномерного
элемента Лагранжа [x1, x2].
Указание. Использовать аппроксимацию неизвестной
функции  = C12 + C2 + C3, где  = (x – x1)/(x2 – x1) – симплексная координата, {Сi} – коэффициенты, подлежащие определению. Записав это выражение для каждого из трех узлов (=0;
0.5; 1), получим систему уравнений относительно {Сi}. Решив
ее, найдем разложение  =
  N ().
i
i
3. Определить квадратичные функции формы для стандартного треугольного элемента Лагранжа (см. рис. 1.1). См.
указание к упр. 2; рассмотреть аппроксимацию =C112+
+ C222 + C3 1  2 + C4 1 + C5 2 + С 6 для точек (0,1), (0,0), (1,0),
(0,0.5), (0.5,0), (0.5,0.5).
4. Определить функции формы для билинейного прямоугольного элемента – 1    1, –1    1. См. указание к упр. 2;
рассмотреть аппроксимацию =C1 + C2 + C3 + C4 для точек (–1, –1), (–1, 1), (1, –1), (1, 1).
5. Показать, что функции формы должны удовлетворять условию  Ni = 1.
24
6. Записать выражение для grad для линейного и квадратичного треугольника Лагранжа. Найти скачок градиента на
границах элементов.
7. Показать, что полный функционал для ансамбля конечных элементов не равен сумме элементных функционалов,
если для аппроксимации неизвестной функции используются
базисные функции класса С0. Какую ошибку при этом имеет
конечно-элементное решение?
8. Для уравнения Лапласа  = 0 получить матрицу и
вектор правых частей локальной системы линейных алгебраических уравнений, соответствующей квадратичному одномерному элементу, билинейному четырехугольнику и тетраэдральному элементу Лагранжа.
1.5. Решение обыкновенных дифференциальных уравнений
Как известно [33], общее решение обыкновенного дифференциального уравнения n-го порядка

d d n  

F  x,, ,..., n   0
dx
dx 

содержит n произвольных постоянных C1, C2, ... , Cn , т. е. имеет вид
 = (x, C1, C2, ... , Cn ).
Частное решение обыкновенного дифференциального
уравнения получается из общего, если произвольным постоянным придать определенные значения (за исключением случая
особых решений). В зависимости от способа задания дополнительных условий для получения частного решения дифференциального уравнения существуют два различных типа задач:
задача Коши и краевая задача. Если эти условия задаются в одной точке, то такая задача называется задачей Коши. Дополнительные условия в задаче Коши называются начальными условиями, а точка x = x0 , в которой они задаются, – начальной
точкой. Если же дополнительные условия задаются в более чем
25
одной точке, т.е. при разных значениях независимой переменной, то такая задача называется краевой. На практике обычно
граничные условия задаются в двух точках x = a и x = b, являющихся границами области решения дифференциального
уравнения.
МКЭ обычно используется для решения краевых задач.
Задачи Коши чаще всего решаются методами Эйлера, Рунге–
Кутта, Адамса, прогноза-коррекции и т. д.
Пример. Рассмотреть конечно-элементную формулировку
для уравнения
d 2
   e  x  0,
0  x  Lx ,
2
dx
при условии, что  = 0 при x = 0 и /x = 0 при x = Lx.
Покажем, что стационарное значение функционала
Lx
 1  d  2 1 2  x 
F ( )    
   e  dx
 2  dx  2

0

определяет решение данной краевой задачи, если пробные
функции удовлетворяют краевому условию  = 0 при x = 0.
Найдем первую вариацию F:
Lx
 d d

F   
   e  x  dx .
dx dx

0
Для первого слагаемого используем интегрирование по
частям
L
x
 d 2

d
d



   2    e  x  dx .
dx
dx
dx
x 0
x  Lx

0
Поскольку множество допустимых функций удовлетворяет краевому условию при x = 0, то x = 0 =  +x = 0 = 0,
первое слагаемое равно нулю.
Из условия стационарности F = 0 и в силу произвольности  имеем:
F 
26
d 2
   e  x  0 при 0  x  Lx ,
dx 2
d
 0 при x  Lx .
dx
Краевое условие при x = Lx выполняет роль естественного
краевого условия, так как оно выполняется для любой функции , обеспечивающей стационарное значение функционала.
Краевое условие при x = 0 – главное условие.
M элементов
x1
x2
x
Lx
0
элемент е
Рис. 1.3
Следуя методу конечных элементов, разобьем отрезок
[0, Lx] на M одномерных элементов (рис. 1.3). На каждом элементе будем использовать линейную аппроксимацию. В таком
элементе неизвестная функция определяется ее значениями в
двух узлах x1 и x2:
(x) = 1 N1 + 2 N2 ,
(1.36)
где функции формы N1, N2 имеют вид
x x
x  x1
N1  2
, N2 
.
x2  x1
x2  x1
Подставляя аппроксимацию (1.36) в функционал F() и
удовлетворяя условию стационарности F/i = 0, приходим к
системе линейных алгебраических уравнений
S111 + S122 = F1,
S211 + S222 = F2,
27
где
x2
x2
при i  j,
 (1 he )  ( he 3),
dN i dN j
Sij  
dx   N i N j dx  
dx dx
  (1 he )  ( he 6), при i  j ,
x1
x1
x2
F j   e  x N j dx .
x1




F1  1  1  e x1  1 e x2 ; F2  1 e x1  1  1  e x2 .
he
he
 he 
 he 
Здесь he  x2 – x1.
Аналогичным образом строятся системы уравнений для
всех элементов, а затем добавляются в глобальную систему
способом, описанным в разд. 1.4. Чтобы окончательно сформировать систему, необходимо учесть главное граничное условие при x = 0 (см. там же).
Упражнения
1. Задано дифференциальное уравнение
d 
du 
 p( x)   q( x )u  f ( x )
dx 
dx 
на интервале [a, b]. Требуется найти функцию u(x) такую, что
u(a)=d0, u(b)=d1. Используя 3-4 конечных элемента, провести
дискретизацию и получить решение данной задачи.
Номер
варианта
1
2
3
4
5
a
b
d0
d1
p(x)
q(x)
f (x)
0
0
–1
0
4
1
1
2
1
5
0
0
4
–1
2
–2
1
0
–1
1
1
1
1
ex
–ex
0
0
0
–2
–6
–2
–sin x
–x
x
sin x
28
2. Для нелинейного дифференциального уравнения
d 
d 
 (  )
  f ( x, ) , 0  x  1,
dx 
dx 
с краевыми условиями (0) = 0, (1) = 1 провести дискретизацию и составить алгоритм решения:
1)  = ; f = –2;
2)  = cos( /2); f = 0;
3)  =1/( +1); f = 0;
4)  = e ; f = x;
5)  =1+ 0.1; f = –10x;
6)  =1; f = e.
2
2
3. Задано уравнение d /dx +  = x, 0  x  1 с краевыми
условиями:
1)  = 0 при x = 0 и  = 0 при x = 1;
2)  = 0 при x = 0 и d/dx = 0 при x = 1;
3)  = 0 при x = 0 и d/dx +  = 0 при x = 1.
Провести дискретизацию на основе проекционного метода.
4. Решить методом конечных элементов уравнение
2
2
d /dx –  = 0, 0  x  1
с краевыми условиями  = 0 при x=0 и d/dx=20 при x=1.
1.6. Решение дифференциальных уравнений
с частными производными
Поведение многих физических процессов описывается
функциями от нескольких переменных, и для их определения
требуется решать дифференциальные уравнения с частными
производными (ДУЧП). Полная математическая постановка
задачи наряду с ДУЧП содержит также некоторые дополнительные условия. Если решение ищется в ограниченной области, то задаются условия на границе, называемые граничными
(краевыми) условиями. Такие задачи называются краевыми
задачами для ДУЧП. Если одной из независимых переменных
в задаче является время t, то задаются некоторые условия (например, значение искомой функции) в начальный момент t0,
которые называются начальными условиями. Такая задача называется задачей Коши для ДУЧП. При этом задача решается в
29
неограниченном пространстве и граничные условия не задаются. Задачи, при формулировке которых ставятся и граничные, и начальные условия, называются нестационарными (или
смешанными) краевыми задачами
Задача называется корректно поставленной (по Адамару), если ее решение существует, единственно, и непрерывно
зависит от начальных и граничных условий, от коэффициентов
и правой части дифференциального уравнения.
Рассмотрим узкий класс корректных задач для уравнений
2-го порядка, линейных относительно производных. В случае
четырех независимых переменных v1  x, v2  y, v3  z, v4  t эти
уравнения можно записать в виде
4
 2

aij
  bi
 c  f .

vi v j i 1 vi
i , j 1
4
(1.37)
Здесь =(x, y, z, t) – искомая функция. Коэффициенты
{aij}, {bi} и правая часть f, вообще говоря, могут зависеть от
{vi} и . В связи с этим уравнение может быть а) с постоянными коэффициентами, б) линейным, если f линейно зависит
от , а коэффициенты – только от {vi}. Если f =0, то уравнение
называется однородным.
Можно показать, что путем замены vi = ij wj, подобрав
соответствующим образом ij, можно (1.37) привести к виду, в
котором не будет смешанных производных
4
 i
i 1
 2 4 ˆ 
  bi
 c  f .
wi2 i1 wi
(1.38)
Если ни один из коэффициентов i не равен нулю и все
они одного знака, то уравнение (1.38) называется эллиптическим. Если среди коэффициентов i хотя бы один равен 0 (но
не все одновременно), то уравнение является параболическим.
Гиперболическое уравнение соответствует случаю, когда все
i  0 и разных знаков.
Эллиптические уравнения описывают стационарные (установившиеся) процессы во многих физических приложениях
30
(распределение тепла, электростатических и магнитостатических полей, безвихревое течение идеальной жидкости и др.).
Дискретизация одного из уравнений этого класса – уравнения
Пуассона – подробно рассмотрена в разделах II – III.
Типичным примером параболического уравнения является уравнение теплопроводности
           

   k
 0,
k
   k
  Q  c
x  x  y  y  z  z 
t
где k(x, y, z) – коэффициент теплопроводности, Q(x, y, z, t) –
количество тепла, генерируемого в ед. объема,  – плотность
вещества, (x, y, z, t) –распределение температуры. Это уравнение дополняется начальными и краевыми условиями:  = 0

при t = t0 ;  =  на 1 и –kn = q на 2.
Рассмотрим конечно-элементную формулировку нестационарной задачи теплопроводности для стержня 0  x  L (одномерный случай). Для простоты положим  = с = 1. Поскольку
такая задача не имеет естественного вариационного принципа,
воспользуемся проекционным методом, в частности методом
Галеркина.
Потребуем, чтобы проекции невязок на интервале [0, L] и
на границе x = L на базисные функции {Ni} и {Wi} были равны
нулю.
L
    
 
 

  x  k x   Q  t  N dx   k n  q W
j
0
 0.
j
xL
После интегрирования первого слагаемого в первом интеграле имеем
L
 N j 
 
  k x x  N Q  N t dx 
j
j
0
 

 
 k
W j qW j  k
Nj  k
N j  0.
n
n
 n
 x L
x 0
31
Построим аппроксимацию для : = i(t)Ni (x). Ограничив выбор Wj = –Nj при x=L и Nj = 0 при x=0, получим систему

i Pij t i  Sij i  Fj ,
L
L
L
где Pij   N i N j dx;S ij   kN i N j dx;F j   N j Qdx  qN j
0
0
0
.
xL
Если k = const, имеем неоднородную систему обыкновенных дифференциальных уравнений с постоянными коэффициентами и правыми частями, которая может быть решена
аналитическими методами. Для численного решения этой системы воспользуемся методом взвешенных невязок.
В качестве весовых функций возьмем -функции Дирака
 t  tn

Z n  
   ,
 t n

где tn  tn+1 – tn,  – некоторое число. Для неизвестной функции  на интервале [tn, tn+1] воспользуемся аппроксимацией
 t  tn 
t  tn
   n 1
.
   n 1 
t n 
t n

Здесь  n  (tn),  n+1  (tn+1).
Потребовав, чтобы

 d

  S dt  P  F Z dt  0
n
0
и положив  = 1/2, что соответствует наиболее часто используемой схеме Кранка-Николсона, приходим к матричному
уравнению относительно  n+1
 S
 S
1 
1 
1

 P  ψ n 1   
 P ψ n  F n  F n 1  . (1.39)
2
 t n 2 
 t n 2 
В общем случае, когда k зависит еще от  , матрица S заn1
висит от  2  1 ( n  n 1 ) , и имеем систему нелинейных
2
32
уравнений (1.39) для определения вектора  n+1. Решение таких
систем осуществляется методом Ньютона-Рафсона, который
сводится к итерационному процессу, на каждом шаге которого
решается система линейных алгебраических уравнений.
В заключение приведем пример гиперболического уравнения. Рассмотрим случай гибкой струны, на которую действует постоянное натяжение . Концы струны закреплены, и
она совершает малые колебания около положения устойчивого
равновесия – интервала 0  x  1 оси x . Если (x, t) – перемещение точки струны перпендикулярно x , то для кинетической
и потенциальной энергий можно соответственно записать
1
2
1
1   
T   
 dx ,
2 0  t 
2
1
  
V   c2 
 dx ,
2 0  x 
где  – плотность струны и c2 = /. Согласно принципу Гамильтона, интеграл
t1
F ( )   (T  V ) dt
t0
имеет стационарное значение для реальной траектории по
сравнению с близкими возможными значениями. Соответствующее уравнение Эйлера
2
 2
2  
c
t 2
x 2
является волновым уравнением. Процедура дискретизации для
этого уравнения может быть проведена и по методу РелеяРитца, и проекционным методом. В последнем случае процедура во многом аналогична для параболических уравнений,
основное отличие лишь в том, что базисные функции для аппроксимации i(t) во временной области должны быть порядка
не ниже 2, чтобы обеспечить отличную от нуля вторую производную.
33
Упражнения
1. Провести конечно-элементную дискретизацию уравнения Пуассона
() = –.
Выделив два соседних элемента, показать, что при этом


условие 1 1  2 2 на их общей границе выполняется авn
n
томатически.
2. Как в методе конечных элементов учесть условие на
резкой границе раздела сред, заданное в виде Dn2 – Dn1 =  ( –
поверхностная плотность заряда) для электростатической задачи?
3. Получить дискретные уравнения задачи теплопроводности для тонкого однородного стержня

 2
 k 2 , 0  t  t1, 0  x  a,
t
x
(x, 0) = 10, (0, t) = 10 + 0.2t, (a, t) = 10– 0.3t, где (x, t) –
температура стержня в точке x в момент времени t. k принять
равным 1.
4. Концы струны закреплены в точках x=0 и x=1; первоначально струна находится в покое (/t=0 при t=0) и имеет

форму  =  (x). Найти численное решение, описывающее последующие перемещения струны. Построить дискретные
уравнения для МКЭ, пользуясь вариационным и проекционным представлением задачи.
34
2. КОНЕЧНО-ЭЛЕМЕНТНАЯ ДИСКРЕТИЗАЦИЯ
УРАВНЕНИЯ ЛАПЛАСА С ДОПОЛНИТЕЛЬНЫМИ
ОГРАНИЧЕНИЯМИ
В стандартной краевой задаче для уравнения Лапласа
 = 0 в области 
(2.1)
дополнительно ставятся граничные условия 1-го рода
   0 на границе 1,
(2.2)
и/или 2–3 рода

   
n
на границе 2
(2.3)
(случай   0 соответствует условиям 2-го рода). В эквивалентной вариационной формулировке решение данной задачи
соответствует минимуму функционала
F ( ) 
1


(  ) 2 d     2  d ,

2
2

2 
(2.4)
причем условие (3.25)(2.2) учитывается как главное, а (2.3) – как
естественное. Очевидно, что если граничный интеграл в (2.4) отсутствует, то на границе 2 будет выполняться однородное условие Неймана

0 .
n
Из методов численного решения краевых задач, имеющих вариационную формулировку, наиболее эффективным
является метод конечных элементов, который базируется на
аппроксимации Ритца.
В ряде случаев на потенциал  задачи (2.1)-(2.3) могут накладываться дополнительные ограничения [2, 5, 32]. Рассмотрим
подробнее построение дискретной конечно-элементной модели
35
с учетом таких ограничений. При этом для простоты исключим из рассмотрения граничные условия 1-3 рода; их учет не
влечет никаких особенностей и соответствует стандартной
процедуре (см. раздел 1.4).
2.1. Учет скачка потенциала на разрезе
Пусть на некоторой поверхности разреза S ставится условие
+ – – = I
(2.5)
что соответствует заданию скачка потенциала на S. Здесь + и
– –значения неизвестной функции  в одной и той же точке
по разные стороны разреза.
Минимизируя функционал задачи
F ( ) 
1
() 2 d
2 
на множестве функций вида
   i N i ( x , y , z )
(2.6)
i
(i – коэффициенты, Ni – базисные функции – полиномы),
придем к системе уравнений
S   0 ,
ij
i
i
где Sij   N i N j d . Матрица {Sij} является симметричной и

положительно определенной.
Имеем однородную систему линейных уравнений с определителем, равным нулю. Такая система, как известно, имеет бесконечное множество решений. Чтобы выделить искомое
решение, необходимо как минимум обеспечить учет условия
(2.5). Рассмотрим подробнее соответствующую процедуру.
36
Пусть два смежных конечных
элемента (треугольника) имеют общую сторону, лежащую на линии S
(рис. 2.1). Выпишем отдельно линейную систему уравнений для обоих
элементов:
(1)
ij
(1)
i
( 2)
ij
( 2)
i
 S   0;  S 
i {1, 2, 3}
 0.
2
4
2
1
1
3
S
i {3, 2, 4}
Рис. 2.1
Следуя стандартному методу
конечных элементов [28], проведем объединение этих систем.
Если S не является линией разреза, то в узлах 2 и 3 должно выполняться условие непрерывности, т.е.
(21)  (22)  0,
(31)  (32)  0.
В этом случае получается система (с учетом обозначений
i  i(l))
S11(1)1  S12(1)2  S13(1)3  0,
(1)
( 2)
2  S23(1)  S23(2) 3  S24(2)4  0,
S21(1)1  S22
 S22
S31(1)1  S32(1)  S32( 2) 2  S33(1)  S33( 2) 3  S34( 2)4  0,
(2.7)
( 2)
( 2)
S42( 2)2  S43
3  S44
4  0.
Если на S происходит скачок, то каждому узлу, лежащему на S, необходимо поставить в соответствие два значения
потенциала  i+ и  i– . Одно из этих значений будет относиться
к элементам, лежащим по одну сторону от S, другое – к элементам, лежащим по другую сторону относительно S. В нашем
случае условие скачка можно записать в виде
(2)
(1)
2  2  I ,
(2)
(1)
3  3  I .
37
При объединении элементов для каждого узла на S следует оставить только одну независимую переменную, например, 2  (21) , 3  (31) , а (22) и  (32 ) заменить соответственно
выражениями  2 – I,  3 – I.
В итоге получим систему
S11(1)1  S12(1)2  S13(1)3  0,
(1)
( 2)
2  S23(1)  S23(2) 3  S24(2)4  IS22(2)  IS23(2) ,
S21(1)1  S22
 S22
S31(1)1  S32(1)  S32( 2) 2  S33(1)  S33( 2) 3  S34(2)4  IS32(2)  IS33( 2) ,
S42( 2)2  S43( 2)3  S44( 2)4  IS42( 2)  IS43( 2) .
Таким образом, по сравнению с (2.7) данная система отличается только правой частью. Решений она не имеет (неоднородная система с нулевым определителем матрицы). Это является следствием того, что дополнительное условие (2.5) накладывается только на разность значений потенциала, а не на
саму функцию. Тем самым, решение задачи определяется с
точностью до константы. Поэтому необходимо в одном какомлибо узле зафиксировать потенциал, т.е. придать ему вполне
определенное значение, которое играет роль начала отсчета.
Например, поставим в узле 4 условие
 4 = 0.
Тогда система примет вид
(1)
11
S 1  S12(1)2  S13(1)3  0,
(1)
( 2)
2  S23(1)  S23( 2) 3  IS22( 2)  IS23( 2) ,
S21(1)1  S22
 S22
Теперь система
S31(1)1  S32(1)  S32( 2 ) 2  S33(1)  S33( 2 ) 3  IS32( 2 )  IS33( 2 ) ,
4  0.
имеет отличный от нуля определитель. В случае, если I = 0
(скачка нет), ее решение – тождественный нуль, если I  0
(скачок есть), получим искомое ненулевое решение задачи.
38
По итогам решения системы конечно-элементных уравнений найдем значение  в произвольной точке элементов 1
и 2 согласно (2.6):
  N (1)  2 N 2(1)  3 N 3(1) ,
( x, y )  1,
( x, y )   1 1
(2)
( 2)
( 2)
(1  I ) N1  (2  I ) N 2  (3  I ) N 3 , ( x, y )   2.
Рассмотренная процедура фор6
мирования
глобальной
конечно- 5
элементной системы обобщается на
2
4
любое число конечных элементов.
3
Особое внимание следует уделить
случаю, когда узел, лежащий на S,
2
1
4
принадлежит более чем двум конеч- 1
ным элементам. Такому узлу по3
прежнему соответствуют только две
+ –
переменные, каждая из которых связаS
на с элементами, лежащими по определенную сторону относительно лиРис. 2.2
нии (поверхности) разреза.
Добавим к элементам 1 и 2 (рис. 2.1) еще два элемента,
как показано на рис. 2.2. Выпишем второе уравнение глобальной системы; это уравнение соответствует узлу 2, который лежит на S и является общим для всех четырех элементов. С
этим узлом связаны потенциалы  2+ и  2– , причем
2  (21)  (23) ,2   (22 )  (24) ,2   2   I .
Вводя обозначение  2   2+ , получим следующее уравнение
(1 )
(1)
(1 )
S 21
1  S 22
 S 22( 2 )  S 22( 3)  S 22( 4 )  2  S 23
 S 23( 2 )  3 
( 4)
 4  S25( 3)5  S 26( 4) 6  S22( 2 ) I  S22( 4 ) I  S23( 2 ) I .
 S 24( 2 )  S 24
Сформировав остальные уравнения и положив, например,
 4 = 0, получим новую систему, решение которой даст набор
чисел { i}. При вычислении потенциала внутри элементов 1 и 3
39
в качестве узлового значения узла 2 следует брать 2, а внутри
элементов 2 и 4 – величину (2 – I ).
Плоская формулировка легко переносится на трехмерную геометрию использованием объемных конечных элементов и поверхностей разреза, проведенных по тем же правилам,
что и линии разреза.
Осесимметричная формулировка отличается от плоской
только способом вычисления матричных элементов Sij( e ) :
Sij( e )   rN i( e )N (j e ) drdz .
e
2.2. Учет потока градиента потенциала
через заданную поверхность разреза
В рассмотренной выше постановке скачок I потенциала
должен быть известным. Однако в некоторых задачах заданным является не скачок потенциала на поверхности разреза, а
поток градиента потенциала

 n d   ,
0
(2.8)
S
сохраняющий постоянное значение. В такой постановке скачок I является изменяемым параметром, который по-прежнему
должен учитываться как скачок потенциала.
Получим вариационную формулировку такой задачи.
Пусть функционал имеет вид
F ( , I )  1  (   ) 2 d    0 I S ,
2
(2.9)
где I  (+ – –)|S – скачок потенциала на поверхности разреза
S; в различных точках этой поверхности значения потенциала
могут заметно отличаться, но разность + и – , вычисленных в
одной точке, остается постоянной. Поэтому слагаемое Ф 0I в
40
приведенном выражении есть число, как того и требует понятие функционала. Для первой вариации получим
F   ( ) d   0  I S .

I | S есть вариация величины скачка потенциала на S. Так
как эта величина неизвестна, то I  0. Перепишем F, используя формулу Грина



F    2   d  
 d 
 d 
 d  0 I S .
n
n
n

S
S

Здесь S+ и S– – разные стороны линии (поверхности) разреза, а Г – остальная часть границы (не включающая разрез).
Очевидно, что направления вектора нормали к поверхностям
S+ и S– противоположны, тем самым



 n  d   n d   n (   )d 
S
S
S
S
S


( S   S )d  
Id .


n
n
S
S

Вариация I = const на S, так как скачок потенциала I постоянен в каждой точке поверхности S. Таким образом,


 
F     2   d  
 d    0  
d  I S .

n

n


S


Итак, для того, чтобы функционал F достигал экстремума, необходимо:
2  0 в области ,
(2.10)

 0 на поверхности Г,
n


d   0

n
S
41
(2.11)
(2.12)
(знак «+» или «–» определяется выбором направления нормали

n к поверхности S). С учетом фиксации  в любой точке области задачи , получили требуемую краевую задачу, описывающую трехмерное распределение поля.
В более общей формулировке может ставиться дополнительно k интегральных условий типа (2.12). В этом случае определяется k непересекающихся поверхностей разрез, на каждой из которых задается свой поток Ф0i , а величины скачков
потенциала Ii
      S  I i , i =1, …, k,
i
определяются путем решения вариационной задачи. Функционал такой задачи примет вид
k
F (, I1, I 2 , ... , I k )  1  ()2 d    0i I i S ,
i
2
i 1
для которого также можно показать, что его минимальное значение соответствует распределению поля, удовлетворяющего
уравнениям (2.10), (2.11) и естественным условиям

d   0i , i=1,…, k.
n
Si

В случае конечно-элементной реализации получим дополнительно к узловым переменным k степеней свободы: I1, … , Ik.
Рассмотрим особенности учета условия сохранения потока градиентов (2.9) в реализации МКЭ. Как известно, стандартная конечно-элементная процедура состоит в вычислении
матричных элементов и вектора правых частей для каждого
конечного элемента (т. н. локальной системы линейных уравнений) и добавлении их в глобальную систему, относящуюся
ко всей конечно-элементной сетке. Отметим, что в рассматриваемой формулировке поверхность разреза S является внутренней по отношению к  и тем самым должна находиться
внутри конечно-элементной сетки, но при этом она не может
проходить по внутренней части элементов, а может проходить
42
только по границам элементов. Возьмем два двумерных
конечных элемента, примыкающих к поверхности S с
разных сторон, как показано
на рис. 2.3.
Если бы условия (2.12)
не было (в функционале (2.9)
нет второго слагаемого), то
локальные системы этих элементов имели вид
–
+
1
2
4


3
S
Рис. 2.3
Sii( e ) i  S ij( e ) j  Sik( e )  k  0,
Sij( e ) i  S (jje ) j  S (jke )  k  0,
Sik( e ) i  S (jke ) j  S kk( e )  k  0,
где S(e) – матрица жесткости элемента с номером e; индексы i,
j, k совпадают с глобальными номерами узлов элемента e. Глобальная система уравнений, соответствующая этим элементам,
выглядит так:
S
(1)
11
 S11( 2)  1  S12(1) 2   S13(1)  S13( 2)  3  S14( 2) 4  0,
S12(1) 1  S22(1) 2 
S
(1)
13
( 2)
13
S
S23(1) 3
  S   S
1
(1)
23
2
(1)
33
(2 )
14
S
( 2)
33
   S   0,
3
(2)
34
S 1 
 0,
( 2)
34
4
(2)
44
S 3  S 4  0.
Если S является поверхностью разреза с условием (2.12),
то в узлах 1 и 3 значения  справа и слева не равны друг другу,
а связаны соотношением
1+ – 1– = I,
3+ – 3– = I.
Так что по одной узловой переменной можно исключить,
например, 1+ и 3+. Чтобы правильно построить глобальную
систему, запишем выражения для элементных функционалов
43
1
1
1
F (1)  S11(1) (1  I )2  S22(1) 22  S33(1) (3  I )2 
2
2
2
(1)
(1)
 S12 (1  I )2  S13 (1  I )(3  I )  S23(1) (3  I )2 ,
1 ( 2) 2 1 ( 2) 2 1 ( 2) 2
S11 1  S33 3  S44 4 
2
2
2
(2 )
(2 )
 S13 1 3  S14 1 4  S34(2 )34 .
F ( 2) 
Заметим, что каждому узлу на S соответствует только одна независимая переменная – та, что вычисляется по левую сторону. Но при этом появилась дополнительная переменная, которая ставится в соответствие не узлам, а всему разрезу в целом
– сила тока I. Суммарный функционал представится в виде
F = F(1) + F(2) + Ф0I.
Минимизируя F по переменным 1– , 2 , 3– , 4 и I, получим систему
F
  S11(1)  S11( 2)  1  S12(1) 2   S13(1)  S13( 2)  3 
1
 S14(2 )4   S11(1)  S13(1)  I  0,
F
(1 )
 S12(1)1  S22(1) 2  S 23(1) 3  S12(1)  S 23
I  0,
 2
F
  S13(1)  S13( 2)  1  S23(1) 2  ( S33(1)  S33( 2) )3 
3
 S34( 2) 4   S13(1)  S33(1)  I  0,
F
 S14( 2 ) 1  S 34( 2 )  3  S 44( 2 )  4  0,
 4
F
  S11(1)  S13(1)  1   S12(1)  S23(1)  2 
I
  S13(1)  S33(1)  3   S11(1)  S33(1)  2 S13(1)  I   0 .
44
С точки зрения программной реализации МКЭ важно
иметь правило формирования этой системы из локальных систем. Поэтому приведем локальную систему для первого и второго элемента соответственно:
S11(1) 1  S12(1)  2  S13(1)  3  S11(1)  S13(1) I  0 ,
(1)
S12(1) 1  S 22(1)  2  S 23(1)  3  S12(1)  S 23
I  0 ,
S13(1)1  S23(1)2  S33(1)3  S13(1)  S33(1) I  0,
 S  S   S  S   S  S  
  S  S  2S  I  
(1)
11
(1)
13
1
(1)
12
(1)
23
2
(1)
13
(1)
33
(1)
11
(1)
33
(1)
13
3
0
и
S11( 2 )1  S13( 2) 3  S14( 2) 4  0,
S13( 2 )1  S33( 2) 3  S34( 2) 4  0,
S14( 2 )1  S34( 2) 3  S44( 2) 4  0.
Как видно, появление дополнительного условия сохранения потока меняет локальные системы конечных элементов,
примыкающих к поверхности разреза только с одной стороны,
а элементы по другую сторону от S дают такой же вклад, как
если бы условия не было.
Поскольку все дискретные уравнения получены из соотношений, накладывающие ограничения только на разность потенциалов, а не на сам потенциал, то для исключения неоднозначности МКЭ-решения необходимо зафиксировать одну из
узловых величин (например, принять 2  0 ).
2.3. Учет условия постоянства потенциала и потока
его градиента на внутренних границах
области решения краевой задачи
В постановке ряда краевых задач для уравнения Лапласа
встречается дополнительное условие постоянства значений
потенциала:
 = const
на некоторой внутренней границе многосвязной области.
45
Ввиду того, что это условие ставится для самого потенциала (а не производных), оно имеет внешнее сходство с краевым условием Дирихле. Тем не менее, оно существенно отличается от последнего, так как требует лишь равенства граничных значений функции, но не определяет эти значения. Другими словами, на данной границе потенциал сохраняет неизменное значение, которое заранее неизвестно и должно определиться в результате решения краевой задачи.
Данное условие допускает вариационную формулировку,
которая наиболее удобна при конечно-элементной реализации
решения. Действительно, взяв первую вариацию функционала,
соответствующего уравнению Лапласа,
F ( ) 
1
() 2 d

2
(2.13)
и применив формулу Грина, получим
F     2   d   



d .
n
Пусть на части границы Г, например Г1, задано условие
 = const. Будем рассматривать вариацию функционала по
всем функциям, удовлетворяющим этому условию. Тогда  =
const на Г1 и тем самым


d    d
n
n
1
*
F    2  d    

(здесь Г* – остальная часть границы: Г = Г1 + Г*).
Таким образом, для того, чтобы достигался минимум
функционала (2.13), что соответствует F = 0, необходимо
2  0 в области ,
(2.14)

 0 на Г* (естественное граничное условие), (2.15)
n
46

 n d  0.
(2.16)
1
Последнее равенство имеет вид интегрального условия.
Его левую часть можно интерпретировать поток градиента потенциала через поверхность Г1. Таким образом, функция, доставляющая экстремум функционалу и принимающая постоянное значение на Г1, будет автоматически удовлетворять уравнению Лапласа (2.14), однородному граничному условию
Неймана (2.15) и интегральному условию (2.16).
В более общей формулировке интегральное условие имеет вид

(2.17)
 n dS  Q.
1
При этом одновременно должно выполняться условие на
Г1:
 = const.
Вновь рассмотрим функционал запасенной энергии скалярного поля  (2.13). Добавим к нему слагаемое, равное произведению заданного значения Q потока  через поверхность
Г1 и самого потенциала на этой поверхности:
F ( ) 
1
() 2 d  Q  .

1
2
(2.18)
Для первой вариации имеем
F    () d   Q   
1

   2  d  


 n  d   Q 

 


 d    
d  Q   .
1
  n 

n
*
 1

   2  d   

1
1 *
47
Здесь изменен знак перед поверхностным интегралом по

Г1, так как нормаль n – внешняя по отношению к области  –

заменена на внутреннюю нормаль n  .
Таким образом, если функционал (2.18) рассматривать на
множестве всех функций достаточной степени гладкости, заранее принимающих постоянное значение на Г1, то функция,
доставляющая минимум этому функционалу, будет удовлетворять на  уравнению Лапласа
 = 0,
на Г* – естественному граничному условию

 0,
n
и интегральному соотношению

 n d  Q.
(2.17)
1
Очевидно, что функционал (2.17) соответствует более
общему случаю; рассмотренная выше вариационная формулировка на основе (2.13) может быть получена из (2.17) при
Q = 0. Также отметим, что данная формулировка не исключает
условия Дирихле, играющего, к слову, как и условие  = const,
роль главного краевого условия. Более того, оно является необходимым при численной реализации для исключения неоднозначности решения (все уравнения и соотношения накладываются на разность потенциала).
Итак, найден вариационный принцип, который учитывает
интегральное соотношение (2.17) для заданного значения заряда как необходимое условие экстремума. Рассмотренная формулировка обобщается на случай задачи с k аналогичными дополнительными ограничениями. В такой системе определяются
k поверхностей i, на каждой из которых задается своё значение потока градиента Qi. Функционал такой задачи примет вид
k
F ()  1  () 2 d   Qi   .
i
2
i 1
48
Его минимальное значение, определяемое на множестве
функций, сохраняющих постоянные значения на соответствующих границах 1i, т.е.
   const , i = 1, … , k,
1i
соответствует распределению поля, удовлетворяющему уравнению Лапласа  = 0, однородному граничному условию
Неймана  n  0 и условиям фиксации зарядов

 n d   Q , i = 1,…, k.
i
1i
Из методов численного решения краевых задач, имеющих вариационную формулировку, наиболее эффективным
является метод конечных элементов. Рассмотрим особенности
применения МКЭ к решению краевой задачи для уравнения
Лапласа с учетом дополнительных условий типа постоянства
потенциала и интегрального соотношения в виде фиксированного потока его градиента.
Сначала обратим внимание на то, что в терминах МКЭ
условие  = const на границе Г1 означает, что во всех узлах конечно-элементной сетки, лежащих на Г1, потенциал должен
быть одинаков. Например, для фрагмента сетки, изображенного на рис. 2.4, данное условие приводит к тому, что узловые
величины 1-го, 3-го и 5-го узлов равны друг другу:
1 = 3 = 5.
(2.19)
Действительно, внутри конечного элемента e искомая
функция  (e) аппроксимируется суммой
 ( e )    i N i( e ) ,
(2.20)
i
где i – узловые переменные, { N i(e ) } – базисные функции
(функции формы) элемента, причем каждая из этих функций
N i(e ) в узле с номером i равна единице, а во всех остальных –
нулю, а также в любой точке элемента выполняется соотноше49
ние  i N i( e )  1 . Поэтому на части границы Г1, к которой примыкает элемент e, функция  будет определяться суммой
(2.20), в которой останутся только слагаемые, соответствующие узлам на Г1, что с учетом равенства (2.19) обеспечит постоянство функции. К примеру, для элементов 1 и 3 на рис. 2.4
получим
 (1) ( x, y )  1 N 1(1)   3 N 3(1)  1 ( N 1(1)  N 3(1) )  1  const ,
 ( 3) ( x, y )   3 N 3( 3)  5 N 5( 3)  1 ( N 3( 3)  N 5( 3) )  1  const .
4
2



1
3
5
Г1
Рис. 2.4. Фрагмент конечно-элементной сетки из трех
элементов
Первый шаг любой конечно-элементной процедуры –
разбиение расчетной области  на конечные элементы, которое производится без пропусков и перекрытий. Отметим, что
хотя в рассматриваемой формулировке поверхность Г1 может
находиться внутри области  (правда, при этом величина Q в
соотношении (2.17) должна непременно равняться нулю), на
практике она, как правило, является внешней по отношению к
 и тем самым должна проходить по границе конечноэлементной сетки. Именно этот случай внешней границы Г1
будет подразумеваться в дальнейших рассуждениях. В любом
случае триангуляция области должна быть выполнена так,
чтобы элементы, примыкающие к Г1, имели в пересечении с Г1
точку или сторону в двумерном случае, точку, либо ребро, либо грань – в трехмерном.
50
Следующий шаг МКЭ-процедуры связан с формированием глобальной системы линейных алгебраических уравнений
(СЛАУ). В алгоритмическом плане на этом этапе организуется
цикл по всем конечным элементам, на каждом шаге которого
строится локальная система линейных алгебраических уравнений, т.е. вычисляются матричные элементы матрицы жесткости и вектора правых частей, относящиеся к отдельному конечному элементу. Одновременно эти матричные элементы
добавляются в глобальную систему, относящуюся ко всей конечно-элементной сетке и задаче в целом (т.н. процесс ансамблирования).
Сформируем СЛАУ для трех конечных элементов на
рис. 2.4, примыкающих к границе Г1, где задано условие
 = const, а также интегральное условие (2.17). Функционал
для этих элементов представляется в виде
F = F(1) + F(2) + F(3) + Q   ,
1
где F(e) – функционал е-го элемента:
1
F ( e )   i  j Sij( e ) ,
2 i j
где Sij( e )   N i( e )N (j e )d – элементы матрицы жесткости e-го
e
элемента, N i(e ) – базисная функция (функция формы) элемента
e, соответствующая узлу i.
Условие |Г = const приводит к тому, что
1
1 = 3 = 5  *.
Теперь функционал запишется в виде
1
1 (1) 2 1 (1) 2 (1)
(1)
F  S11(1) *2  S22
2  S33  * S12  * 2  S13(1) *2 S23
 * 2 
2
2
2
1 ( 2) 2 1 ( 2) 2 1 ( 2) 2
( 2)
( 2)
( 2)
 S22
2  S33  *  S44 4  S23
2 * S24
24  S34
 * 4 
2
2
2
1 ( 3) 2 1 ( 3) 2 1 (3) 2 (3)
( 3)
( 3)
 S33
 *  S44 4  S55  * S34  * 4  S35
 *2 S45
 * 4  Q * .
2
2
2
51
Имеем теперь три узловые переменные (2, 4, *) вместо
первоначальных пяти (1, … , 5). Применяя условие минимума функции F(*,2, 4), получим
F
(1)
(2)
( 3)
( 3)
( 3)
 * 
 S11(1)  S 33
 S 33
 S 33
 S 55
 2 S 13(1)  2 S 35
 *
(1)
(2)
 S12(1)  S 23
 S 23
 2  S 34(2 )  S 34(3)  S 45(3)  4  Q  0,
F
(1)
( 2)
 S12(1)  S23
 S23
 * S22(1)  S22(2) 2  S24(2)4  0,
2
F
( 2)
( 3)
( 3)
 S34
 S34
 S45
 *  S24( 2)2  S44(2)  S44(3) 4  0.
4
(2.21)
Матрица этой системы является симметричной и положительно определенной.
Если бы не было условия (2.17) (при этом в функционале
(2.18) отсутствует второе слагаемое), а также условия
   const, глобальная система совокупности этих элементов
1
имела бы вид
S11(1)1  S12(1)2  S13(1)3  0,
(1)
( 2)
S12(1)1   S22
 S22
 2   S23(1)  S 23(2 )  3  S24( 2)4  0,
(1)
( 2)
S13(1)1   S23
 S23
 2   S33(1)  S33(2)  S33(3)  3 
(3)
  S34(2)  S34
 4  S35(3)5  0,
(2.22)
( 2)
(2 )
(3)
S24
2   S34
 S34
 3   S44(2)  S44(3)  4  S45(3)5  0,
(3)
(3)
S35
3  S45
4  S55(3)5  0.
Таким образом, новую систему (2.21), учитывающую
данные дополнительные условия, можно получить простой
модификацией системы (2.22), где этого учета нет. Для этого
нужно выполнить следующие действия:
а) все узловые переменные {i}, соответствующие узлам
на 1, заменить одной переменной *,
б) вместо уравнений, номера которых совпадают с номерами указанных узлов, записать одно новое уравнение, полу52
ченное сложением левых частей этих уравнений и последующим приравниванием результата числу (–Q).
С точки зрения программной реализации МКЭ важно
иметь правило ансамблирования элементов, т.е. формирования
глобальной СЛАУ из локальных систем, относящихся к отдельным конечным элементам. Чтобы сформулировать это
правило, приведем локальные системы для всех трех элементов, учитывающие дополнительные условия (кстати, их легко
получить из стандартных конечно-элементных уравнений,
пользуясь приведенным выше алгоритмом).
Локальная система 1-го элемента:
 S11(1)  S33(1)  2 S13(1)   *   S12(1)  S23(1)   2  0,
(2.23)
 S12(1)  S23(1)   *   S22(1)  S22(2)  2  0.
Локальная система 2-го элемента:
(2)
S 33( 2 )  *  S 23
 2  S 34( 2 )  4  0 ,
( 2)
S 23( 2 )  *  S 22
 2  S 24( 2 )  4  0 ,
(2)
34
(2)
24
(2.24)
(2)
44
S  *  S 2  S 4  0 .
Локальная система 3-го элемента:
S
S
( 3)
33
 S55( 3)  2 S 35( 3)  *  S 34( 3)  S 45( 3)  4  0 ,
( 3)
34
 S 45( 3 )  *  S 44( 3)  4  0 .
(2.25)
Прежде чем осуществить ансамблирование, необходимо
каждому уравнению локальной системы поставить в соответствие определенный узел, точнее, степень свободы. Это соответствие определяется по неизвестной переменной, которая
умножается на диагональный в данной строке элемент матрицы системы. Например, в первом уравнении первой системы
такой неизвестной является ассоциированная узловая переменная *, значит, этому уравнению следует поставить в соответствие именно эту степень свободы. Во втором уравнении
диагональный элемент умножается на 2, следовательно, этому уравнению соответствует второй узел и т. д.
53
После проведенной указанной нумерации уравнений построение глобальной системы сводится к стандартной процедуре: уравнение, которое соответствует i-му узлу, добавляется
в i-е уравнение глобальной системы. Что касается ассоциированной переменной *, связанной с дополнительными условиями на 1, то ей целесообразно дать какой-нибудь уникальный номер (например, номер одного из узлов, лежащих на 1)
и пользоваться им при формировании глобальной системы.
Возьмем за такой номер 1. Складывая указанным способом
уравнения и приравнивая (–Q) соответствующее ассоциированной переменной 1 первое уравнение, получим глобальную
систему для трех конечных элементов:
S
(1)
11
(1)
(2)
( 3)
( 3)
1 
 S 33
 S 33
 S 33
 S 55( 3)  2 S13(1)  2 S 35
(1)
(2)
 S12(1)  S 23
 S 23
 2  S 34(2 )  S 34(3)  S 45( 3)  4  Q,
S
S
(1)
12
(1)
(2)
1  S 22(1)  S 22(2 )  2  S 24(2 )  4  0,
 S 23
 S 23
(2)
34
( 3)
( 3)
1  S 24( 2 )  2  S 44( 2 )  S 44( 3)  4  0.
 S 34
 S 45
(2.26)
Поскольку дискретные уравнения (2.26) получены из соотношений, накладывающие ограничения только на разность
потенциалов, а не на сам потенциал, то возникает неоднозначность в определении МКЭ-решения, для исключения которой
необходимо зафиксировать одну из узловых величин (например, принять 2 = 0). Заметим, что надобность в такой фиксации отпадает, если в задаче есть краевые условия Дирихле.
2.4. Особенности решения задач для открытых
многосвязных систем
Строго говоря, интегрирование в уравнениях, определяющих конечно-элементную формулировку, должно производиться по ограниченному объему. Поэтому для систем, находящихся полностью, либо частично в открытом пространстве, приходится искусственно замыкать объем некоторой границей, достаточно удаленной, чтобы не оказывать существенного влияния на решение вблизи сверхпроводников. Ошибку,
обусловленную сведением поставленной задачи к задаче с ко54
нечным пространством, можно оценить путем повторного решения задачи для случая удаления открытых участков границы на большее расстояние.
Однако возможен подход, основанный на вариационном
представлении задачи, в котором влияние области за границей
замыкания учитывается с помощью дополнительного граничного интеграла, а детали распределения поля в этой области
игнорируются.
Функционал данной задачи
1
2
  d
(2.27)

2 
представляет собой энергию, запасенную во всей области определения задачи . Пусть  занимает все пространство, а
граница Г разделяет внутреннюю область  и внешнюю область E. Тогда функционал представится в виде
F ( ) 
1
1
2
2
  d     d .
(2.28)

2
2E
Преобразуя второй интеграл по формуле Грина и учиты2

вая, что на бесконечности (, n )  0 и внутри E   = 0, получим

1
1
2
F ()     d   , n d .
(2.29)
2
2

Знак “–” здесь объясняется тем, что нормаль n является
внешней по отношению к области . Таким образом, для открытой многосвязной системы функционал (2.27) принимает
минимальное значение при функции , являющейся решением
уравнения Лапласа (2.1) на множестве допустимых функций,
удовлетворяющих условию (2.2). В такой формулировке конечно-элементное решение относится только к области , однако оно сходится к точному решению с ростом числа степеней свободы. В этом отличие от формулировки, игнорирующей интеграл по E в (2.28).
F ( ) 
55
Для частично открытых областей может быть применен
аналогичный подход. Здесь, однако, при преобразовании второго слагаемого в (2.28) возникает дополнительный интеграл
вдоль части границы Г1 области E (рис. 2.5), которую нельзя
принять как бесконечно удаленную. Но если на Г1 потребовать

выполнение однородного условия Неймана (, n ) = 0, этот
интеграл равен нулю и функционалом (2.29) можно пользоваться без ограничений.
Г
Е
Г

Г1
Г1

(, n) = 0
Рис. 2.5. Сведение полубесконечной области E к конечной области 
Для аппроксимации вида (2.6) условие стационарности
функционала (2.29) приводит к системе уравнений относительно параметров дискретизации i
S   G ,
ij
i
j
i
матрица которой есть
N j
1
N
( Ni
 N j i )d ,

2
n
n

а вектор правых частей {Gi} формируется путем учета условия
скачка. Таким образом, здесь в выражении для матричных
элементов появляется дополнительное слагаемое – интеграл по
границе Г. Это слагаемое отлично от нуля только в случае, когда соседние узлы i и j лежат на данной границе. Матрица Sij
остается симметричной.
Sij   N i N j d 
56
Упражнения
1. Получить выражение для матричных элементов с учетом интеграла по границе для симплексных конечных элементов – треугольника и тетраэдра.
2. Провести дискретизацию задач для векторного потенциала A и функции потока  = rA. Для вариационной формулировки использовать выражения функционалов
2
2
2
2
1  A   A  
1        1
F ( A)        dxdy , F ()         drdz .
2  x   y  
2  x   y   r
3. Получить систему линейных уравнений с учетом условий для разности вида i – j = C. Данные условия отличаются
от условия скачка тем, что они относятся значениям потенциала в разных точках. В теории метода конечных элементов такие условия носят названия сдвига (периодичности) и симметричности (при C = 0) и имеют важное практическое применение, например, если заранее известно что потенциалы в двух
точках отличаются на С:

 
r    r  R  C .


4. Провести дискретизацию осесимметричной и трехмерной задачи для скалярного потенциала с учетом условия скачка. Использовать функционалы
2
2
1       
F ()   
 
  r dr dz ,
2  r   z  
2
2
2
1          
F ()           dxdydz .
2  x   y   z  


5. Дать формулировку двумерной задачи для векторного
потенциала для токонесущей сверхпроводниковой  системы,
помещенной в постоянное внешнее магнитное поле H e .
57
3. СИСТЕМЫ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ
3.1. Универсальные системы компьютерной математики
Maple – система компьютерной математики, выпускающаяся канадской компанией Waterloo Maple Inc., позволяющая
производить сложные математические операции [19]. Содержит более 5000 функций, что позволяет решить практически
любую математическую задачу (символьные и числовые математические операции, решение уравнений, в том числе и дифференциальных, дифференциальное исчисление, линейная алгебра, теория групп и т.д.), а также визуализировать полученные результаты путём построения 2D и 3D графиков и создания анимаций. Кроме того, Maple обладает инструментами для
решения таких прикладных задач, как финансовое моделирование, статистика и управление процессами, физика, разработка систем управления и обработка сигналов. Подробнее основные возможности рассмотрим на примере версии Maple 14,
выпущенной в 2010 году:
 Усовершенствованные алгоритмы для решения обыкновенных дифференциальных уравнений, дифференциальных
уравнений в частных производных, дифференциальных алгебраических уравнений;
 Усовершенствованные алгоритмы для решения нелинейных обыкновенных дифференциальных уравнений 1 и 2 порядка и линейных дифференциальных уравнений 3-го порядка;
 Возможность генерирования сигналов различных форм;
 Многомерная интерполяция данных;
 Анализ и решение систем полиномиальных уравнений
и неравенств с параметрами;
 Интеграция с различными базами данных, возможность
делать запросы и создавать базы данных;
 Имитация дискретных и непрерывных систем;
 Построение схем частотных характеристик, графическая визуализация нулей и полюсов линейных систем;
 Возможность преобразования кода MATLAB в Maple.
58
Каждая версия Maple содержит в себе несколько версий,
ориентированных на различных пользователей. Так, в Maple
14 содержатся следующие версии:
 Maple 14 Professional – предназначена для лабораторий,
бизнеса и исследовательских объединений;
 Maple 14 Academic Engineering – предназначена для
академических объединений, таких, как кафедры инженерной
направленности;
 Maple 14 Academic Math – предназначена для академических объединений, таких, как кафедры математической направленности;
 Maple 14 Personal Edition – предназначена для личного
пользования.
Среди новых особенностей, появившихся в Maple 14 по
сравнению с предыдущими версиями, выделяются следующие:
 Для версии Maple 14 Professional это встроенные инструменты для линеаризации нелинейных дифференциальных
алгебраических уравнений, решатели для алгебраических
уравнений Риккатти, набор инструментов для расчётов управляющих воздействий, совместимость с MATLAB (преобразование кода, генерирование кода, импорт и экспорт данных и
вызов MATLAB из Maple), улучшенные возможности поиска,
расширенный набор встроенных математических инструментов для решения прикладных инженерных задач, улучшенная
производительность, новые инструменты для рабочей среды
для интерактивных исследований, создания документов и составления программных решений.
 Для версии Maple 14 Academic Engineering это MapleCloud – интегрированная среда для создания, распространения и
получения технической документации, расширенные математические возможности для инженерных приложений, совместимость с MATLAB, улучшенные возможности поиска, новые
шаблоны заданий, расширенный набор встроенных математических инструментов для решения прикладных инженерных
задач, улучшенная производительность, новые инструменты
59
для рабочей среды для интерактивных исследований, создания
документов и составления программных решений.
 Для версии Maple 14 Academic Math это MapleCloud,
улучшенная производительность, улучшенные возможности
поиска, усовершенствованные возможности для создания и
исследования 2D-графиков, новые шаблоны заданий, более
мощное ядро инструментов для математических вычислений,
новые инструменты для рабочей среды для интерактивных исследований, создания документов и составления программных
решений.
В каждой новой версии Maple появляется большое количество обновлений, так что функционал от версии к версии
значительно расширяется. Так, в последней на сегодняшний
день (июль 2017 г.) версии (Maple 2017, выпущена 25 мая 2017
года) представлены следующие обновления: продукт MapleCloudManager, позволяющий получить доступ через MapleCloud
к большому числу пользовательских пакетов, расширяющих
функционал Maple, интерактивный постройщик графиков, ,
расширенные возможности блока визуализаций данных, система защиты рабочих файлов Maple при помощи пароля, различные карты мира и географическая база данных, позволяющие проводить исследования в области географии, усовершенствование операций, отвечающих за интегрирование, расширенные возможности при математических исследованиях (теория групп, теория графов, новые алгоритмы для дифференциальных уравнений в частных производных и т.д.), новые возможности для статистического анализа и анализа данных.
Mathematica – система компьютерной математики, которая была создана Питером Вольфрамом, а ныне распространяется компанией Wolfram Research [20]. Вместе с Maple является
ведущей системой в своём роде. В качестве языка программирования используется высокоуровневый язык Wolfram
Language, имеющий ряд преимуществ по сравнению с аналогичными языками других систем. Также важной особенностью
является наличие продукта Mathematica Online, который позво60
ляет запускать систему через веб-браузер или при помощи приложений.
MATLAB (MATrix LABoratory) – это высокоуровневый
язык и интерактивная среда для численных расчётов, визуализации и программирования [21]. Выпускается американской
компанией The MathWorks. Посредством MATLAB пользователь может анализировать данные, разрабатывать алгоритмы,
создавать модели и приложения. Язык, средства и встроенные
математические функции дают пользователю возможность быстрее решать задачи по сравнению с традиционными языками
программирования, такими, как C/C++ или Java. MATLAB позволяет решать широкий спектр задач в различных областях
науки и техники.
MATLAB обладает широкими возможностями в области
методов числовых расчётов для анализа данных, разработки алгоритмов и создания моделей (интерполяция и регрессия, дифференцирование и интегрирование, линейные системы уравнений, гармонический анализ, собственные и сингулярные значения, обыкновенные дифференциальные уравнения, разреженные матрицы). Функции, содержащиеся в ядре MATLAB, позволяют быстро выполнять матричные и векторные вычисления.
Кроме этого, в MATLAB имеются средства работы с данными (получение, анализ, визуализация), позволяющие тратить
на операции с данными намного меньше времени, чем при аналогичных операциях при использовании традиционных языков
программирования. MATLAB позволяет получать данные из
файлов, приложений, баз данных, а также внешних приборов.
Файлы, доступные для чтения, могут быть разных форматов:
Excel-файлы, текстовые или бинарные файлы, изображения,
звуковые или видеофайлы. Средства для анализа данных представляют собой функции для фильтрации, сглаживания, интерполяции, свёртки и быстрого преобразования Фурье. Визуализация данных осуществляется путём встроенных 2D и 3D графиков функций, а также функций для объёмной визуализации.
Также, есть возможность создания отчётов после выполнения
61
программы. Отчёт включает в себя программный код, комментарии и результаты работы программы, включая графики. Отчёты могут быть преобразованы в различные форматы, такие
как HTML, PDF, Word или LaTeX.
Приложения, написанные на языке MATLAB, можно соединять с приложениями, написанными на других языках. Так,
пользуясь MATLAB, можно вызвать код, написанный на C,
C++, Java или .NET, или, наоборот, при создании C, C++ или
Fortran-приложений можно вызвать код, написанный на
MATLAB.
Помимо операций, содержащихся в ядре MATLAB, существуют наборы инструментов, предназначенные для решения специализированных задач и значительно расширяющие
возможности MATLAB. По области применения их можно
классифицировать следующим образом:
 Параллельные вычисления (Parallel Computing Toolbox,
MATLAB Distributed Computing Server);
 Математика, статистика и оптимизация (Symbolic Math
Toolbox, Partial Differential Equation Toolbox, Statistics and Machine Learning Toolbox, Curve Fitting Toolbox, Optimization
Toolbox, Global Optimization Toolbox, Neural Network Toolbox,
Model-Based Calibration Toolbox);
 Системы управления (Control System Toolbox, System
Identification Toolbox, Fuzzy Logic Toolbox, Robust Control
Toolbox, Model Predictive Control Toolbox, Aerospace Toolbox,
Robotics System Toolbox);
 Обработка сигналов и связь (Signal Processing Toolbox,
DSP System Toolbox, Communication System Toolbox, Wavelet
Toolbox, RF Toolbox, Antenna Toolbox, Phased Array System
Toolbox, LTE System Toolbox);
 Обработка изображений и машинное зрение (Data Acquisition Toolbox, Instrument Control Toolbox, Image Acquisition
Toolbox, OPC Toolbox, Vehicle Network Toolbox);
 Финансовая инженерия (Financial Toolbox, Econometrics Toolbox, Datafeed Toolbox, Database Toolbox, Spreadsheet
62
Link EX (для Microsoft Excel), Financial Instrument Toolbox,
Trading Toolbox);
 Вычислительная биология (Bioinformatics Toolbox,
SimBiology);
 Средства для генерации и проверки кода (MATLAB
Coder, HDL Coder, Vision HDL Toolbox, HDL Verifier, Filter
Design HDL Coder, Fixed-Point Designer);
 Средства для разработки приложений (MATLAB Compiler, MATLAB Compiler SDK, Spreadsheet Link EX (для Microsoft Excel), MATLAB Production Server);
 Подключение к базам данных и составление отчётов
(Database Toolbox, MATLAB Report Generator).
Отдельно стоит отметить PDE Toolbox – набор инструментов, позволяющий решать дифференциальные уравнения
методом конечных элементов в 2D и 3D случаях.
Ключевые особенности
 Решатели для связанных систем дифференциальных
уравнений в частных производных: стационарные, нестационарные задачи, частотный анализ, решение задач на собственные значения;
 Задание дифференциальных уравнений в частных производных для эллиптических, гиперболических и параболических задач;
 Задание граничных условий: Дирихле, обобщённое условие Неймана, смешанное условие;
 Функции для создания 2D-геометрии и импорта 3Dгеометрии из STL-файлов;
 Автоматическое разбиение с использованием треугольников и тетраэдров;
 Одновременное изображение нескольких графиков решения, наложение сетки, анимация.
Рабочее окно и процесс работы в PDE Toolbox
Рабочий процесс в PDE Toolbox состоит из определения
геометрии, задания уравнения или системы уравнений, описы63
вающих задачу, граничных и начальных условий, построения
сетки, решения уравнений и визуализации результатов. Для
каждого из шагов в PDE Toolbox имеются соответствующие
встроенные функции. PDE Toolbox позволяет решать задачи в
области механики конструкций, электростатики, магнитостатики, переменного электромагнитного поля, электрического
поля постоянного тока в проводящей среде, теплопереноса и
диффузии, а также других прикладных областях.
Для 2D-задач можно воспользоваться рабочим окном.
Оно обладает интерфейсом для задания геометрии и выбора
одного из существующих прикладных режимов. При работе в
рабочем окне можно в любой момент воспользоваться экспортом данных в рабочее пространство MATLAB, после чего продолжить работу вне рабочего окна.
Возможные типы уравнений.
При помощи PDE Toolbox можно задавать и решать различные типы уравнений или систем уравнений в частных производных: эллиптические, параболические, гиперболические, а
также задачи на собственные значения. Системы дифференциальных уравнений в частных производных могут быть линейными или нелинейными и могут иметь вещественнозначные
или комплекснозначные решения.
PDE Toolbox решает уравнения следующего вида:
+
−∇∙( ∇ )+
=
или системы вида:
+
−∇∙( ⊗∇ )+
= ,
где , , – матрицы вида × ,
– число уравнений системы, , – векторы × 1, – тензор четвёртого ранга вида
× × × , - размерность пространства, в котором решается задача, ⊗ – знак тензорного произведения. Все коэффициенты могут зависеть от пространственных координат, решения и его пространственных производных.
64
Уравнение задачи на собственные значения имеет вид:
−∇ ∙ ( ∇ ) +
=
или − ∇ ∙ ( ∇ ) +
=
,
а система уравнений:
−∇ ∙ ( ⊗ ∇ ) +
=
или − ∇ ∙ ( ⊗ ∇ ) +
=
.
Коэффициенты в уравнениях могут зависеть только от
пространственных координат и не зависят от решения и его
пространственных производных.
В случае нестационарной задачи все коэффициенты могут зависеть ещё и от времени.
Задание геометрии
В случае 3D-геометрии PDE Toolbox может работать с
многогранными объектами. Геометрия задаётся путём импорта
из STL-файла в MATLAB. Формат STL является стандартным
форматом для импорта 3D-геометрий из CAD-систем. Ещё
один способ задания 3D-геометрии – использование функции
geometryFromMesh, которая позволяет создать 3D-геометрию
из конечно-элементной сетки или из поверхности, разбитой на
треугольники. 3D-геометрия также может быть создана путём
комбинации (соединения или вложения) одинаковых примитивов (параллелепипеды, цилиндры, сферы). Комбинация разных
примитивов (например, цилиндра и сферы) не допускается.
Для 2D-задач задание геометрии осуществляется при помощи комбинации нескольких геометрических примитивов
(Constructive Solid Geometry) или при помощи геометрических
функций. При первом подходе с помощью комбинации примитивов (квадратов, прямоугольников, кругов, эллипсов, многоугольников) может быть создана сложная геометрия. Такой
подход используется при работе через рабочее окно. Второй
подход заключается в описании кривых, совокупность которых является границей исследуемой 2D-области.
Граничные условия
PDE Toolbox позволяет задавать граничные условия Дирихле и обобщённые граничные условия Неймана на границе
65
исследуемой области путём задания соответствующих коэффициентов.
Дирихле:
ℎ = .
Обобщённое условие Неймана:
∙ ∇ +
= .
Для каждого граничного условия – внешняя единичная
нормаль, – скаляр или вектор-решение, – коэффициент, заданный при определении уравнений, а коэффициенты , , ℎ,
могут зависеть от решения, а также координат нормали. Для
нестационарных задач коэффициенты также могут зависеть от
времени. Для систем дифференциальных уравнений поддерживаются условие Дирихле, обобщённое условие Неймана и
смешанное условие.
Начальные условия
Для нестационарных задач необходимо задать начальные
условия для решения. Возможно задание этих условий как в
областях, так и на поверхностях, на рёбрах и в точках.
Разбиение и решение
Для решения уравнений PDE Toolbox использует метод
конечных элементов. Область разбивается в автоматическом
режиме путём управления параметром сетки.
В 3D-задачах область разбивается на тетраэдры. Существует возможность выбора порядка базисных функций (линейные или квадратичные).
В 2D-задачах для разбиения области используются треугольные элементы с линейными и квадратичными базисными
функциями.
Для 2D-эллиптических и нелинейных эллиптических задач используется алгоритм адаптивного измельчения сетки для
измельчения сетки в тех местах, где ошибка решения оказывается слишком большой.
66
Для параболических и гиперболических задач можно задать условия в начальный момент времени и исследовать решение в любой момент времени. Для гиперболических задач
можно задать член, отвечающий за затухание.
Решатель задач на собственные значения возвращает
собственные значения и собственные вектора. Пользователь
может задать интервал для поиска собственных значений на
этом интервале.
Визуализация решения и постпроцессорная обработка
PDE Toolbox позволяет визуализировать решение путём
создания поверхностных рисунков, таких как контурные рисунки или пользовательские рисунки, такие как распределение
исследуемой величины в секущих плоскостях.
Поверхностные рисунки
PDE Toolbox позволяет показывать распределение исследуемой величины по поверхности области в 3D.
Графики для нестационарных задач
Имеются средства для визуализации изменения исследуемых величин во времени.
Пользовательские графики
При помощи средств кода можно создавать свои собственные рисунки.
В 2D-случае для визуализации результатов можно воспользоваться средствами, имеющимися в рабочем окне для построения поверхностных и контурных графиков, а также визуализации сетки. Для параболических и гиперболических типов задач возможно создание анимации, показывающей, как
меняется решение во времени.
Кроме того, при помощи средств PDE Toolbox можно
получить значение решения, его градиента или тезорного произведения ⊗ ∇ в любой точке области.
Отдельно стоит отметить Simulink – продукт, представляющий собой интерактивную графическую среду для имитационного моделирования и проектирования на основе моде67
лей. Поддерживает операции проектирования на системном
уровне, моделирования, автоматической генерации кода и непрерывного тестирования и проверки встроенных систем. Simulink состоит из графического редактора, настраиваемых
библиотек блоков, и решателей для моделирования и имитации динамических систем. Simulink полностью интегрирован с
MATLAB, что позволяет включать алгоритмы MATLAB в
Simulink-модели и наоборот, экспортировать результаты, полученные в Simulink, в MATLAB для дальнейшего анализа.
Ниже кратко приведены основные особенности Simulink:
 Графический редактор для построения и управления
иерархическими блок-диаграммами;
 Библиотеки готовых блоков для моделирования непрерывных и дискретных по времени систем;
 Механизм имитации на основе решателей обыкновенных дифференциальных уравнений с фиксированным и переменным шагом;
 Средства визуализации данных для наглядного представления результатов;
 Средства для управления проектами и данными;
 Средства анализа модели для усовершенствования архитектуры моделей и увеличения скорости имитации;
 Функциональный блок MATLAB для импорта алгоритмов MATLAB;
 Средства для импорта C/C++ кода.
В последней на сегодняшний день версии MATLAB
(версия R2017a, выпущена 8 марта 2017 г.) представлены следующие изменения:
Scilab – это свободно распространяемый пакет прикладных программ для математических расчётов, представляющий
мощную вычислительную среду для инженерных и научных
применений [25]. Scilab содержит множество математических
функций для решения широкого спектра задач, а также имеет
свой язык программирования высокого уровня. Для выполнения задач можно воспользоваться как командным окном
68
Scilab, так и редактором, позволяющим создавать и редактировать скрипт-файлы.
Среди функциональных возможностей Scilab выделяются
следующие:
 Математические операции и моделирование: элементарные математические функции, функции линейной алгебры,
действия с разреженными матрицами, действия над многочленами и рациональными функциями и моделирование – явные и
неявные решатели систем дифференциальных уравнений.
 Функции для 2D и 3D визуализации результатов: линейные графики, круговые диаграммы, гистограммы, поверхности, анимация, а также функции для экспорта графических
данных в различных форматах.
 Оптимизация – функции для решения непрерывных и
дискретных задач с ограничениями и без них: нелинейная оптимизация, квадратичная оптимизация, нелинейная оптимизация методом наименьших квадратов, полуопределённое программирование, генетические алгоритмы, имитация отжига,
линейные матричные неравенства.
 Статистика – описательная статистика, распределения
вероятности, линейное и нелинейное моделирование.
 Разработка и анализ систем управления: передаточные
функции, классическое и робастное управления, анализ устойчивости.
 Обработка сигналов: генерирование сигнала, обработка
данных методом окон, оценка спектральной плотности, разработка цифровых БИХ и КИХ фильтров, разработка аналоговых
фильтров, трансформация сигналов, включая быстрое преобразование Фурье.
 Разработка приложений: расширенные структуры данных и пользовательские типы данных, пользовательский интерфейс, программный интерфейс приложения, совместимый с
C, C++, Java. Также существует возможность управления обменом данных с внешними источниками: чтение и запись бинар69
ных MATLAB-файлов, преобразование MATLAB M-файлов в
Scilab-файлы, связь с Excel.
Xcos – графический редактор для моделирования гибридных динамических систем. Состоит из трёх основных частей. Первая часть – браузер палитры блоков, в котором представлены блоки, которые формируют конечную модель. Блоки
сгруппированы по категориям: блоки обработки сигналов,
блоки математических операций, блоки непрерывных и дискретных систем, пользовательские блоки и т.д. Вторая часть –
редактор, в котором блоки соединяются в единую динамическую систему, которая подлежит решению. Третья часть –
компилятор/моделирующее устройство, позволяющее моделировать сложные системы: дискретные, непрерывные, определяемые символьными уравнениями и т.д., а также гибридные
системы. Также, можно в реальном времени следить за данными, полученными в результате моделирования, при помощи
их графического представления.
Последней на сегодняшний день (июль 2017 г.) версией
Scilab является версия Scilab 6.0.0 (выпущена 17.02.2017).
Maxima – система компьютерной алгебры, являющаяся
преемницей системы Macsyma, которая разрабатывалась с
1968-го по 1982-й годы в Массачусетском технологическом
институте [22]. Впоследствии Macsyma оказала влияние на
многие другие системы, такие, как Mathematica и Maple. Позволяет выполнять широкий класс операций над числовыми и
символьными выражениями: дифференцирование, вычисление
пределов, аналитическое нахождение интегралов, операции со
степенными рядами и рядами Фурье, преобразования Лапласа,
решение систем линейных уравнений, решение обыкновенных
дифференциальных уравнений, работа с многочленами, множествами, списками, векторами, и матрицами и тензорами, работа с элементарными (в том числе логарифмическими, экспоненциальными, тригонометрическими) и специальными функциями, решение интегральных уравнений, а также позволяет
решать задачи из области теории чисел и теории групп. Maxima
70
выполняет высокоточные численные расчёты, используя точные дроби, целые числа произвольной точности и числа с плавающей точкой переменной точности. Maxima позволяет строить графики функций и визуализировать данные, используя
двумерные и трёхмерные графики. Среди достоинств также
стоит отметить возможность свободного использования, сравнительно небольшой размер программы (около 80 МБ со всеми расширениями), возможность работы как с консольной
версией, так и с помощью графических интерфейсов (например, wxMaxima, предоставляющий графический вывод формул, ввод наиболее распространённых функций через диалоговые окна, а также разделение окна ввода формул и окна вывода результатов). Последней на данный момент является версия
5.40.0 (вышла 30 мая 2017 г.).
3.2. Мультифизические системы
конечно-элементного анализа
Ядро системы COMSOL Multiphysics образуют программы, реализующие алгоритмы конечно-элементной дискретизации и численного решения систем дифференциальных уравнений в частных производных (ДУЧП) в многомерных (1D, 2D и
3D) и многосвязных областях сложной формы [10]. Эти уравнения могут быть заданы в коэффициентной, обобщенной и слабой (проекционной) формах, а также в виде их комбинаций.
При решении линейных или почти линейных уравнений
в ограниченной области Ω используется коэффициентная
форма их записи
+
+
−
+
−
+
+
+
=
с граничными условиями Дирихле и Неймана (обобщёнными)
ℎ
=
71
,
−
−
−
+
+
=
−ℎ
,
и начальными условиями
( )=
( )
,
= ̇ .
В этих уравнениях многоиндексные коэффициенты e, d,
c, α, β, γ, a, f, h, q, r, g являются комплекснозначными функциями пространственных координат, времени, искомых скалярных полей u и их пространственных производных (за исключением h, q, r, g), nj – внешняя нормаль к границе. Неизвестная вектор-функция µ, называемая множителем Лагранжа,
вводится для согласования условий Дирихле и Неймана при их
одновременном задании на одном и том же участке границы
области. Заданные начальные значения скалярных полей могут
зависеть только от пространственных координат. Индексы
l, k = 1, … , N; i, j = 1, … , n (n = 1, 2, 3); m = 1, … , M ≤ N. По
одинаковым индексам в произведениях осуществляется суммирование в указанных пределах.
Также возможно использование модифицированных дифференциальных уравнений в коэффициентной форме. Модификация заключается в добавлении членов, содержащих производную решения по времени. Так, в оригинальные дифференциальные уравнения в коэффициентной форме входит один
член, содержащий производную решения по времени,
(здесь и далее для простоты используется скалярное решение),
где индекс в коэффициенте
обозначает аналогию слагаемого
со слагаемым
, т.е. вместо решения используется
первая производная решения по времени. По аналогии можно
ввести дополнительные члены с коэффициентами
, ,
( – скаляр, ,
– векторы (n  1), где n – размерность геометрии задачи), аналогичными членам ∇ ∙ (− ∇ ), ∇ ∙ (− ),
∙∇
соответственно. Таким образом, дифференциальное
уравнение примет вид:
72
−∇ ∙
∇
+
+
∙∇
+ ∇ ∙ (− ∇ + ⋯ ).
+
Дополнительные слагаемые недоступны для явного задания в интерфейсе PDE, Coefficient Form, поэтому их учёт осуществляется посредством модификации коэффициентов и .
В одномерном случае модифицированные коэффициенты
имеют вид:
=−
−
+ ,
=−
+ .
В случае 2D геометрии имеем:
=−
−
+
=−
,
=−
−
−
+
,
+ .
Коэффициенты ,
,
,
,
,
,
задаются
пользователем.
Аналогичным образом можно ввести слагаемые, содержащие вторую производную решения по времени в дополнение к существующему члену
.
Также производные решения по времени добавляются в
граничное условие Неймана:
∙ ( ∇ + ⋯) +
+
+
=
−ℎ
,
где индекс обозначает аналогию со слагаемым .
Учёт дополнительных членов осуществляется посредством модификации коэффициента :
=
где
,
−
−
задаются пользователем.
73
,
В случае нелинейных задач применяется обобщенная
форма
+
− Γ =
+
Γ
+
=
,
,
= 0,
где
Γ =−
=
−
−
+
−
=
−
=
−ℎ
,
,
,
.
Правую часть дифференциальных уравнений в частных
производных в коэффициентной и общей форме ( и соответственно) можно задавать не только в областях, но и дополнительно на границах (Boundary Source), на рёбрах в 3D геометриях (Edge Source), и точках (Point Source).
Члены, содержащие множители Лагранжа, −
в коэффициентной форме и
в общей форме имеют свой физический смысл. В задачах, связанных с механикой конструкций они обозначают силу реакции связей.
Перед тем, как перейти к решению системы дифференциальных уравнений, записанных в общей или коэффициентной форме, COMSOL автоматически переводит эти уравнения
в слабую форму, которая в общем виде для трёхмерной задачи
записывается следующим образом:
74
0=
( )
−
(
)
+
( )
−
(
)
+
( )
−
(
)
+
( )
−
(
)
( )
−
( )
( )
−
( )
−
( )
−
( )
0=
( )
−
( )
( )
0=
+
( )
−
,
в областях Ω,
на поверхностях ,
0=
( )
0=
( )
на рёбрах ,
в точках ,
где
– набор тестовых функций, число которых совпадает с
размерностью решения, подынтегральные скалярные функции
( )
, ( ) включают в себя решение
, … , , соответствующие тестовые функции , … ,
и их производные. Переход от коэффициентов уравнений в общей форме к этим функциям осуществляется по формулам:
( )
=
(
)
(
+
( )
+
=
(
+
)
=
+
75
(
)
)
,
,
,
( )
=
,
где = 0, 1, 2, 3 – обозначение геометрического уровня, на котором задаются соответствующие условия: 0 – в точках, 1 – на
рёбрах, 2 – на поверхностях, 3 – в областях. Слагаемые
–
это члены, записанные в слабой форме при помощи условия
Weak Contribution (см. ниже) на соответствующем геометрическом уровне. Если вместо обычных уравнений связи используются уравнения связи, записанные в слабой форме (см. ниже
( )
Weak Constraint), то уравнения 0 =
поменяются на
( )
0=∫
, где
– набор тестовых функций для множителей Лагранжа, – геометрический уровень, по которому
осуществляется интегрирование – область, поверхность, ребро.
В случае точек интеграл меняется на сумму.
Кроме уравнений в коэффициентной, общей и слабой
формах, а также граничных условий типа Дирихле и Неймана,
в математическом интерфейсе COMSOL Multiphysics есть возможность задания дополнительных уравнений на различных
геометрических уровнях при помощи следующих функций:
– Constraint – граничное условие, накладывающее связь
вида = . По умолчанию используется двусторонняя связь
(Bidirectional, symmetric), т.е. сила реакции связи вычисляется
непосредственно из уравнения связи по формуле
, но
также можно использовать и одностороннюю связь (Unidirectional), которая отличается тем, что сила реакции связи вычисляется независимо от как − Ω , где Ω – тождественный
оператор для точек на границе Ω. Также представляется возможность использования уравнения связи в слабой форме (см.
Weak Constraint) вместо уравнения в обычной форме.
– Weak Contribution – задание дифференциальных уравнений в слабой форме на любом геометрическом уровне – в
точках, на рёбрах, на поверхностях и в областях. Возможно
использование как переменных, участвующих в модели, так и
76
новых переменных. Новые переменные определяются в узле
Auxiliary Dependent Variable.
– Weak Contribution on Mesh Boundaries – функция, похожая на Weak Contribution, с той разницей, что данная функция определена только на высшем геометрическом уровне (т.е.
в области) на границах элементов сетки.
– Pointwise Constraint – дискретизация уравнений связей
производится таким образом, что уравнения связей вида = 0
осуществляется (при использовании Лагранжевых элементов)
в Лагранжевых точках (см. Лагранжевы конечные элементы),
отсюда и название. Тип связи может быть как двусторонним
(при этом пользователь задаёт лишь уравнения связи), так и
пользовательским (User defined) (помимо уравнения связи задаётся также выражение для силы реакции связи). Также необходимо задать тип и порядок элементов для дискретизации
уравнений связей. Данное условие доступно для задания на
всех геометрических уровнях.
– Weak Constraint – отличие этого условия от условия
Pointwise Constraint заключается в том, что множители Лагранжа рассматриваются как дополнительные переменные, поэтому для них создаются свои базисные и тестовые функции.
Уравнение связи в этом случае примет вид:
= 0,
Ω
где
– набор тестовых функций для множителей Лагранжа.
Аналогичным образом уравнения связи задаются и на поверхностях (на рёбрах в 2D), на рёбрах (в 3D) и в точках (в этом
случае вместо интеграла берётся сумма). Данное условие
предпочтительно для применения в случае нелинейных связей,
либо когда пользователю нужно знать значение множителей
Лагранжа.
Существует также набор интерфейсов, содержащих шаблоны для наиболее широко распространённых дифференциальных уравнений в частных производных, таких, как уравне77
ние Лапласа, уравнение Пуассона, волновое уравнение, уравнение Гельмгольца, уравнение теплопроводности и уравнение
конвективной диффузии.
Помимо интерфейсов, позволяющих определить дифференциальные уравнения в частных производных в коэффициентной, общей или слабой форме на высшем геометрическом
уровне (т.е. в областях), существуют интерфейсы для задания
уравнений в коэффициентной, общей и слабой формах на более низких уровнях, т.е. если задача решается в 3D-геометрии,
то доступны интерфейсы для задания уравнений на поверхностях, рёбрах и в точках. Функционал каждого из интерфейсов в
точности повторяет функционал интерфейсов, отвечающих за
задание уравнений на высшем геометрическом уровне, т.е. если в 3D-геометрии выбран один из интерфейсов, позволяющий
задать дифференциальные уравнения в частных производных
на поверхности, то его функционал будет включать задание на
поверхности уравнения в коэффициентной, общей или слабой
форме, задание стандартных граничных условий на рёбрах
(Дирихле, Неймана или условие связи (Constraint)), а также условий Weak Contribution, Pointwise Constraint, Weak Constraint
и правой части дифференциальных уравнений (Source) на поверхностях, рёбрах и в точках.
Наконец, можно задавать условия на соседних границах,
объединённых в пары. Создание пар возможно в случае, когда
геометрия представляет собой совокупность объектов (т.е. при
создании геометрии не применяется функция объединения).
Использование пар, таким образом, позволяет связать границы, принадлежащие разным объектам геометрии. Существует
два типа пар:
– тождественные пары (Identity Pairs) – используются,
когда у двух объектов геометрии имеется общие границы. Те
границы, части которых являются общими для двух объектов,
объединяются в пары;
– контактные пары (Contact Pairs) – используются, когда
границы объектов приходят в контакт, но в то же время не
78
проникают друг в друга при деформации. В рамках базового
модуля использование данного типа пар возможно только при
наличии лицензии на модуль «Механика конструкций» или
MEMS-модуль.
При использовании функционала Identity Pairs можно
применять все основные типы граничных условий. По умолчанию на границах, объединённых в пары, задаётся условие непрерывности (Continuity), обеспечивающее непрерывность полей переменных при переходе через границы, объединённые в
пару. Также на границах, объединённых в пары, возможно задание условий Дирихле, Неймана, уравнения связи, а также
условий Pointwise Constraint и Weak Contribution. Те же условия можно задавать и на тех частях границы, которые объединены в пары, но не являются общими для двух объектов геометрии.
Помимо решений ДУЧП в областях, определяемых пользователем, имеется возможность решать системы обыкновенных дифференциальных уравнений второго порядка как в 1D,
2D, 3D геометриях, так и в 0D-геометрии. Общий вид системы
выглядит следующим образом:
( , ̇ , ̈ , ) = 0,
где ̇ – производная функции-решения по времени. Если
функция зависит только от , то уравнение (1.14) сводится к
алгебраическому.
Вид функции , а также начальные условия ( ), ̇ ( )
задаются пользователем. Количество уравнений в системе
строго не ограничено. Систему уравнений данного вида можно
определить при помощи интерфейса Global ODEs and DAEs
или выбора свойства Global Equations в любом из PDEинтерфейсов. Термин Global означает, что данные уравнения и
переменные, входящие в уравнения, действительны во всём
COMSOL-файле, т.е. во всех моделях, входящих в файл. Помимо глобальных уравнений можно глобально задавать уравнения связей (Global Constraint) и уравнения, записанные в
слабой форме (Weak Contribution).
79
Также задание обыкновенных дифференциальных уравнений или алгебраических уравнений может осуществляться
непосредственно в модели на разных геометрических уровнях:
в областях (Domain ODEs and DAEs), на границах области
(Boundary ODEs and DAEs), на рёбрах в 3D (Edge ODEs and
DAEs) и в точках (Point ODEs and DAEs). Каждый из этих интерфейсов содержит функции для задания системы обыкновенных дифференциальных уравнений второго порядка вида
(Distributed ODEs):
+
=
и системы алгебраических уравнений (Algebraic Equation):
= .
Каждый из вышеуказанных интерфейсов позволяет также задать условия Weak Contribution, Pointwise Constraint,
Weak Constraint на всех геометрических уровнях не выше того,
на котором определён данный интерфейс.
Помимо интерфейсов, отвечающих за решение дифференциальных уравнений в частных производных, обыкновенных дифференциальных и алгебраических уравнений, в группу
математических интерфейсов входит интерфейс, предназначенный для расчёта расстояния до стенок при исследовании
течения жидкости при помощи модифицированного уравнения
эйконала (Wall Distance), интерфейсы, реализующие подход
Лагранжа-Эйлера для изучения физических процессов в подвижной системе координат (Deformed Geometry, Moving
Mesh), а также вспомогательный интерфейс, позволяющий
изучить чувствительность указанной величины к изменениям
параметров, входящих в модель (Sensivity).
В результате конечно-элементной дискретизации система
ДУЧП заменяется системой алгебраических уравнений большой размерности, которая численно решается прямыми
(MUMPS, PARDISO, SPOOLES, TAUCS, UMFPACK) или ите80
рационными методами (BiCGStab, CG, FGMRES, GMRES,
GMG).
MUMPS (MUltiftontal Massively Parallel sparse direct Solver) – решает разреженную систему линейных уравнений общего вида
= . Для решения используется LU-разложение
матрицы
( – треугольная,
– ортогональная). Содержит
предобусловленные алгоритмы перестановки столбцов матрицы , так, чтобы множители в разложении имели как можно
меньше ненулевых элементов. Имеет функции использования
внешней памяти, т.е. множители разложения сохраняются на
жёсткий диск. Это разгружает внутреннюю память, но занимает больше времени, так как необходимо дополнительное время
для записи на диск и считывания с него. В версии 4.2 этот решатель является решателем по умолчанию. В более ранних
версиях (3.5) он отсутствует.
PARDISO (PARallel sparse DIrect Solver) – отличие этого
решателя от предыдущего заключается в том, что для улучшения выполнения матричного разложения, алгоритм решателя
использует BLAS (Basic Linear Algebra Subprogram) 3 уровня.
Также, имеется алгоритм для избежания поиска главного элемента матрицы. Так же, как и в предыдущем решателе, имеется функция использования внешней памяти. В версии 3.5 такой функции не было, вместо этого вводился ещё один тип
решателя, PARDISO out-of-core.
SPOOLES (SParse Object Oriented Linear Equations Solver)
– решает разреженную систему линейных уравнений общего
вида
= с помощью мультифронтального метода и прямого LU-разложения матрицы . Когда матрица симметричная
или эрмитова, то используется
-разложение, что позволяет экономить половину памяти.
UMFPACK (Unsymmetric MultiFrontal solver) – решает
разреженную систему линейных уравнений общего вида
= . Для решения используется несимметричный мультифронтальный метод и LU-разложение матрицы . Алгоритм решателя использует BLAS 3-го уровня. Так же, как и предыду81
щие решатели, содержит алгоритмы для перемещения столбцов исходной матрицы для минимализации ненулевых элементов в матрицах-множителях. Используется для решения несимметричных систем. В версии 3.5 является решателем по
умолчанию, в 4.2 данный решатель отсутствует.
TAUCS Cholesky – решает разреженную систему линейных уравнений общего вида
= , где – положительно определённая симметричная матрица. Для решения используется
мультифронтальное разложение Холецкого. Алгоритм решателя использует BLAS 3-го уровня. Так же, как и предыдущие
решатели, содержит алгоритмы для перемещения столбцов исходной матрицы для минимализации ненулевых элементов в
матрицах-множителях. Используется для решения несимметричных систем. В версии 4.2 данный решатель отсутствует.
Если в версии 3.5 при использовании решателя
UMFPACK заканчивается память или процесс факторизации
матрицы замедляется, то следует воспользоваться решателем
SPOOLES. Он использует меньше памяти, но менее устойчив и
медленнее сходится. Если система симметричная, комплексносимметричная или эрмитова, то лучше воспользоваться решателями PARDISO или SPOOLES, которые хранят только часть
матрицы выше главной диагонали и, соответственно требуют в
2 раза меньше памяти. Если система к тому же положительно
определена, можно также воспользоваться решателем TAUCS
Cholesky.
Если же это не помогает и при решении прямым решателем не хватает памяти или же решение сходится слишком
медленно, следует воспользоваться итерационными решателями.
GMRES (Generalized Minimum RESidual) – итерационный
метод для решения системы общего вида
= . Для корректной работы необходимо задать число итераций, которые
решатель делает перед перезапуском. Чем большее число итераций задано, тем более устойчивой будет задача. С другой
стороны, это увеличивает потребление памяти и время счёта.
82
FGMRES (Flexible Generalized Minimum RESidual) – итерационный метод для решения системы общего вида
= .
Является усовершенствованной версией решателя GMRES, так
как позволяет задать более широкий класс предобуславливателей. Так, в качестве предобуславливателя можно задать любой
итерационный решатель. Как следствие, этот решатель более
устойчив, но требует примерно в 2 раза больше памяти, чем
решатель GMRES при одинаковом числе итераций перед запуском.
Conjugate gradients – итерационный метод сопряжённых
градиентов. Решает систему уравнений вида
= , где – положительно определённая симметричная или эрмитова матрица.
Иногда этот решатель работает в случае, если матрица не является положительно определённой, особенно если она близка к
положительно определённой. Данный решатель занимает меньше всего памяти и является самым быстрым из итерационных
решателей, но область его применимости сильно ограничена.
BiCGStab (BiConjugate Gradient Stabilized) – обобщённый
стабилизированный метод бисопряжённых градиентов. В отличие от сопряжённых градиентов решает систему
= для
любого вида матрицы . Время, потраченное на одну итерацию в этом решателе постоянное. Объём памяти, требуемый
при решении задач при помощи этого решателя примерно равен объёму памяти, требуемому на 2 итерации при решении
решателем GMRES, т.е. в большинстве случаев данный решатель требует меньше памяти, чем GMRES. Недостатками этого
решателя по сравнению с GMRES является тот факт, что промежуточные невязки могут быть того же порядка, что и начальные или даже превосходить их, что в конечном счёте может сказаться на точности и скорости сходимости.
Если система положительно определена и симметрична
(или эрмитова), то следует воспользоваться решателем Conjugate gradients, который требует меньше памяти и в некоторых
случаях быстрее, чем остальные итерационные решатели.
Кроме того, в этом случае можно применить решатель
83
SPOOLES, который требует меньше памяти, но менее устойчив и более медленный.
При решении задач физического характера в рамках базового модуля можно использовать два подхода: математический и физико-математический.
В первом случае необходимо самостоятельно выбрать
форму записи и тип решаемой задачи из списка:
 стационарная;
 нестационарная;
 на собственные значения.
Затем задать коэффициенты в уравнениях, граничные,
начальные и другие дополнительные условия.
При физико-математическом подходе предлагаются проблемно-ориентированные интерфейсы для решения краевых
задач из следующих разделов физики:
– акустика (2D, 3D);
– электростатика (2D, 3D) и магнитостатика (2D);
– электрическое поле постоянного тока в проводящей
среде (2D, 3D);
– квазистационарное электромагнитное поле (2D);
– конвекция и диффузия (1D, 2D, 3D);
– распространение тепла (1D, 2D, 3D);
– динамика несжимаемой жидкости (2D, 3D);
– механика деформируемых тел (2D, 3D).
Большим достоинством COMSOL Multiphysics является
возможность произвольно сочетать любое количество нелинейных физических процессов. При этом задачи из различных
областей решаются одновременно в одной модели, а не последовательно, что ведет к ускорению процесса моделирования и,
что более важно, улучшает сходимость. Однако это приводит к
существенному увеличению числа степеней свободы (несколько миллионов и более) дискретной конечно-элементной модели исследуемого явления и к необходимости использования
компьютерных кластеров (поддерживается в последних версиях COMSOL Multiphysics).
84
В состав базового модуля входит достаточно мощный
геометрический моделлер, позволяющий создавать области
самых разных форм. Любую геометрию можно создать, используя геометрические примитивы, представленные в
COMSOL Multiphysics.
В 1D-геометрии это точка (определяется путём задания
координат, в случае если необходимо получить несколько точек, координаты задаются через запятую или пробел) и отрезок (определяется путём задания координат левого и правого
концов отрезка, в случае если необходимо получить несколько
отрезков, координаты концов задаются через запятую или
пробел).
В 2D-геометрии возможно задание следующих примитивов:
 ломаная Безье – ломаная, звенья которой – кривые Безье первого, второго и третьего порядков. Для каждого из
звеньев необходимо задать 2, 3 и 4 контрольные точки соответственно и соответствующие веса. Можно создавать как открытую, так и замкнутую ломаную, либо твёрдое тело, границей которого является ломаная;
 окружность – задаётся либо окружность (путём выбора
тип-кривая) или круг (путём выбора тип-твёрдое тело) с заданным радиусом, координатами базовой точки – центра или
левого нижнего угла квадрата, описывающего круг, и секторным углом. Последняя опция позволяет задавать круг с вырезом, соответствующим секторному углу, равному дополнению
заданного угла до полного угла. Также можно задавать угол
вращения круга вокруг базовой точки;
 эллипс – аналогично окружности, только в этом случае
вместо радиуса задаются большая и малая полуоси эллипса;
 параметрическая кривая – задаётся параметрическая
кривая путём задания параметра, пределов его изменения и
выражения координат через этот параметр. Начало координат
может быть перенесено в любую точку с указанными координатами. Также возможно вращение кривой вокруг этой точки.
85
COMSOL получает вид кривой путём интерполяции Bсплайнами. Число узлов интерполяции ограничивается либо
задаваемой пользователем относительной точности, либо путём задания максимального числа узлов;
 точка;
 ломаная – упрощённый вариант примитива «ломаная
Безье». Все звенья в данном случае являются отрезками. Задаётся путём задания координат вершин ломаной;
 прямоугольник – задаётся прямоугольник (если выбрано тип-твёрдое тело) или его граница (если выбрано типкривая). Задаваемые параметры – ширина и высота, координаты базовой точки (центра или левого нижнего угла) и угол
вращения относительно базовой точки;
 квадрат – аналогично прямоугольнику, только в данном случае задаётся только одна сторона квадрата.
В 3D-геометрии задаются следующие примитивы:
 ломаная Безье – отличается от двумерного случая невозможностью задать твёрдое тело, ограниченное ломаной;
 параллелепипед - задаётся параллелепипед (если выбрано тип-твёрдое тело) или его граница (если выбрано типповерхность). Задаваемые параметры – длина, ширина и высота, базовая точка – вершина с наименьшими координатами или
центр, орт оси, параллельной высоте параллелепипеда (здесь и
далее орт оси можно задавать как в декартовых, так и в сферических координатах), а также угол вращения параллелепипеда
вокруг этой оси;
 конус – задаётся конус или усечённый конус (если выбрано тип-твёрдое тело) или его граница (если выбрано типповерхность). Задаваемые параметры – радиус основания, высота, угол между образующей и высотой (либо радиус верхнего сечения), координаты центра основания, орт оси конуса и
угол вращения конуса вокруг его оси;
 цилиндр – задаётся цилиндр (если выбрано тип-твёрдое
тело) или его граница (если выбрано тип-поверхность). Задаваемые параметры – радиус основания, высота, координаты
86
центра основания, орт оси цилиндра и угол вращения цилиндра вокруг его оси;
 наклонный конус – задаётся наклонный конус или усечённый конус с эллиптическим основанием (если выбрано типтвёрдое тело) или его граница (если выбрано типповерхность). Задаются большая и малая полуоси эллипса –
основания конуса, центр основания, высота конуса, отношение
периметра вершины и основания и смещение вершины (в случае усечённого конуса смещение центра эллипса) в плоскости,
параллельной основанию вдоль двух осей, связанных с основанием, орт оси конуса, перпендикулярной основанию и угол
вращения конуса вокруг этой оси;
 эллипсоид – задаётся эллипсоид (если выбрано типтвёрдое тело) или его граница (если выбрано типповерхность). Задаются три полуоси эллипсоида, его центр,
орт оси, параллельной третьей полуоси эллипсоида и угол
вращения эллипсоида вокруг этой оси;
 спираль – задаётся спираль (если выбрано тип-твёрдое
тело) или её граница (если выбрано тип-поверхность). Задаваемые параметры спирали – число витков, 2 радиуса – большой (расстояние от оси спирали до центра круга – сечения
спирали в первом витке) и малый (радиус сечения спирали),
осевой шаг спирали (расстояние между соответствующими
точками соседних витков), радиальный шаг спирали (разность
радиусов соседних витков), хиральность – направление закручивания спирали (по правилу правого или левого винта), геометрия концов спирали – параллельно оси спирали, перпендикулярно оси спирали или перпендикулярно сердцевине спирали. Также необходимо задать орт оси спирали и угол вращения
вокруг этой оси и координаты центра первого витка. Геометрическое представление спирали в COMSOL Multiphysics задаётся
двумя способами: при помощи кривых Безье и при помощи
сплайнов. Разница состоит в том, что при представлении спирали посредством кривых Безье края, являющиеся пересечением
поверхностей, формирующих спираль, являются видимыми, в
87
то время как при представлении сплайнами они невидимы.
Также необходимо задать относительную точность, характеризующую точность геометрического представления спирали;
 шестигранник – задаётся шестигранник (если выбрано
тип-твёрдое тело) или его граница (если выбрано тип-поверхность) путём задания координат всех восьми вершин фигуры;
 параметрическая кривая – аналогично 2D-случаю,
только в 3D для определения вращения кривой необходимо
задать ещё и орт оси вращения;
 параметрическая поверхность – задание осуществляется таким же образом, как и в случае параметрической кривой в
3D с тем отличием, что в поверхность параметризуется при
помощи двух параметров;
 точка;
 ломаная – отличается от двумерного случая невозможностью задать твёрдое тело, ограниченное ломаной;
 пирамида – задаётся прямоугольная пирамида или усечённая пирамида (если выбрано тип-твёрдое тело) или её граница (если выбрано тип-поверхность). Задаваемые параметры
– стороны прямоугольника-основания, координаты его центра,
высота пирамиды, отношение периметра вершин к периметру
основания, смещение вершины относительно центра основания (в случае усечённой вершины смещение центра верхнего
прямоугольника) вдоль двух осей, связанных с основанием.
Задаётся также орт оси, перпендикулярной основанию пирамиды и угол вращения пирамиды вокруг этой оси;
 сфера/шар – задаётся либо сфера (путём выбора типповерхность) или шар (путём выбора тип-твёрдое тело). Задаваемые параметры – координаты центра, радиус, орт третьей
оси системы координат, жёстко связанной со сферой, и угол
вращения сферы вокруг этой оси;
 тетраэдр – задаётся тетраэдр (если выбрано типтвёрдое тело) или его граница (если выбрано тип-поверхность)
путём задания координат четырёх его вершин;
88
 тор – задаётся тетраэдр (если выбрано тип-твёрдое тело) или его граница (если выбрано тип-поверхность). Задаваемые параметры – большой радиус (расстояние от центра тора
до центра круга, являющегося сечением тора перпендикулярной плоскостью), малый радиус (радиус круга-сечения), угол
вращения (угол вращения сечения тора вокруг его оси), центр
тора, орт оси вращения тора и угол его вращения вокруг оси.
Для создания из примитивов объектов более сложных
форм в COMSOL применяются различные геометрические
операции.
Например, в 3D-геометрию можно создавать, используя
рабочую плоскость. Рабочая плоскость определяется пользователем, существует несколько способов её задания. После создания рабочей плоскости в ней создаётся 2D-геометрия, которая превращается в 3D путём операций вытягивания и вращения. По умолчанию вытягивание происходит в направлении,
перпендикулярном рабочей плоскости на заданное расстояние
(так, например, из прямоугольника получается параллелепипед, из круга – цилиндр и т.д.). Для создания более сложных
объектов при вытягивании можно производить масштабирование, смещение или вращение. Вращение позволяет создавать
поверхности вращения из 2D-объектов. Для этого необходимо
задать вращаемый объект, ось вращения (точку на оси и орт
оси), а также угол вращения вокруг этой оси.
Для создания композитных объектов используются булевы операции, такие, как вычитание (позволяет вырезать из одного объекта другой), пересечение (позволяет создавать объект, являющийся пересечением двух фигур), объединение.
Также можно вручную записать формулу для создания нужной
фигуры, используя вышеупомянутые операции.
Для линейных трансформаций объектов используются
такие операции, как массив (создаётся одномерный, двумерный или трёхмерный массив объектов, путём копий выбранного объекта с заданными смещениями), копирование (создаются
копии исходного объекта, смещённые относительно исходного
89
на заданные расстояния), зеркальное отражение (задаётся отражаемый объект, нормаль к плоскости(3D)/линии(2D) симметрии и точка, принадлежащая плоскости/линии симметрии;
в 1D задаётся координата точки, относительно которой происходит отражение), перемещение (отличается от копирования
тем, что исходный объект не сохраняется), вращение (исходный заданный объект поворачивается вокруг оси, которая задаётся путём задания орта оси и точки на ней (3D) и только
орта в 2D) на заданный угол; можно задать сколько угодно углов поворота для создания необходимого количества копий) и
масштабирование (исходный объект расширяется или сжимается относительно неподвижной точки с заданными координатами; масштабирование может быть как изотропным (масштабный коэффициент одинаков для всех осей), так и анизотропным
(масштабные коэффициенты для разных осей различны)).
Ещё одним видом геометрических операций являются
трансформации объектов. Существуют 4 вида преобразований:
преобразование в твёрдое тело (из поверхности в 3D или из
кривой в 2D), преобразование в поверхность (только для 3D из
твёрдого тела), преобразование в кривую (из твёрдого тела в
2D, из поверхности или из твёрдого тела в 3D), преобразование в набор точек.
Среди остальных операций можно выделить обрезание
углов (в 2D), сглаживание углов (в 2D), модификация объекта
(модификация кривых и точек в 2D-геометрии), удаление областей, поверхностей (3D), кривых или точек, разделение объекта на соответствующие части и проведение касательных к
кривым в 2D.
Помимо геометрического моделлера, в COMSOL Multiphysics входит мощный конечно-элементный разбивщик.
В 1D-геометриях области, представляющие собой отрезки, разбиваются на подобласти (подотрезки). Каждый подотрезок называется элементом разбиения, его границы называются
точками разбиения, а точки, являющиеся границами большого
отрезка, называются граничными элементами (или точечными
элементами).
90
В 2D-геометриях области разбиваются на два вида элементов – треугольники и четырёхугольники. Их стороны называются сторонами разбиения, а вершины – точками разбиения.
Если граница области искривлена, то она аппроксимируется в
виде многоугольника, состоящего из близлежащих к границе
сторон элементов разбиения. Такие стороны называются граничными или краевыми элементами. Граничные элементы
смежных областей на общей границе должны совпадать. Точки
в 2D-геометриях также представлены точечными элементами.
В 3D-геометриях элементами разбиения являются следующие виды элементов: тетраэдры, призмы, шестигранники и
пирамиды. Непосредственно при разбиении 3D объектов пользователю доступны только тетраэдры, остальные типы получаются путём различных операций над разбиением. Поверхности в 3D состоят из набора треугольников или четырёхугольников, которые являются граничными элементами, края – из
краевых элементов (аналогично 2D-случаю), точки – из точечных элементов.
Существует 2 способа разбиения области на элементы:
 физический – разбивщик сам определяет размер элементов в соответствии с исследуемыми физическими явлениями. Так, в местах, в которых поведение исследуемого объекта
представляет особый интерес (например, на границе трубы, по
которой течёт жидкость), разбиение мельче, чем в остальных
частях геометрии. Средний размер элементов разбиения в этом
случае определяется одним из девяти режимов, заложенных в
COMSOL (с самого мелкого до самого грубого разбиения): Extremely fine, extra fine, finer, fine, normal, coarse, coarser, extra
coarse, extremely coarse;
 пользовательский – возможность пользователю задавать параметры разбиения.
Также виды разбиения можно подразделить на неструктурированное (свободное) и структурированное.
При создании свободного разбиения в 2D необходимо
выбрать вид элементов (треугольники или четырёхугольники),
задать размер элементов – либо выбрать из девяти вышеупо91
мянутых режимов, либо задать размер элементов вручную, задавая соответствующие параметры: максимальный размер
элемента, минимальный размер элемента, максимальная скорость роста элементов (показывает максимальную скорость, с
которой растёт размер элементов, т.е. максимальное из возможных отношений размеров элементов сетки), отношение
максимального размера граничных элементов к радиусу кривизны границы и число слоёв из элементов разбиения в узких
частях геометрии. Также можно задать распределение элементов вдоль границы.
3D-случай отличается тем, что в качестве вида элементов
выступают тетраэдры.
Среди структурированных разбиений выделяются следующие:
 равномерное разбиение областей в 2D и границ в 3D,
имеющих прямоугольную форму (или форму, близкую к прямоугольной) на четырёхугольники. Плотность разбиения задаётся путём задания размера элементов (при ручном задании
используется только максимальный размер элемента) или распределения элементов вдоль выбранных краёв.
 разбиение граничных слоёв – разбиение границы «вытягивается» в направлении, параллельном нормали к границе,
таким образом, в 2D-случае сетка состоит из четырёхугольников, а в 3D-случае – из призм в случае треугольного разбиения
границы и из шестигранников в случае четырёхугольного разбиения границы. Плотность разбиения у границы определяется
числом подслоёв граничного слоя и их толщиной. Каждый
подслой состоит из одного слоя элементов. По умолчанию по
мере удаления от границы толщина подслоя возрастает на
30%.
 вытягивание (3D) – производится разбиение на одной
из граней (треугольниками или четырёхугольниками), после
чего происходит «вытягивание» этого разбиения в сторону
противолежащей грани, так, что разбиения на этих гранях совпадают. Таким образом, в случае треугольного разбиения на
92
гранях, сетка состоит из призм, в случае четырёхугольного
разбиения – из шестигранников. Плотность разбиения определяется путём задания максимального размера элемента или путём задания числа слоёв из элементов.
Среди остальных операций по построению сеток стоит
отметить следующие: преобразование сетки (позволяет, например, преобразовывать четырёхугольное разбиение в треугольное, смешанное разбиение области в разбиение тетраэдрами и т.д.), копирование сеток с одной грани на другую (3D)
и с одной границы на другую (2D), импорт сетки из файла и
измельчение существующего разбиения (только для симплексных элементов).
В COMSOL Multiphysics есть возможность использования так называемой деформированной сетки. Этот функционал
используется, если граница движется или деформируется, так,
что деформацию можно задать, как зависимость от параметра.
Преимущество использования деформированной сетки состоит
в том, что нет необходимости многократного перестроения
сетки, COMSOL изменяет сетку так, что она следует за деформациями границы.
Смещение узлов сетки может быть вычислено тремя различными способами:
– путём решения специализированных дифференциальных уравнений в частных производных, позволяющих получить гладкие решения для деформации сетки;
– путём задания явной зависимости деформации от параметров, например, от компонент смещения в модуле «Механика конструкций»;
– путём интеграции с интерфейсом «Механика твёрдых
тел» (Solid Mechanics), который обладает встроенным функционалом деформированной сетки.
Существуют 2 специализированных интерфейса, входящие в состав базового модуля, предоставляющие разные типы
деформированной сетки – «Деформированная геометрия» (Deformed Geometry) и «Движущаяся сетка» (Moving Mesh). Первый из них используется для описания поведения исследуемо93
го объекта, принимающего различные формы, причём переход
от одного состояния к другому сопровождается изменением
массы. Интерфейс Moving Mesh применяется для изучения деформации тела под воздействием физической нагрузки при сохранении массы тела.
В COMSOL Multiphysics есть возможность моделировать
бесконечные области при помощи опции «Область бесконечных элементов» (Infinite Element Domain). Данная опция применяется, когда детальное решение вдали от исследуемых неоднородностей не представляет интереса, но в то же время
граница внешней виртуальной области влияет на решение, получаемое в области, представляющей интерес для исследования. Осуществляется это путём координатной трансформации
виртуальной области, окружающей область, представляющую
интерес для исследования. Виртуальная область вытягивается
в бесконечность, в результате чего образуются бесконечные
элементы. В двумерном случае существует 2 типа трансформации виртуальной области – прямоугольная (область растягивается в одном или двух взаимно перпендикулярных направлениях) и цилиндрическая (область, представляющая собой круг, растягивается в радиальном направлении). В осесимметричных 2D-задачах существуют также 2 типа трансформации – цилиндрическая (аналог прямоугольной трансформации в плоских 2D-задачах) и сферическая (аналог цилиндрической трансформации в плоских 2D-задачах). В трёхмерных задачах также существуют 2 типа трансформации –
прямоугольная (растяжение в одном, двух или трёх взаимно
перпендикулярных направлениях) и сферическая (сферическая
область растягивается в радиальном направлении).
После разбиения области на конечные элементы дифференциальные уравнения решаются методом конечных элементов. Суть состоит в том, чтобы неизвестную функцию, являющуюся решением дифференциального уравнения аппроксимировать функцией, поведение которой описывается конечным
числом параметров, которые называются степенями свободы.
Такая функция представляется в виде разложения по так назы94
ваемым базисным функциям, коэффициентами в котором выступают вышеупомянутые степени свободы. Базисные функции являются функциями пространственных координат. После
подстановки функции в дифференциальные уравнения получается система уравнений, неизвестными в которой являются
степени свободы.
Описание базисных функций упрощается, если наряду с
пространственной системой координат в соответствие каждому элементу поставить локальную систему координат, связанную с конкретным элементом. В каждой из систем координат
можно ввести стандартный симплекс (интервал для одномерного случая, прямоугольный равнобедренный треугольник для
двумерного и тетраэдр для трёхмерного). В этом случае конечные элементы можно рассматривать как фигуры, полученные из стандартного симплекса путём аффинного преобразования. Базисные функции, описанные в локальных координатах, называются функциями формы.
В случае искривлённой границы целесообразно использовать искривлённые конечные элементы для более точного
представления границы. Искривлённые элементы получаются,
если зависимость пространственных координат относительно
локальных не линейная, а является полиномиальной. Степень
многочлена, выражающего эту зависимость, называется степенью геометрической формы.
Типы конечных элементов различаются заданием степеней свободы и функций формы. В COMSOL Multiphysics представлены следующие типы конечных элементов:
 Лагранжевы элементы. Пусть – положительное целое
число, называемое порядком элемента. Тогда на каждом из
элементов искомая аппроксимируемая функция представляется в виде многочлена степени . Для задания функции необходимо знать её поведение в конечном числе точек. Такие точки
для лагранжевых элементов называются лагранжевыми. Это
точки, чьи локальные координаты – целые числа, умноженные
на . Например, для треугольных элементов и = 2 таких точек 6: (0,0), (0,0.5), (0.5,0.5), (0.5,0), (1,0), (0,1). Степенями сво95
боды в случае лагранжевых элементов являются значения
функции-решения в лагранжевых точках. Для каждой лагранжевой точки базисная функция определяется как кусочная
функция, являющаяся многочленом порядка , принимающая
в данной точке значение 1, а в других точках – 0. Функция, являющаяся решением дифференциального уравнения, в отдельно взятом элементе представляется в виде линейной комбинации базисных функций, взятых со значениями функции в лагранжевых узлах в виде коэффициентов разложения. Порядок
лагранжевых элементов может быть любым, но действие формул для интегрирования ограничивается случаем ≤ 5 ( ≤ 4
для тетраэдральной сетки).
 Элементы Аргириса. Применимы только для 2D-областей с треугольным разбиением. Главным преимуществом по
сравнению с лагранжевыми элементами является непрерывность производных базисных функций при переходе от одного
элемента к другому. Также, базисные функции обладают непрерывной второй производной в вершинах треугольников. В каждом конечном элементе функция-решение представляется в виде многочлена 5-й степени от локальных координат. Степенями
свободы при использовании таких элементов являются: значения искомой функции на углах, значения первых и вторых производных по пространственным координатам на углах, а также
нормальные производные искомой функции на середине каждой из сторон треугольника, причём нормаль выбирается таким
образом, что она направлена вправо при движении по ребру от
точки с меньшим номером к точке с большим номером.
 Эрмитовы элементы. Базисные функции здесь, так же,
как и в лагранжевых элементах, представляют собой многочлены степени от локальных координат. Разница заключается в том, что для эрмитовых элементов вместо значений искомой функции в вершинах элементов разбиения берутся пространственные производные в этих точках, в то время, как остальные степени свободы для лагранжевых и эрмитовых элементов совпадают. Таким образом, искомая функция имеет
непрерывные производные в вершинах разбиения. Порядок
96
эрмитовых элементов должен быть больше или равен 3. Действие формул для интегрирования ограничивается случаем
≤ 5 ( ≤ 4 для тетраэдральной сетки).
 Пузырьковые элементы. Функции формы для этих элементов представляют собой многочлен наименьшей степени,
такой, что значения функций на сторонах элемента равны 0, а в
середине элемента функция имеет максимум (для каждого элемента, таким образом, имеется только одна функция формы).
 Векторные элементы. Каждый элемент имеет только
степени свободы, соответствующие касательной компоненте
векторного поля. Таким образом, касательная компонента векторного поля непрерывна при переходе от одного элемента к
другому, а значит, ротор векторного поля - интегрируемая
функция, поэтому эти элементы широко используются в областях, где физические процессы описываются с помощью понятия ротора векторного поля, например, в электромагнетизме.
Порядок векторных элементов в 3D случае максимум 3, в 1D и
2D случаях – максимум 4.
 Разрывные элементы. Случай, похожий на случай лагранжевых элементов с тем различием, что в этом случае базисные функции терпят разрыв при переходе от одного элемента к другому. Действие формул для интегрирования ограничивается случаем ≤ 5 ( ≤ 4 для тетраэдральной сетки).
 Если элементы не искривлены, случай аналогичен случаю разрывных элементов. Если же элементы искривлены, то
функции, определяющие плотность, выражаются в локальных
координатах, и их вид в пространственных координатах определяется формулами перехода от локальных к пространственным координатам.
 Гауссовы точки. Определяют степени свободы, соответствующие Гауссовым точкам, использующимся при интегрировании. Для вычисления этих степеней свободы и использования их в уравнениях необходимо создать переменную с таким
же названием. Использование элементов такого типа целесообразно, например, для хранения величин переменных в точках
интегрирования при наличии в задаче явления гистерезиса.
97
 Дивергентные элементы. В этом случае степени свободы на границах соответствуют нормальным компонентам поля,
а внутри элементов – всем компонентам, так, что при переходе
от одного элемента к другому нормальная компонента векторного поля непрерывна и дивергенция вектора является интегрируемой функцией, поэтому данный тип элементов применяется, например, в электромагнетизме, когда зависимой переменной является индукция магнитного или электрического поля. Порядок дивергентных элементов в 3D случае максимум 3,
в 1D и 2D случаях – максимум 4.
 Скалярная волновая базисная функция. Используется
при решении скалярных волновых уравнений типа уравнения
Гельмгольца, используя ультраслабую вариационную постановку. Данные базисные функции терпят разрыв при переходе
между двумя элементами.
Ещё одной важной частью COMSOL Multiphysics является блок постобработки и визуализации данных. Операции, отвечающие за постобработку и визуализацию данных, можно
поделить на следующие категории: множества данных, графики и группы графиков, расчёт величин и таблицы, экспорт
данных и отчёты.
Множества данных – содержит данные, на основании которых строятся графики. В этом разделе содержатся следующие операции:
 Нахождение среднего или вычисление интеграла. Осуществляет нахождение интеграла или среднего значения на
основании других множеств данных для последующего построения, например, в зависимости от времени.
 Контурные 2D-линии. Применяется для вычисления
исследуемых величин и построения 1D графиков, а также линейных 2D-графиков и 2D-графиков стрелок вдоль 2D контурных линий.
 2D и 3D секущие линии. Создание линий в 2D или 3D
для последующей визуализации данных вдоль этих линий.
98
 Секущие плоскости в 3D. Создаётся секущая плоскость
в 3D-геометрии для дальнейшего исследования поведения величин в этой плоскости.
 Секущие точки в 1D, 2D, 3D. Используются для вычисления и построения графиков исследуемой величины в
точке от времени или от параметра при использовании параметрического решателя, а также для последующего создания
1D, 2D и 3D точечных графиков.
 Края в 2D и 3D. Используются для вычисления и визуализации исследуемой величины вдоль границы (2D) или
края области(3D).
 1D, 2D, 3D-функции. Вычисление заданной функции в
области (интервале для 1D-функции, прямоугольнике для 2Dфункции и параллелепипеде для 3D-функции).
 Изоповерхности в 3D. Используются для создания графиков стрелок на поверхности, поверхностных графиков и
контурных графиков.
 Нахождение наименьшего или наименьшего значения.
Осуществляет нахождение наименьшего или наибольшего
значения на основании других множеств данных для последующего построения, например, в зависимости от времени.
 Сетка. Данная опция используется для последующей
визуализации разбиения.
 Зеркальное отражение в 2D и 3D. Используется для
симметричного отображения решения задачи относительно
выбранной оси (2D) или плоскости (3D). Используется для визуализации решения осесимметричных задач или задач с плоскостной симметрией.
 Параметризованная кривая в 2D и 3D. Используется
для последующей визуализации исследуемых величин вдоль
заданных параметрических кривых.
 Параметризованная поверхность в 3D. Используется
для последующей визуализации исследуемых величин на заданной поверхности.
99
 Параметрическое расширение (1D, 2D). Расширяет любое заданное множество данных путём добавления параметра
(например, времени) в качестве дополнительной размерности.
 1D и 2D вращение. Используется для визуализации
решений 1D и 2D осесимметричных задач при создании 2D и
3D-графиков соответственно.
 Решение. Используется для визуализации решения и
анализа результатов. Решатели автоматически создают эти
множества данных.
 Поверхность. Используется для визуализации исследуемой величины на заданной поверхности в 3D-геометрии.
Группы графиков содержат один или несколько графиков
(например, поверхностные графики и линии тока), основываясь на одном множестве данных. Можно создавать 1D, 2D, 3D
группы графиков, а также группы графиков с использованием
полярных координат.
В случае 1D групп графиков выделяются следующие типы графиков:
 Глобальные графики (1D и в полярных координатах).
Изображают зависимость скалярной величины как функции от
времени или параметра.
 Гистограмма. Показывает, распределение заданной величины в геометрии.
 Линейные графики (1D и в полярных координатах).
Изображают зависимость заданной величины вдоль линии, которая может быть краем, параметризованной кривой или секущей линией.
 Графики Найквиста (1D и в полярных координатах).
Показывают величину и фазу частотных характеристик в задачах с частотным типом анализа.
 Точечные графики (1D и в полярных координатах).
Показывают зависимость величины от времени или параметра
в заданной точке, которая может быть как точкой в геометрии,
так и секущей точкой.
100
 Табличные графики (1D и в полярных координатах).
Визуализация табличных данных.
В случае 2D и 3D графиков существуют следующие опции:
 Стрелки на линиях (2D, 3D) – используются для визуализации векторной величины в виде стрелок на линиях (2D) и
на линиях и краях (3D).
 Стрелки на поверхностях (2D, 3D) – используются для
визуализации векторной величины в виде стрелок на поверхностях.
 Стрелки в объёме (3D) – используются для визуализации векторной величины в виде стрелок в объёме.
 Контуры (2D,3D) – используются для изображения
скалярных величин в виде цветных линий (контуров). На каждом из контуров исследуемая величина постоянна.
 Построение систем координат (2D, 3D) для линейных,
поверхностных и объёмных графиков.
 Изоповерхность (3D) – изображение скалярной величины в виде цветных изоповерхностей – на каждой поверхности исследуемая величина постоянна.
 Линейные графики (2D, 3D) – визуализация исследуемой величины на границах (2D) и краях (3D).
 Построение максимальных и минимальных значений в
объёме (3D), на поверхности или на линии (2D, 3D). Изображает точки, в которых достигается наибольшее и наименьшее
значение указанной величины, вместе со значением этой величины и координатами этих точек. Эта же информация дублируется в таблице.
 Сеточные графики (2D, 3D). Используется для визуализации разбиения. Существуют возможности изображения элементов разными цветами в зависимости от их качества. Также
используется фильтр, позволяющий изображать часть разбиения в зависимости от качества элементов, их размера, типа или
местоположения.
101
 Графики траекторий частиц (2D, 3D). Используются
при исследовании полей скоростей потока для визуализации
траектории безмассовой частицы из потока.
 Графики траекторий частиц, имеющих массу (2D, 3D)
 Главные напряжения в объёме (3D) – изображает главные напряжения и главные деформации (собственные значения тензоров напряжения и деформации) вместе с соответствующими собственными векторами в модуле «Механика конструкций» в выбранных точках объёма.
 Главные напряжения на поверхностях (2D, 3D) – аналогично предыдущей опции, только точки берутся на поверхностях.
 Визуализация скалярных величин в виде отдельных
сфер или дисков как функций пространственных координат
или других величин. Данная опция может служить как альтернативой матриц стрелок для случая скалярной величины, так и
показывать, как коррелируют величины между собой.
 Секущие плоскости (3D) – показывает поведение величины в виде теневых рисунков на одной или нескольких параллельных секущих плоскостях.
 Линии тока (2D, 3D) – визуализация векторной величины в виде линии, так, что векторная величина в каждой точке
направлена по касательной к этой линии.
 Поверхностные графики (2D, 3D) – визуализация скалярной величины в виде цветного графика в области (2D) или
на поверхности (3D) .
 Объёмные графики (3D) – визуализация скалярной величины в виде теневого рисунка в 3D-области.
Кроме этого, в соответствии с потребностями пользователя существуют следующие атрибуты, позволяющие модифицировать графики: добавление цветов (позволяет делать
цветными такие рисунки, как матрицы стрелок, линии тока,
контуры, изоповерхности и траектории движения частиц), деформации (деформации графиков в соответствии с векторной
величиной, например, полем смещений в модуле «Механика
102
конструкций»), фильтры (позволяет задавать логическое выражение в качестве критерия для отображения), добавление
высоты (добавление третьей координаты в линейных и поверхностных 2D-рисунках для отображения значения исследуемой величины в каждой точке плоскости).
Третий блок операций – расчёт величин. Операции из
этого блока позволяют рассчитывать максимальное, минимальное или среднее значение любой величины, интеграл от
любой величины (что позволяет вычислять ряд важных интегральных характеристик, таких, как полный поток, заряд, индуктивность и т.д.), а также вычисление переменных в точках
и вычисление глобальных переменных. Все вычисленные величины автоматически сохраняются в таблицу. Результаты,
полученные разными типами операций, сохраняются в разные
таблицы (например, результаты, полученные нахождением
минимума от величины, сохраняются в одной таблице, результаты, полученные путём интегрирования величины, - в другой
и т.д.). Можно также собственноручно задавать, в какую из
таблиц сохранять результат.
В число операций в этом блоке входят: нахождение
средней величины (по объёму, по поверхности и на линии),
нахождение максимума и минимума (в объёме, на поверхности
и на линии), интегрирование (по объёму, поверхности или линии), вычисление величины в точке и вычисление глобальной
величины. Для операций нахождения максимума, минимума,
среднего и интегрирования в случае нестационарного или параметрического решателя есть возможность нахождения среднего, максимума, минимума, интеграла, СКО, стандартного
отклонения или дисперсии по времени или параметру от максимизированной, минимизированной, средней или интегральной величин (полученных соответствующим способом в объёме, на поверхности или на линии).
Последний блок операций – экспорт данных. Предоставляются возможности для экспорта следующих типов данных:
экспорт анимации (позволяет экспортировать ряд из изобра103
жений, объединённых в группу), экспорт данных (сохранение
числовых данных в текстовый файл), экспорт сетки, экспорт
1D, 2D, 3D графиков, экспорт интерактивной анимации, а также экспорт данных, на основании которых построены графики,
в текстовый файл.
В качестве переменных, доступных для визуализации
или используемых в качестве аргумента для расчёта, может
выступать независимая переменная (например, в случае магнитостатических задач это векторный или скалярный магнитный потенциал), другие характерные для данного интерфейса
переменные (например, в магнитостатических задачах это вектор магнитной индукции, вектор плотности тока, плотность
магнитной энергии и т.д.), а также выражения, включающие
себя переменные, определённые в конкретном интерфейсе, их
пространственные и временные производные, пространственные координаты, время и координаты нормали к поверхности.
Для расширения функционала в COMSOL Multiphysics
существует ряд операторов:
– дифференциальные операторы – d( f, x) (производная
функции f по переменной x), pd( f, x) (частная производная f по
x), dtang(f, x) (касательная производная функции f по пространственной координате x на границе);
– test – тестовый оператор, использующийся для слабой
формулировки дифференциальных уравнений. Действие этого
оператора на функцию равно сумме произведений действий
оператора на каждую из переменных функции на производную
функции по соответствующей переменной. Так, например, для
функции ( , ∇ ) будем иметь:
( ,∇ ) =
+
∇
( ,∇ )
( ,∇ )
104
(∇ ) ;
( )+
– up, down, mean – операторы, определяющие значение
выражения, являющегося аргументом оператора, во внешней,
внутренней областях по отношению к границе, а также среднее значение выражения на границе соответственно;
– depends, islinear – логический оператор, принимающая
значение 1, если аргумент оператора зависит от переменнойрешения (зависит от переменной-решения линейно);
– dest – оператор, предназначенный для создания интегральных связей; например, интегрирование выражения
u/((dest(x) – x)^2 + (dest(y) – y)^2) даёт функцию, зависящую от
x и y:
( , ′)
( , )=
′ ′;
( − ′) + ( − ′)
– if (cond, expr1, expr2) – условный оператор, если условие cond верно, то оценивается выражение expr1, в противном
случае – expr2;
– with – оператор, позволяющий производить операции с
решением для различных моментов времени, значений параметра и собственных значений в случае нестационарной, параметрической задачи и задачи на собственные значения соответственно;
– at – позволяет получить решение в любой момент времени в случае нестационарной задачи;
– reacf – оператор, предназначенный для расчёта интегралов сил реакции или потоков;
– realdot(a, b) – произведение двух комплексных чисел
как векторов размерности 21;
– prev(expr, i) – вычисление значения выражения expr на
временном шаге, который находится в i шагах позади текущего временного шага;
– bdf (expr, i) – разностная формула производной выражения expr по времени i-го порядка с использованием левой разности.
Важным достоинством COMSOL Multiphysics, начиная с
версии 4.2, является возможность создания физического поль105
зовательского интерфейса. Эта процедура осуществляется при
помощи конструктора, который представляет собой интерактивную программную среду для создания физических интерфейсов, не прибегая к написанию программного кода. Процесс
создания нового физического интерфейса похож на создание
новой модели с той лишь разницей, что результатом создания
является не модель, а новый интерфейс. Конструктор интерфейса так же, как и конструктор моделей имеет форму дерева,
с помощью которого можно добавлять один или несколько
(для создания мультифизического интерфейса) физических интерфейсов. Внутри каждого из интерфейсов задаются зависимые и независимые переменные и их размерность, виды решаемых уравнений, виды граничных условий и т.д.
Обычно работа в COMSOL Multiphysics осуществляется
в интегрированной среде COMSOL Desktop, содержащей все
описанные выше функции. Существуют, однако, альтернативные варианты получения доступа к функционалу COMSOL
Multiphysics.
– COMSOL Multiphysics клиент/сервер позволяет работать
в режиме клиент-сервер на разных компьютерах (для этого необходима FNL – плавающая сетевая лицензия), причём запуск
клиента и сервера может осуществляться на разных информационных системах (например, клиент COMSOL Desktop может
быть запущен на Windows, а сервер – на Linux или Mac);
– Режим параллельных вычислений. COMSOL поддерживает 2 режима параллельных вычислений – режим параллельных вычислений с общей памятью, предназначенный для
многоядерных процессоров, и режим параллельных вычислений с распределённой памятью (в том числе и кластерные вычисления для Windows-кластеров или Linux-кластеров). Для
последнего необходимо наличие FNL;
– Пакетный режим (COMSOL Batch) позволяет запускать
COMSOL без использования графического пользовательского
интерфейса;
106
– Прикладной программный интерфейс (COMSOL API)
на основе Java используется для разработки приложений на
основе функционала COMSOL. Java-файл-модель запускается
посредством среды COMSOL Desktop или в пакетном режиме.
Для разработки приложений с помощью COMSOL API нужно
создать текстовый или графический пользовательский интерфейс и скомпилировать его в COMSOL при помощи соответствующих команд.
Помимо базового модуля COMSOL Multiphysics, существует множество специализированных модулей, направленных
на решение задач в конкретных областях физики и техники. С
каждой версией таких модулей становится всё больше. Так, в
последней на данный момент версии COMSOL 5.3 (май 2017 г.)
модули позволяют решать задачи в следующих областях науки:
 Электротехника (электромагнитный модуль, радиочастотный модуль, волновая оптика, лучевая оптика, MEMS модуль, плазма, полупроводники);
 Механика (теплоперенос, механика конструкций, нелинейная механика конструкций, геомеханика, усталость материалов, динамика многотельных систем, акустика, роторная
динамика (впервые появился в версии COMSOL 5.2a, октябрь
2016 г.));
 Гидродинамика (вычислительная гидродинамика, миксер, микрогидродинамика, течение в пористых средах, течение
в трубах, молекулярное течение);
 Химия (проектирование химических реакций, аккумуляторы и топливные элементы, гальваностегия, коррозия,
электрохимия).
Кроме того, в COMSOL 5.3 существуют многоцелевые
модули трассировки частиц и оптимизации, а также библиотека материалов, содержащая более 2500 материалов с указанием их основных свойств. Помимо этого в COMSOL 5.3 имеются модули интеграции с MATLAB и Excel, модули интеграции
с CAD-системами (SOLIDWORKS, Inventor, AutoCAD, Revit,
PTC Creo Parametric, PTC Pro/ENGINEER и Solid Edge), моду107
ли импорта данных из CAD и ECAD и CATIA V5, а также модуль проектирования для создания параметрической геометрии и управления ей.
Основное отличие версий COMSOL Multiphysics, начиная с версии 5.0, от предыдущих – это появление среды разработки приложений, позволяющей создавать приложения на
основе существующих моделей, созданных в построителе моделей. Для создания приложений в COMSOL Multiphysics предусмотрены два инструмента: Редактор форм и Редактор методов. Первый позволяет создавать приложение, имеющее специализированный пользовательский интерфейс с такими элементами, как поля ввода и числового вывода, элементы графики и кнопки. Готовое приложение позволит, меняя входные
параметры, быстро получить результат, не обращаясь к исходной модели. С помощью Редактора методов можно создавать
приложения, используя программный код, что позволяет осуществлять более сложные операции, чем те, которые доступны
при использовании Редактора форм. Таким образом, Редактор
методов представляет собой среду программирования, позволяющую работать с моделью на базе объектно-ориентированного представления данных.
Ещё одной новинкой является программный продукт,
COMSOL Server, который предназначен для запуска созданных приложений через веб-браузеры в различных операционных системах, либо, при установке клиента COMSOL Client for
Windows, напрямую при подключении к COMSOL Server.
Приложения, запускаемые через веб-браузер, поддерживают
1D, 2D и 3D интерактивную графику.
FlexPDE – программный комплекс, выпускаемый компанией PDE Solutions Inc, является скриптовой мультифизической конечно-элементной средой, позволяющий решать задачи
в таких областях исследований, как теплоперенос, анализ напряжений, механика жидкостей, электромагнетизм, химические реакции, диффузия и т.д. Данные решаемой задачи в
FlexPDE записываются в скрипт-файл.
108
Версии FlexPDE постоянно обновляются. Последней на
настоящий момент является версия 7.05 (выпущена 14 июня
2017 года). Первая версия серии FlexPDE 7 вышла 1 января
2017 года. Версии серии FlexPDE 7 позволяют анализировать
сложные конечно-элементные модели. Основными свойствами
являются:
 Решение систем дифференциальных уравнений первого
и второго порядков в 1D, 2D, 3D декартовой геометрии, 1D
сферической или цилиндрической геометрии или осесимметричной 2D геометрии;
 Решение стационарной, или нестационарной системы
уравнений, либо решение задачи на собственные значения.
Стационарные и нестационарные уравнения могут быть объединены в единую задачу;
 Одновременное решение любого количества уравнений, число которых ограничивается лишь возможностями
компьютера;
 Решение линейных и нелинейных уравнений. Для решения нелинейных уравнений FlexPDE автоматически использует
модифицированный итерационный метод Ньютона-Рафсона;
 Может быть определено любое число подобластей с
различными материальными свойствами;
 Переменные полагаются непрерывными вдоль границы
раздела двух сред. Условия скачка производных следуют из
системы дифференциальных уравнений.
 Неограниченная сложность уравнений;
 Произвольная лагранжева/эйлерова движущаяся сетка:
 Возможность экспорта 3D-графиков;
 Разбиение уравнений на множества, которые решаются
поочерёдно;
 Использование комплексных, векторных переменных и
переменных-массивов, а также соответствующих уравнений;
 Возможность объявлять переменные неактивными в
выбранных областях;
109
 Возможность многопоточного режима для многоядерных процессоров;
 Возможность импорта сетки на поверхностях;
 Оптимизатор параметра
Последние 2 свойства появляются в FlexPDE 7 впервые.
FlexPDE – это полностью интегрированный решатель
дифференциальных уравнений в частных производных, содержащий несколько внутренних модулей для полного решения системы:
 Модуль редактирования скрипт-файлов, обладающий
свойством выделения цветом текста, полным набором инструментов для редактирования текста, а также возможностью
предварительного просмотра области в графическом виде;
 Символьный анализатор уравнений расширяет заданные параметры и уравнения, производит дифференцирование
по пространственным переменным, символьное интегрирование по частям для упрощения членов второго порядка для того, чтобы записать символьные уравнения Галёркина. Также
производится символьное дифференцирование этих уравнений
для формирования якобиана системы;
 Модуль генерации сетки осуществляет треугольное или
тетраэдральное разбиение двумерной или трёхмерной исследуемой области. В 2D случае в области создаётся неструктурированная треугольная сетка. В 3D случае 2D-область вытягивается в направлении третьей оси и полученная область обрезается поверхностями раздела. Результирующая область заполняется неструктурированной тетраэдральной сеткой;
 Модуль конечно-элементного анализа выбирает подходящую схему решения для стационарных, нестационарных задач или задач на собственные значения с отдельными процедурами для линейных и нелинейных уравнений. Базовые
функции могут быть линейными, квадратичными или кубическими;
 Процедура адаптивного измельчения сетки проверяет
адекватность разбиения и измельчает сетку, когда ошибка вели110
ка. Система повторяет эту процедуру итерационным способом,
пока заданная пользователем точность не будет достигнута;
 Процедура динамического контроля временного шага
позволяет измерять кривизну функции решения от времени и
подбирает временной шаг интегрирования, чтобы поддерживать заданную точность;
 Модуль графического вывода позволяет задавать произвольные алгебраические функции, зависящие от решения, а
также строить контуры, поверхности, матрицы стрелок или
график рельефа поверхности;
 Модуль экспорта данных позволяет формировать отчёты, включающие в себя простые таблицы, полные конечноэлементные сеточные данные, CDF, VTK или TecPlot совместимые файлы.
Elmer – свободно распространяемый пакет, предназначенный для решения дифференциальных уравнений в частных
производных. Разрабатывается финской компанией CSC – IT
Center for Science. Elmer позволяет решать системы многих
различных связанных уравнений, что даёт возможность моделировать мультифизические задачи при помощи этого пакета.
С помощью Elmer можно решать задачи из таких областей физики, как теплоперенос, течение жидкости, движение частиц,
упругость, акустика, электромагнетизм, микрожидкости, квантовая механика. Для решения системы дифференциальных
уравнений используются следующие средства:
 Все базовые формы элементов в 1D, 2D, 3D с линейными и квадратичными лагранжевыми функциями формы;
 Аппроксимация более высокого порядка с использованием p-элементов;
 Схемы временного интегрирования для уравнений первого и второго порядков;
 Методы решения задач на собственные значения;
 Прямые решатели линейных систем (LAPACK,
UMFPACK);
111
 Итеративные решатели для подпространств Крылова
для линейных систем;
 Мультисеточные методы (CMG, AMG) для некоторых
основных уравнений;
 ILU предобуславливатель линейных систем;
 Распараллеливание итерационных методов;
 Разрывный метод Галёркина;
 Стабилизированные конечно-элементные постановки
задач;
Elmer состоит из следующих модулей: ElmerGUI (графический пользовательский интерфейс. Содержит модуль ElmerGrid в качестве генератора конечно-элементной сетки. Данный
модуль не содержит инструментов для создания геометрии,
поэтому для этих целей необходимо использовать сторонний
геометрический моделлер. Включает в себя также возможность контроля за сходимостью решения в реальном времени),
ElmerSolver (решатель), ElmerPost (постпроцессор), ElmerGrid
(отвечает за разбиение, а также может быть использован для
манипуляций с сеткой. Например, для разбиение сетки на части в случае распараллеливания вычислений или для импорта
сетки, созданной другими генераторами), ElmerFront (старая
версия модуля ElmerGUI), Mesh2D (разбивщик, который разбивает 2D область на треугольники методом Делоне. Используется в качестве разбивщика по умолчанию для адаптивных
вычислений).
FreeFem++ – решатель для систем дифференциальных
уравнений (в том числе и нелинейных) в частных производных
для двумерных и трехмерных случаев. Разрабатывается совместно сотрудниками университета Пьера и Мари Кюри и лаборатории Жака-Луи Лиона. Последней на сегодняшний день
является версия 3.55 (26 июня 2017 г.).
При решении задачи при помощи FreeFem++ исходные
данные записываются в скрипт-файл с использованием собственного языка программирования. Основные особенности пакета:
112
 Описание задачи при помощи вариационной формулировки с возможностью доступа к внутренним векторам и матрицам. Задача может быть как вещественнозначной, так и
комплекснозначной;
 Возможность решать 2D и 3D стационарные и нестационарные, линейные или нелинейные связанные системы
многих уравнений с многими неизвестными;
 Простое задание геометрии путём аналитического описания границ по частям;
 Автоматический генератор сетки, основанный на алгоритме Делоне-Вороного;
 Адаптивное анизотропное разбиение, основанное на
вычислении метрики;
 Возможность множественного разбиения в одной программе с интерполяцией данных на разных сетках и возможностью сохранения интерполяционных матриц;
 Большой набор типов конечных элементов: линейные,
квадратичные лагранжевы элементы, разрывные P1 элементы
и элементы Равиара-Томаса, элементы нескалярного типа, мини-элементы. Четырёхугольные элементы не допускаются;
 Имеются средства для постановки конечно-элементной
задачи на основе метода Галёркина;
 Большое количество прямых и итерационных решателей (LU, Cholesky, Crout, CG, GMRES, UMFPACK, MUMPS,
SuperLU, и т.д.), а также решателей для задач на собственные
значения (ARPARK);
 Близкая к оптимальной скорость выполнения вычислений (в сравнении с соответствующей задачей, выполненной на
C++);
 Онлайн графика, создание файлов разбиения для последующих манипуляций с входными и выходными данными;
 Возможность параллельных вычислений с помощью
MPI (Message Parsing Interface).
113
3.3. Специализированные конечно-элементные
комплексы программ
Elcut – комплекс программ для решения различных плоских и осесимметричных двумерных физических задач при
помощи метода конечных элементов [14]. Разрабатывается
российской компанией «ООО «Тор». Существуют две модификации Elcut: студенческая (распространяется бесплатно) и
профессиональная (распространяется на коммерческой основе). У этих модификаций один и тот же интерфейс и функции,
но профессиональная версия более мощная, что позволяет решать более сложные задачи.
Elcut содержит модули для решения многих физических
задач:
 Магнитостатика (расчёт соленоидов, магнитных экранов, постоянных магнитов, электрических машин и т.д.);
 Магнитные поля синусоидальных токов (используется
для анализа распределения вихревых токов, а также для анализа магнитного поля от переменных, вихревых токов или индуцированных токов; данный модуль позволяет проектировать
трансформаторы, установки индукционного нагрева, электрические машины и многие типы индукторов);
 Нестационарное магнитное поле (используется в таких
задачах, как анализ переходных процессов в электромагнитных устройствах или анализ работы двигателей от импульсных
преобразователей);
 Электростатика (используется для расчёта и проектирования систем, имеющих ёмкость (конденсаторы, линии передачи данных), а также для расчёта изоляции);
 Электрическое поле постоянных токов (используется
для расчёта проводящих систем или для расчёта паразитных
токов или токов утечки изоляционных конструкций);
 Электрическое поле переменных токов (используется
для расчёта сложных систем изоляции и конденсаторов);
 Нестационарное электрическое поле (используется для
анализа электрических полей, возникающих ввиду меняющих114
ся токов и напряжений в нелинейных диэлектриках; применяется при расчёте сложных систем изоляции, варисторов и ограничителей перенапряжений);
 Стационарная и нестационарная теплопередача (используется для анализа теплового состояния систем; может
анализировать как установившееся температурное распределение, так и процессы охлаждения и нагрева);
 Упругие деформации (используется для расчёта механических напряжений в устройствах, таких, как строительные
конструкции, техника высокого давления или отдельные узлы
механических систем);
 Связанные задачи (используется для решения мультифизических задач, например, таких, как нагрев провода за счёт
потерь от протекающего тока);
 Электрическая цепь (расчёт электрических цепей; к
тому же, с помощью этого модуля можно подключать внешнюю электрическую цепь в задачах в модулях «Магнитные
поля синусоидальных токов» и «Нестационарное магнитное
поле»).
В состав Elcut входят следующие компоненты:
 Редактор геометрии – позволяет описать геометрию.
Возможен также импорт частей модели из сторонних систем
геометрического моделирования, таких, как AutoCAD. В состав входит также конечно-элементный разбивщик, позволяющий создать треугольную сетку в автоматическом режиме
или режиме ручного управления разбиением;
 Редактор данных – позволяет задавать граничные условия, свойства среды и источники поля. Для связи геометрии и
данных используются метки;
 Решатель – отвечает за решение системы уравнений.
Для решения линейных задач используется метод сопряжённых градиентов с предобуславливателем матрицы по методу
декомпозиции области, что позволяет добиться высокой скорости сходимости решения. Для решения нелинейных задач
используется метод Ньютона-Рафсона, причём на каждой итерации этого метода полученная линейная задача решается вы115
шеупомянутым способом. Для решения нестационарных задач
используется метод Эйлера с постоянным шагом по времени и
заданными начальными условиями (нулевыми или экспортированными из другой задачи);
 Постпроцессор позволяет анализировать результаты
решения задачи. В его функции входит как визуализация результатов (линии поля, цветные карты, матрицы стрелок, тензоры напряжения в виде пар собственных векторов (для задач
теории упругости), графики величин вдоль контуров и т.д.),
так и расчёт интегральных величин на линиях или областях.
Также, с помощью постпроцессора можно выводить таблицы и
графики в файлы для дальнейшей обработки или печати;
 Надстройки – используются для расширения функциональных возможностей Elcut: LabelMover (предназначена для
серийных расчётов, статистического анализа и оптимизации),
Data Converter (предназначена для связи Elcut и Microsoft
Excel), NLConfig (предназначена для настройки сети для профессиональной версии Elcut).
Ещё одним достоинством Elcut является возможность
разработки инженерных приложений на основе Elcut-моделей.
Приложения могут быть написаны на многих языках программирования, среди которых: Visual Basic, Visual C, VBA, скриптовые языки, а также системы, вычислений высокого уровня,
такие, как MATLAB. Взаимодействие Elcut и других программ
может быть осуществлено как на низком уровне (через объектную модель ActiveField), так и на высоком уровне при помощи параметрического интерфейса, используя LabelMover.
Elcut постоянно обновляется. Последняя на сегодняшний
день версия – Elcut 6.3 вышла 16 февраля 2017 года. Среди обновлений упрощение решения нестационарных тепловых задач, а также ряд новых постпроцессорных операций.
FEMM – это комплекс программ, предназначенный для
решения низкочастотных электромагнитных задач для двумерных плоских и двумерных осесимметричных задач [16].
Программа решает линейные и нелинейные магнетостатические задачи, линейные и нелинейные нестационарные гармо116
нические магнитные задачи, линейные электростатические задачи и стационарные задачи на теплоперенос. В пакете FEMM
можно выделить 3 основные части:
 Интерактивная оболочка (femm.exe). Представляет собой препроцессор и постпроцессор. Препроцессор имеет CADинтерфейс для создания геометрии исследуемой задачи и для
задания свойств материалов и граничных условий (возможные
варианты граничных условий: условия Дирихле, Неймана, Робина (определяет связь между величиной и её нормальной
производной на границе), а также периодическое и антипериодическое условия для магнитных и электростатических задач и
условия фиксированной температуры, потока тепла, конвекции, излучения, а также периодическое и антипериодическое
условия для задач на теплоперенос). Имеется возможность импорта .dxf-файлов для облегчения анализа геометрии. Постпроцессор позволяет визуализировать поле, полученное в результате решения задачи при помощи контурных линии и графиков плотности. Кроме того, возможно вычисление компонент
поля в произвольных точках, а также расчёт некоторых интегральных характеристик вдоль заданных контурных линий;
 Triangle.exe – разбивщик, осуществляющий разбиение
построенной области на треугольники;
 Решатели (fkern.exe для магнитных задач, belasolv для
электростатических задач, hsolv для задач на теплоперенос,
csolv для задач на электрический ток). Каждый решатель на
основании файлов с данными, описывающих задачу, решает
соответствующую систему дифференциальных уравнений в
частных производных.
Последняя на сегодняшний день версия – FEMM 4.2.
В Воронежском государственном техническом университете на кафедре высшей математики и физико-математического
моделирования разрабатывается система компьютерного моделирования криогенных магнитогравиинерциальных устройств.
Её ядром является комплекс программ FEMPDESolver, предназначенный для численного решения скалярных ДУЧП второго
117
порядка методом конечных элементов c дополнительными условиями, учитывающими специфику электродинамики сверхпроводников [4, 26, 27]. С его помощью можно решать двух- и
трехмерные задачи моделирования электрических и магнитных
полей в многосвязных областях сложной формы в присутствии
сверхпроводящих токонесущих элементов и рассчитывать электромеханические характеристики реальных конструкций
СЭМП. В состав системы также входят: скриптовый пакет программ, реализованный средствами матричной системы компьютерной математики Scilab, предназначенный для решения систем обыкновенных дифференциальных уравнений, описывающих динамику пробных тел криогенных гравиинерциальных
измерителей со сверхпроводящим подвесом пробных тел и программный модуль для численного решения системы интегральных уравнений Фредгольма 1-го и 2-го рода с логарифмической
сингулярностью ядра, написанный на внутреннем языке универсальной системы компьютерной математики Maple 14.
FEMPDESolver написан на языке C++ и состоит из трёх
независимых программных модулей: препроцессора, постпроцессора и процессора.
Препроцессор предназначен для подготовки данных к
решению 2D, 3D и осесимметричных 2D задач методом конечных элементов. На этапе препроцессора производятся следующие операции:
 выбор типа уравнения;
 построение геометрии и её деление на подобласти,
учитывая особенности исследуемой задачи;
 задание граничных и прочих дополнительных условий,
коэффициентов уравнений, описывающих исследуемую задачу;
 разбиение каждой подобласти на конечные элементы с
заданной плотностью узлов, проверка качества сетки;
 сохранение задачи в виде файлов на компьютере.
Препроцессор состоит из следующих функциональных
блоков:
118
Блок построения геометрии области. Для построения
области в программе имеется 3 вида примитивов: точка или
вспомогательный узел, линия и зона. Точки задаются при помощи пар чисел (координат). По точкам определяется линия
(прямая линия, дуга окружности или кривая второго порядка).
Используется 2 вида зон: четырёхугольные зоны и зоны Делоне. Четырёхугольные зоны предпочтительнее, так как лучше
поддаются разбиению.
Блок геометрических операций. Функции, содержащиеся
в этом блоке, позволяют модифицировать расчётную область.
Имеются следующие типы операций: сдвиг, параллельный перенос, поворот-сдвиг, поворот-копирование, гомотетия, зеркальное отображение. Применять вышеупомянутые операции можно к узловым точкам, линиям, поверхностям и подобластям.
Также можно задать область сдвига в виде прямоугольника.
Блок задания параметров задачи позволяет задавать коэффициенты в уравнении, описывающем исследуемую задачу.
Данное уравнение имеет следующий общий вид:
 u


G ( r )    A(u, u, r , t )u   F (u, r , t ) ,
t

где u  u( r , t ) – неизвестная функция, вид функций G, A и F
определяется пользователем. В частном случае, когда
G = F = 0,  = const получим уравнение Лапласа:
 2u  0 ;

если G = 0, F  A f ( r ) ,  = const, то уравнение Пуассона:

 2u   f ( r ) ;

если G = 0,  = const, F   2 Au  A f ( r ) , то уравнение Гельмгольца:

 2 u   2u   f ( r ) ;
119
если G = 0,  = const, F  (1  2 ) Au , то уравнение Лондонов
(добавлено в версии 2.2):
 2 u  (1  2 ) u  0 ;


если A  k ( r ) , F  f ( r , t ) , то уравнение теплопроводности:
u
   k u   f ;
t


если A  k ( r ) , F  a 2u  f ( r , t ) , то уравнение диффузии:
G
G
u
   k u   a 2u  f .
t
Также, в этом блоке задаются граничные и прочие условия. Имеются следующие варианты условий на границе :
 граничное условие 1-го рода


u ( r , t )   q( r , t ) ;
 граничное условие 2-го рода
u

 q(r , t ) ;
n 
 граничное условие 3-го рода

 

 u
 A   B( r , t )  u( r , t )   q( r , t ) ;
 n

 условие периодичности



u( ri  mT )  u ( ri ) ,


где m – целое число, T – период, ri – радиус-вектор i-го узла;
 условие сдвига
 

u( ri  )  u( ri ) ,

где  – вектор сдвига;
120
 условия симметричности и антисимметричности




u ( ri )  u ( rj ), u( ri )  u ( rj ) ,
где i и j – номера двух несовпадающих узлов.
Если рассматривается нестационарная задача, необходимо также задать значение искомой функции в начальный момент времени:

u t 0  U ( r ) .
Важным свойством FEMPDESolver является возможность
задания скачка неизвестной функции
u+ – u– = I,
и потока её градиента
u
 n d   
k
на некоторой линии (поверхности) разреза Γk, соединяющей
одну из внутренних границ с внешней границей области, где u+
и u– – значения неизвестной функции по обе стороны разреза, I
и Φ – заданные постоянные.
Блок визуализации позволяет отображать область решения задачи в удобном для пользователя виде. Допустимые
операции:
 сдвиг изображения и изменение его масштаба;
 разрешение/запрещение отображения номеров объектов;
 отображение краевых и других дополнительных условий;
 отображение конечно-элементной сетки, номеров ее
узлов и элементов;
 отображение прямоугольной координатной сетки.
Блок дискретизации подобластей представляет разбиение подобластей исходной области на конечные элементы.
Разбиение производится блочным методом (только для четы121
рёхугольных подобластей или шестигранных областей в 3Dслучае) или методом Делоне.
Доступны для использования следующие типы конечных
элементов:
а) плоские и осесимметричные задачи
 лагранжев треугольный элемент 1-го порядка (3 узла);
 изопараметрический треугольный элемент 2-го порядка
(6 узлов);
 серендипов четырехугольный элемент 1-го порядка (4
узла);
 изопараметрический четырехугольный элемент 2-го
порядка (8 узлов);
 треугольный эрмитов элемент (4 узла, 10 степеней свободы);
 бесконечный элемент 1-го порядка (4 узла).
б) трехмерные задачи
 лагранжев тетраэдральный элемент 1-го порядка (4 узла);
 изопараметрический тетраэдральный элемент 2-го порядка (10 узлов);
 серендипов гексаэдральный элемент 1-го порядка (8
узлов);
 изопараметрический гексаэдральный элемент 2-го порядка (20 узлов).
Блок проверки качества сетки. Имеются средства для
оценки качества построенной сетки. Для треугольных элементов выводится цветовая карта, где каждый цвет обозначает величину отношения вписанной и описанной окружностей элемента, с помощью которой можно выявить плохие элементы,
влияющие на точность решения задачи, и перестроить их.
В постпроцессоре осуществляется анализ и визуализация результатов задачи, вычисление интегральных и локальных характеристик. Могут быть построены линии равного потенциала, цветовые карты, матрицы стрелок, что позволяет
качественно анализировать картину поля. Также, имеется воз122
можность построения графиков и таблиц для функции u, ее
производных и градиента между любыми двумя точками области и вдоль граничных линий, а также графиков изменения
нормальной производной вдоль линий. В случае нестационарной задачи можно построить график зависимости неизвестной
функции или её производных от времени в конкретной точке.
В состав постпроцессора входят следующие блоки:
Блок визуализации аналогичен соответствующему блоку
препроцессора.
Блок локальных характеристик – вычисляются значения
неизвестной функции, её пространственных производных и
градиента. Возможен вывод результатов для выбранного узла
или элемента.
Блок интегральных характеристик позволяет вычислять
интегральные характеристики системы, такие, как запасенная
энергия системы, сила и момент сил, действующие на поверхность со стороны поля, поток градиента функции через заданную поверхность и др. Интегрирование может производиться
как по границе области (так, например, можно получить силу,
действующую на исследуемый объект, со стороны поля в случае, когда объект находится в мейсснеровском состоянии), так
и по самой области (так получается энергия или сила Лоренца).
Блок построения графиков позволяет строить графики
распределения функции u, ее производных и градиента на любом отрезке либо вдоль линии. Для двумерных областей имеется возможность построения графика изменения нормальной
производной u n вдоль границы, а также трехмерного графика, который представляет собой изображение поверхности
u=f(x,y) или u с возможностью поворота относительно
всех трех осей координат.
Блок визуализации поля позволяет строить эквипотенциали, матрицы стрелок и цветовые карты.
123
Блок вывода результатов позволяет сохранять изображений на экране в виде BMP-файла. Таблицы значений сохраняются в виде текстового файла.
Процессор содержит набор программ для осуществления
всех конечно-элементных вычислений (формирование системы алгебраических уравнений и ее решение). Разреженная
матрица системы уравнений хранится в виде графа смежности,
так, что нулевые элементы не хранятся. Основная часть работы процессора заключается в решении системы линейных алгебраических уравнений. Основным методом, использующимся в программе, является метод сопряжённых градиентов. Из
набора программ, содержащихся в процессорном модуле, составляются специализированные решатели. Так, в версии 2.2
был составлен и оптимизирован решатель для 2D и 3D задач,
описываемых уравнениями Лапласа-Пуассона и 2D задач, описываемых уравнением Лондонов с граничными условиями 1го, 2-го и 3-го рода и дополнительными условиями, заключающимися в скачке потенциала на разрезе, постоянном значении потенциала и фиксированном значении потока градиента потенциала на внутренних границах многосвязной области.
Для этого решателя для случая 2D краевых задач была создана
пре-постпроцессорная оболочка, содержащая графическую
оболочку и сторонний конечно-элементный разбивщик, разбивающий 2D-область на треугольные элементы 1-го и 2-го порядков.
124
4. ЗАДАНИЯ ДЛЯ КУРСОВЫХ РАБОТ
И ТИПОВЫХ РАСЧЁТОВ
4.1. Краевые задачи для обыкновенного
дифференциального уравнения
Обыкновенное дифференциальное уравнение включает
неизвестную функцию, которая зависит только от одной независимой переменной x. Таким образом, имеем одномерную
задачу: область , на которой определяется уравнение, представляет собой отрезок a  x  b. Требуется решить такую задачу с помощью какого-либо пакета программ, предназначенного для решения уравнений, заданных на двумерных областях. Это можно сделать, выбрав расчетную область в виде
прямоугольника a  x  b, c  y  d (c, d произвольны), задав на
x = a и x = b соответствующие граничные условия из постановки задачи, а на y = c и y = d – однородные условия Неймана
u n  0 . Полученное таким способом двумерное распределение u не будет меняться вдоль y, а вдоль x даст искомое решение одномерной задачи.
П р и м е р 1 . Решить краевую задачу



d ( e  x / 5  1) du  ( x  1)u  4sin x ,
dx
dx
4
u(0)  2, u(10)  0 .
Задания
1. Задано дифференциальное уравнение
d 
du 
 p( x )   q( x )u   f ( x )
dx 
dx 
на интервале [a, b]. Требуется найти функцию u(x) такую, что
u(a) = d0 , u(b) = d1 (см. таблицу).
125
№
варианта a
1
0,2
b
d0
p(x)
d1
q(x)
f (x)
1,5
1
1
sinx
–(3+x )
0,5e x
2
2
0
1
2
3
1+x
–ex
–1–x
3
1
2
–3
2
1+x2
sinx–8
1
4
0
1
0
1
1
–x
–2sinx
2
5
1
3
–1
1
x
–2
–e–x
6
–1
2
4
0
1
–(1+x+x2)
–x
7
0
1
3
3
1+sinx
–4
cosx
–1
x
–3
8
9
10
0
–1
4
1
0
5
–1
–1
2
e
x
x
2
2
2
–(1+x )
4
1
0,8x
–6
2 sinx
e
2
2
2
2
2
2. Решить уравнение d u/dx +  u = x, 0  x  1 с краевыми
условиями:
1) u = 0 при x = 0 и u = 0 при x = 1;
2) u = 1 при x = 0 и du/dx = 0 при x = 1;
3) u = 0 при x = 0 и du/dx+u = 0 при x = 1.
Сравнить с точным решением.
2
3. Решить уравнение d u/dx –  u = 0, 0  x  1 с краевыми условиями u = 0 при x = 0 и du/dx + 10 u = 20 при x = 1.
Сравнить с точным решением.
4. Получить численное решение для нелинейного дифференциального уравнения
d 
du 
 (u)   f ( x,u) , 0  x  1
dx 
dx 
с краевыми условиями u(0) = 0, u(1) = 1
1)  = 1; f = – 2,2u + 0,5u3;
2)  = 0,1+cos(u /2); f = 0;
3)  = 1/(u +1); f = 0;
4)  = eu; f = x;
5)  = 1 + 0,1u; f = –10x;
6)  = 1; f = eu;
126
7)  = 1; f = – au2 (a = 2  4);
8)  =u; f = – 1 ;
9)  = 1; f = sinu;
10)  = 1; f = –2 sinu + sin 1 x ( = 0.5  2, 1 = 1  4).
4.2. Краевые задачи для уравнения Лапласа
Требуется найти распределение функции u в двумерной
области, удовлетворяющее уравнению Лапласа
u 2 u 2

0
x 2 y 2
с граничными условиями 1-го, 2-го и 3-го рода. Очень многие
физические процессы допускают подобную формулировку.
Далее под u будем прежде всего понимать скалярный потенциал (задачи электро- и магнитостатики) и температуру (задачи
стационарной теплопроводности).
П р и м е р 2 . Найти распределение электростатического
потенциала в области, показанной на рис. 4.1.
П р и м е р 3 . Найти стационарное распределение температуры в L-образной пластине с различными условиями температурного режима на границах (см. рис. 4.2).
u
+2u = 4
n
u
(0, 10) n = 0
u= 2
u=1
(5, 4)
(0, 0)
u= 1
u=1
u
=0
n
u
=0
n
u
= –0,5
n
(10, 0)
u=1 + x
Рис. 4.1
Рис. 4.2
127
Задания
5. Найти распределение электростатического поля между
обкладками цилиндрического конденсатора. Потенциал u удовлетворяет уравнению Лапласа u = 0 с граничными условиями
Дирихле: u = 1 при r = 1 и u = 0 при r = 2, где r2 = x2 + y2
(см. рис. 4.3). Ввиду симметрии рассмотреть четверть области
(x, y0), задав на границах 1  x  2, y = 0 и 1  y  2, x = 0 однородное условие Неймана u/n = 0. Сравнить полученное численное решение с аналитическим.
Решить ту же задачу для сферического конденсатора, принимая за оси x, y соответственно оси z, r цилиндрической системы координат и рассматривая задачу как осесимметричную.
y
y
(0, b)
(a, b)
(0, 0)
(a, 0) x
x
1
2
Рис. 4.3
Рис. 4.4
6. Найти стационарное распределение температуры в
прямоугольной пластине размеров 0  x  а, 0  y  b в отсутствие источников тепла (рис. 4.4).
№ варианта
а
b
1
1
1
u=0
u = 1
n
u=0
2
0.8
1.5
u =1
u=2
u = 0
n
3
1.25
1
u=0
u=0
u=0
4
2
1
u=5
u = –5
u + u = 0
n
x=0
Граничные условия
x=a
y=0
128
y=b
u = –1
n
u = –2
n
u = 2
n
u = –2
n
№ варианта
а
b
5
0.9
1.6
u = 1
n
6
1
2
u = –y
7
1
1
u = –y
8
1
1.5
u=0
u = –1
n
u = 2
n
u = 2
n
u = 1.5
9
1
0.6
u=0
u=0
u=0
10
1
2
u = 1
n
u = 0
n
u = 10
x=0
Граничные условия
x=a
y=0
u=0
u = 0
n
u=x
u=0
y=b
u = –1
n
u = 0
n
u = –2
n
u=x
u +u=10
n
u + u = 0
n
7. Решить задачу распространения тепла в стенках трубы,
изображенной на рис. П9. На внутренней границе поддерживается постоянная температура 100С, а на внешней границе задано условие ku/n = –u (для простоты положить k =1, =1).
Рис. 4.5
Рис. 4.6
8. Электростатическая линза (рис. 4.6):
u К = 0; u М = –70; –40; –10; u У = 300; 800; 1500; u А = 6000.
rК =0.2 мм; rМ =rУ =0.25 мм; a=0.15 мм; b = 0.265 мм, с=1.22 мм.
Толщина электродов М и У – 0.13 и 0.52 мм соответственно.
9. Найти конфигурацию магнитостатического поля для
изображенных в таблице сверхпроводниковых
тел, помещен
ных во внешнее однородное поле H e . Расчет произвести в

двух вариантах – в продольном и поперечном поле с H e  1 .
129
B
С

Hе
1
A
D
Рис. 4.7
Указание. Для задания внешнего однородного поля расчетную область следует выбирать в виде прямоугольника
(рис. 4.7), стороны которого отнесены на такое расстояние от
сверхпроводников 1 , чтобы влиянием последних на распределение поля можно было пренебречь. Как правило, это примерно пять-шесть характерных размеров сверхпроводника или
системы сверхпроводников. Граничные условия на сторонах
прямоугольника можно задать следующими способами:

1) u AB  u0 ; u CD  u0  H e  AD (u0 выбирается произвольно).




2) u  n  AB  H e ; u  n  CD   H e ; u(P) = u0 (P – произвольная точка внутри области).


3) u AB  u0 ; u  n  CD   H e .
1) Сверхпроводниковый шар
2) Два цилиндра

Hе

Hе
c
3) Два шара
r
4) Шар и кольцо
r


Hе
Hе
z
z
130
5) Три цилиндра
а)
б)

Hе

Hе
6) Два соосных кольца
r
7) Цилиндр с прямоугольным вырезом

Hе

Hе
z
10. Найти стационарное распределение температуры u в
изображенном на рис. 4.8 секторе круга. Использовать показанные краевые условия.
y
1
u
n
u
=– 2
n
=0
x
2
u=1–x
Рис. 4.8
131
1
4.3. Краевые задачи для уравнения Лапласа
с дополнительными условиями
Пусть имеется система электродов, возможно, во внешнем электрическом поле. Требуется найти распределение электростатического поля в области, окружающей эти электроды,
при условии, что электрод (проводник) заряжен (известен либо
его заряд, либо потенциал на его поверхности) или не заряжен
(известно только, что потенциал постоянен на поверхности
проводника). Искомое распределение удовлетворяет уравнению Лапласа для потенциала с граничными условиями 1-го
или 2-го рода, а также дополнительными условиями:
u = const на поверхности проводника;
 (u n )dS  Q (интеграл по поверхности проводS
ника равен вполне определенному числу)
В двумерной задаче поверхность проводника превращается в линию, а интеграл по поверхности – в криволинейный
интеграл.
П р и м е р 4 . Найти распределение электростатического
поля вблизи бесконечного провода круглого сечения, помещенного в поле плоского конденсатора (рис. 4.9).
u = const
u=0
u = 10
проводник
Рис. 4.9
Ввиду симметрии задачи достаточно рассмотреть лишь
половину области.
132
П р и м е р 5 . Найти распределение электростатического
потенциала для системы проводников, изображенной на
рис. 4.10.
проводник
нет заряда
u
=0
n
2
u=0
u=0
1
u
=0
n
проводник
заряд Q =10
Рис. 4.10
Модификации. Решить рассмотренную задачу при измененных условиях:
а) на всех внешних граничных линиях задано u = 0, остальные условия те же;
б) на левой внешней границе области u = 0, на правой
u = 1, на верхней и нижней – u n  0 ; на линиях зоны {21} и
зоны {2}: u = const,
в) на всех внешних граничных линиях u = const; заданы
полные заряды электродов (зоны {21} и {2}), т.е. интегральные условия на соответствующих линиях.
Задания
11. Для изображенных областей и указанных граничных
условий найти распределение электростатического поля, построить эквипотенциальные кривые и графики изменения напряженности поля вдоль некоторых линий. Для проводящих
границ использовать различные варианты условий (u = u0,
u = const или  u u  Q ) .

133
Задачи с плоской геометрией
1) Плоская пластина во внеш- 2) Две пластины во внешнем
нем поле
поле
b

Ее
Г1
c
а

Ее
(отношение сторон 41, 81,
121); u   const
a:b:c = 8:1:5; 6:1:2; 4:1:4
1
3) Бесконечно длинный экран 4) Система электродов во внес поперечным сечением вида: шнем поле
d
b
c
Г1
a
a:b = 2:1; 1:1; c:a = 1:4; 1:3; 1:2;
d:a = 1:12; 1:8; 1:4
5) Цилиндрический конденсатор с электродами внутри (показана четверть области).
r2 /r1 = 2; 3; 4;  = 15; 30;
d = 0.1(r2 – r1); 0.2(r2 – r1);
0.4(r2 – r1)
a
y
d

r1
6) Заряженные проводники во
внешнем поле
a:b = 1:1;
c:a = 1:5;
d:c = 1:3; 1:5.
134
x
r2
Осесимметричные задачи
7) Цилиндрический экран
8) Полый шар с отверстием
r
r

Ее

Ее
z
z
9) Две полусферы во внеш- 10) Кольцо П-образного сечения
r
нем поле
r

Ее

Ее
z
z
10) Цилиндрический конденсатор с двумя кольцами внутри
а) кольца проводящие (u =const)
б) кольца из диэлектрика (  1)
r
1,5
0,5
z
12. Для односвязных сверхпроводниковых систем, представленных в заданиях 23-26 с соответствующими конфигурациями, найти распределение магнитного поля через векторный
магнитный потенциал A.
Указание. В случае плоской геометрии данная задача
сводится к уравнению Лапласа A = 0 с условием A = const на
поверхности односвязного сверхпроводника и граничными условиями 1-го и 2-го рода для учета внешнего поля.
4.4 Краевые задачи для уравнения Пуассона
Уравнение Пуассона имеет вид
 2 u  2u

  f ( x, y ) .
x 2 y 2
Ему подчиняется, например, стационарное распределение
температуры или потенциала в области с распределенными ис135
точниками. Оно, как правило, дополняется граничными условиями 1-го, 2-го и 3-го рода, могут ставиться и другие дополнительные условия.
П р и м е р 6 . Найти стационарное распределение температуры в пластине L-образной формы, рассмотренной в примерах 2 и 3, все стороны которой поддерживаются при нулевой температуре. Пластина нагревается постоянным током,
выделяющим в единице объема тепло Q. Данная задача сводится к решению уравнения Пуассона u = –Q/k (k – коэффициент теплопроводности) в соответствующей области с условием 1-го рода u|Г = 0.
Модификации. Провести аналогичный расчет поля для
других граничных условий:
а) u|x=a=0, u|x=b=0, u n  u y d  0 , u n y 0  0 ;
б) u n x a  0 , u n xb  0 , u n  uy d  0 , u ny0  0 ;
в) u |x a  0 , u |x b  1 , u n  u y d  0 , u n y 0  0
(здесь предполагается a  x  b, 0  y  d).
Решить данную задачу как осесимметричную, считая, что
геометрия области задана в координатах (r, z) цилиндрической
системы, принимая z = x, r = y. В этом случае подобласть источников поля будет представлять собой шар, а вся область
задачи – цилиндр.
Задания
13. Найти стационарное распределение температуры в прямоугольной пластине 0  x  а, 0  y  b, все стороны которой поддерживаются при нулевой температуре. Пластина нагревается
от источников тепла, мощность которых описывается законом:
1) Q(x, y) = c (x2 + y2) + d (c , d – постоянные);
2) Q(x, y) = c sin (mx/a) sin (ny/b) (m, n – целые).
Данная задача сводится к решению уравнения Пуассона
ku = –Q(x, y) (k – коэффициент теплопроводности) в прямоугольнике с граничными условиями u(x, 0) = u(x, b) = u(0, y) =
= u(a, y) = 0.
136
14. Найти стационарное распределение температуры в
области, представленной на рис. 4.10, если в подобластях  1 и
2 имеются источники поля постоянной плотности. В качестве
граничных условий на внешней границе области использовать
u n  u    0 , u |  0 либо какие-нибудь другие, не лишенные физического смысла.
15. Для конфигураций, представленных в заданиях 23-26,
найти распределение магнитного поля, считая, что через проводники течет ток с заданной постоянной плотностью j. Указание.
Искомое распределение в виде векторного магнитного потенциала A можно найти, решив уравнения:
 2 A    0 j внутри проводника,
2 A  0
вне проводника.
16. Решить задачу Дирихле
 2u  2u

 4,
x 2 y 2
в области, заданной неравенством x 2  y 2  1 , с условием на
границе Г u   2 y .
17. Решить задачу Дирихле
 2u  2u

 4,
x 2 y 2
в области, заданной неравенством x 2  y 2  1 , с условием на
границе Г u   2 xy .
18. Решить задачу Дирихле
 2u  2u
 2 u  2u
y



xe
,
 2  xe y ,
б)
2
2
2
x
y
x
y
в области, заданной неравенствами 0  x  1, 0  y  1 , с условиями на границах:
а)
u( x , 0)  x, u ( x, 1)  e  x, u (0, y )  0, u(1, y )  e y .
137
4.5. Решение краевой задачи при наличии
физически неоднородных сред
П р и м е р 8 . В однородное элек2 = 1
тростатическое поле помещен бесконечный цилиндр диаметром d = 2 из диэлек- Г
Г2
1
1
трика с проницаемостью 1. Найти распределение поля вблизи и внутри цилинРис. 4.11
дра. Диэлектрическую проницаемость
окружающего пространства считать равной 1.
Задача сводится к решению уравнения Лапласа u = 0
в прямоугольной области, состоящей из подобластей с различными значениями проницаемости, и с граничными условиями
u = 0 при x = a, u n  1 при x = b (a произвольно, расстояние
|b–a| достаточно велико) и u n  0 на остальной части границы.
Задания
19. Для представленных ниже конфигураций найти распределение магнитостатического поля, построить эквипотенциальные кривые и графики изменения напряженности поля
вдоль нескольких линий.
При неуказанных размерах геометрию области задавать
приближенно, сохраняя конфигурацию и масштаб рисунка. В
случае затруднений обращаться к преподавателю.
1) Цилиндр с проницаемо- 2) Бесконечный полый цилиндр
=1
стью 1 в вакууме
1


Hе
1
Hе
=1
r1 r
2
 =1
1 =0.01; 0.333; 3; 10; 100. r2 : r1 = 3 : 2; 2 : 1; 3 : 1.
1 = 5; 10; 100.
138
3) Полый цилиндр с дном
r
4) Пластина
 = 100
1


Hе
Hе
z
=1
5) Система плотно приле- 6) Полый шар
r
гающих пластин с различными проницаемостями

1
 =1
Hе
2

Hе
z
 =1
r1 r2 r3
1 2 3
1 = 5; 2 = 10; 3 = 20.
7) y
 = 1
1
r3 :r2 :r1 =5:4:3; 3:2:1; 5:3:1.
1 = 3, 2 = 5; 1 = 3, 2 = 10.
8)
3
1
2
 = 0
1
1
x
1
2
 1 = 5; 50; 100.
1)  1 =  3 ;  2 >  1
2)  1 = 1;  2 = 10;  3 = 20
20. Найти стационарное распределение температуры в
области, представленной на рис. 4.10, если подобласти 1 и 2
заполняют среды с коэффициентами теплопроводности k1  k0
и k2  k0 (k0 – коэффициент теплопроводности в остальной части области). На внешней границе области использовать подходящие условия температурного режима.
21. Решить задачу о распределении магнитного поля для
областей, представленных в задании 19, используя формулировку на основе векторного потенциала:
139
1

  A   0 .


22. Найти распределение магнитостатического поля в области, представленной на рис. 4.10, если через проводники 1
и  2 с магнитными проницаемостями 1 и 2 протекают токи с
постоянной плотностью j1 и j2 соответственно.
Решить ту же задачу, если j2 = 0, j1  0, а также для случая, когда оба проводника помещены во внешнее однородное
магнитное поле Не .
Указание. Для решения использовать следующую формулировку:
1

 A    0 j внутри проводника,


2 A  0 вне проводника.
4.6. Краевые задачи для уравнения Лапласа
в области с разрезами
В задачах расчета магнитостатического поля вблизи массивных сверхпроводников через скалярный магнитный потенциал требуется решить уравнение Лапласа
 2u  2 u

0
x 2 y 2
с учетом однородного условия Неймана u n  0 на границе
сверхпроводника, с граничными условиями 1-го и 2-го рода на
остальных границах и дополнительным условием скачка на
некоторой поверхности (в двумерном варианте – линии) разреза . Условие скачка означает, что каждой точке разреза потенциалу приписывается два значения (по одну и по другую
сторону разреза), отличающихся между собой на одно и то же
число – силу тока I. В результате получается, что потенциал
при переходе через  терпит скачок, равный I. Точная матема140
тическая формулировка такой задачи
предполагает два варианта задания
условий на :
1) известен текущий в сверхпроводнике ток, тем самым задается
вполне определенный скачок потенциала
u  u   I ;
+ –
Г
Рис. 4.12
2) известен фиксированный поток 0 через поверхность
(линию) разреза, т.е. ставится интегральное условие
  (u n )d   ,
0
0

при
одновременном
выполнении
условия
скачка
u  u   const (точное значение этого скачка заранее неизвестно; оно определится после решения задачи).
Разрез проводится так, чтобы из двусвязной область превратилась в односвязную. В двумерных задачах он, как правило, соединяет сверхпроводник и внешнюю границу расчетной
области (рис. 4.12). В осесимметричных задачах наиболее естественным представляется проведение линии разреза от
сверхпроводника к оси z (в этом случае разрез будет закрывать
отверстие сверхпроводящего кольца).
Приведенная постановка задачи обобщается на любое
число токонесущих сверхпроводников, при этом к каждому из
них проводится свой разрез с соответствующим значением либо Ii , либо 0i .
Замечание. При решении рассматриваемых здесь задач
необходимо помнить, что при наличии граничных условий
только Неймана (а это наиболее частый случай) все ограничения на потенциал формулируются относительно разности его
значений (проверьте!). Это означает, что скалярный магнитный потенциал определяется с точностью до константы. Метод
конечных элементов не приемлет такой неоднозначности, поэтому, чтобы ее исключить, необходимо задать вполне кон141
кретное значение потенциала (например, ноль) в каком-либо узле P конечно-элементной сетки.
R1
П р и м е р 9 . Найти распределение
магнитного
поля, создаваемого бесR2
конечным сверхпроводниковым проводом круглого сечения с током I = 1 A
внутри сверхпроводниковой полости
(см. рис. 4.13). Положить R2 /R1 = 3.
Рис. 4.13
Порядок решения:
1) Запустить pre2d.exe. Ввести новый номер задачи.
2) Ввод четвертой части геометрии области:
– ввести узлы с координатами (0,0), (1,0), (0,1), (3,0), (0,3);
– ввести линию как дугу окружности, соединяя узлы 2 и 3, относительно центра 1; аналогично ввести линию, соединяющую
узлы 4 и 5 по окружности с тем же центром;
– ввести четырехугольную зону по линиям 1 и 2.
3) Получить всю область, дважды применяя операцию зеркального отображения: первый раз отобразить зону 1 относительно оси 1–3, а второй раз – зоны 1 и 2 относительно оси 7–4.
4) Ввести разрез и скачок потенциала на нем. Линией разреза может быть любая линия, «разрезающая» область в радиальном направлении, например, линия 4.
«Файл»  «Граничные условия»  «Разрез» [4,1,9] <Enter>
5) Произвести разбиение зон, определяя числа деления в
любой зоне как 45 и 30.
6) Проверить, что задано действительно уравнение Лапласа.
7) Задать условие u = 0 в каком-либо узле сети, не лежащем на разрезе (таким узлом, например, является узел 2000):
«Файл» «Граничные условия» «Условие в узле сети» [2000,0].
8) Выйти из программы pre2d и, следуя стандартной схеме, запустить последовательно программы appl_fem, difeqt,
post2d.
9) Как обычно, отобразив в программе post2d картину поля, вывести затем значения напряженности поля в радиальном
142
направлении, определить энергию поля. Сравнить результаты
с аналитическими формулами:

R
H  I ; W  0 I 2 ln 2 .
2r
4
R1
10) Вычислить силу, действующую на провод. Для этого
следует предварительно пометить линии, лежащие на границе
провода (F7), а затем войти в меню «Вычислить» и выбрать
«Найти силу».
Модификации. На основе введенной геометрии путем несложных изменений легко получить решения следующих задач.
а) Смещенный круглый провод внутри цилиндрической
полости (рис. 4.14).
Примерные шаги: загрузив предыдущую задачу в режиме
«Данные для автоматического разбиения», выбрать операцию
«Параллельный перенос»«Линии» [список линий:] <Enter>
[вектор переноса: 0.8,0] <Enter>, удалить лишние узлы/лини и,
затем разбить на конечные элементы по типу предыдущей задачи и далее – по стандартной схеме (внимание: условие в узле сети не сохраняется, его необходимо снова вводить!).
Загрузка задачи в режиме «Только геометрия» предполагает после выполнения операции сдвига или параллельного
переноса линий, составляющих границу провода, проведения
нового разбиения зон (что при большом смещении может оказаться оправданным).
б) Провод в виде кольца круглого сечения (тор) внутри
тороидальной полости (рис. 4.15).
r
R2
О
R
R1
О
O
z
Рис. 4.14
Рис. 4.15
143
Предположим, что радиус тора равен R (очевидно,
R > R2). Если центр сечения O рассмотренной в примере задачи
совпадает с началом координат, то, смещая всю область вверх
на R единиц, получим требуемую геометрию задачи. Под координатами (x, y) при этом соответственно понимаем (z, r) цилиндрической системы. Задача теперь формулируется как осесимметричная: вращая область вокруг оси z, получим нужные
пространственные объекты.
Пусть R = 4,5. Примерные действия: загрузить одну из
рассмотренных здесь плоских задач (смещенный или несмещенный провод внутри полости) в режиме «Данные для автоматического разбиения»; выбрать операцию «Сдвиг» «Зоны» [список зон; перечислить все зоны:1,2,3,4] <Enter> [вектор сдвига: 4.5,0] <Enter>; разбить на конечные элементы по
типу предыдущей задачи <Ctrl+F8>. Далее – по стандартной
схеме (внимание: условие в узле сети не сохраняется, его необходимо снова вводить!).
Задания
23. Плоские задачи.
Бесконечный провод внутри бесконечной полости. Расчеты провести в зависимости от расстояния .
2)
1)

3)

4)


144
24. Осесимметричные задачи.
1) Кольцо в кольцевой полости
а)
r
б)
r


z
в)
r
z
г)
r
z
д)
z
е)
r
r
z

2) Кольцо с током:
R – радиус кольца,
a – радиус проволоки,
(a/R = 0.1; 0.333; 0.5).
z
r
z
145
3) Кольцо над плоскостью
а)
r
r
б)


z
4)
z
5) Шар и кольцо с током
r
r
z
z
25. Найти стационарное распределение магнитного поля в
двумерной области, представленной на рис. 15, если через сверхпроводники (подобласти 1 и 2) протекают токи I1 и I2. На
внешней границе области использовать однородное условие
Неймана.
26. Для представленных ниже конфигураций найти распределение магнитостатического поля, построить эквипотенциальные кривые и графики изменения напряженности поля вдоль
нескольких линий. Использовать формулировку задачи как с
заданными токами, задавая на линиях разреза соответствующие
скачки скалярного потенциала, так и с заданными потоками.
Вычислить энергию, индуктивности и взаимоиндуктивности.
Определить силы, действующие на сверхпроводники.
Моделирование указанных токонесущих сверхпроводников провести как для открытого, так и для и закрытого объема.
Указание. Размеры сверхпроводников задавать приближенно, сохраняя конфигурацию и масштаб рисунка. В случае
затруднений обращаться к преподавателю.
146
Плоские задачи.
1) Два провода над плоскостью
а)
б)
в)
г)
2) Два провода над неровной поверхностью
а)
б)
3) Пластины над плоскостью
а)
б)
в)
г)
147
Осесимметричные задачи.
r
4)
5)

6)
r
z
r
z
7)
r
8)
z
r
9)
r
z
z
z
11) r
10) r
12) r
z
z
13)
14)
r
z
15)
r
z
z
148
r
z
4.7. Краевые задачи для уравнения Лондонов
Для описания проникновения магнитного поля в сверхпроводник воспользуемся моделью Ф. и Г. Лондонов, согласно
которой магнитное поле внутри сверхпроводящего образца
описывается уравнением


B   2L rot rot B  0 ,
где L – так называемая лондоновская глубина проникновения
– имеет размерность длины. В случае трансляционной симметрии (плоскопараллельное поле B   0, 0, B ( x, y )  ) данное
уравнение приобретает скалярную форму
2B 2B

 2L B  0 .
x 2 y 2
Для некоторых задач уравнение Лондонов удобно переформулировать относительно векторного магнитного потен


циала A ( B  rot A ). Тогда для плоскопараллельного поля

A   0, 0, A( x, y )  внутри сверхпроводника требуется решить
уравнение
2 A  2 A 1


A  0.
x 2 y 2 2L
В осесимметричных задачах векторный потенциал направлен вдоль азимутального направления , компоненты Ar и
Az равны нулю. Для расчета поля целесообразно ввести новую
переменную – функцию потока –   2rA , которая удовлетворяет уравнению
  1     1   1
  0 внутри сверхпроводника.

 

r  r r  z  r z  2L r
П р и м е р 1 0 . Найти распределение магнитного поля
внутри бесконечного сверхпроводящего цилиндра, помещенного в однородное внешнее поле Вe , параллельное его оси.
149
Задания
27. Для следующих
сверхпроводниковых областей найти

распределение поля B с учетом лондоновского проникновения.
1) Бесконечная пластина
2)
b




Bе
a
Bе
b = 1, a = 2; 5; 10
3) Неровности на поверхности сверхпроводника:
а)
б)
d
S


A
Bе
b
c
B


D
Bе
a
c
b
d
a
C
a = 6; b = 4; c = 0.8; d = 1.
Граничные условия: B
 B
 0,
n AB n CD
4) Пластина с отверстием
сверхпроводник
воздух
B BC = 0,
B S  Be .
5) Цилиндр со сквозным
отверстием
сверхпроводник
воздух


Bе

Bе
Указание. В заданиях 4) и 5) использовать следующую
формулировку:
2
 B = (1/2)B в сверхпроводнике,
2
 B = 0 в воздухе;
В = Ве на внешней границе сверхпроводника.
150
28. Найти распределение магнитного поля для бесконеч
ного цилиндра, помещенного во внешнее однородное поле Be ,
перпендикулярное его оси.
Указание. Использовать формулировку для векторного
потенциала:
А = 0 вне сверхпроводника;
A  (1/  2L ) A  0 внутри сверхпроводника.
Расчетную область следует выбрать в виде прямоугольника, при этом граничные условия на его сторонах легко форA  A  
i
j  Be .
мулируются на основе соотношения
y
x
29. Найти распределение магнитного поля для шара, помещенного во внешнее однородное поле.
Указание. Использовать формулировку функции потока:
1

     0 вне сверхпроводника;
r

1
 1
     2   0 внутри сверхпроводника.
r
 Lr
Граничные условия определяются из соотношений
( Be ) r  
1 
;
r z
( Be ) z 
1 
.
r r
30. Решить задачу о распределении поля для системы
кольцо+шар (см. задание 24 п. 5), считая, что в кольце протекает сверхток I и оно находится в чисто мейсснеровском состоянии (в него поле не проникает совсем), а шар имеет отличную от нуля глубину проникновения.
151
4.8. Смешанная краевая задача
для уравнения теплопроводности
В этой работе требуется найти распределение функции
u(x, y, t), удовлетворяющей нестационарному уравнению теплопроводности
c u   k u    k u   Q ,
t x x
y  y 
заданного в области , граничным условиям 1–3-го рода и начальному условию
u(x, y, 0) = u0(x, y).
Помимо задачи распределения тепла (u – температура),
такой постановке удовлетворяет, например, задача распределения магнитного поля внутри проводника, на который действует внешнее поле Hе (в квазистационарном приближении).
Действительно, в случае трансляционной симметрии в направлении z, требуется решить уравнение внутри проводника
2
2
1 H z   H z   H z ,
(4.1)
 t
x 2
y 2
где  = (0)–1 (0 = 410–7 Гн/м – магнитная постоянная,  –
удельная проводимость:   107 Ом–1м–1) с соответствующими
начальными и граничными условиями.
 
Задания
31. Затухание магнитного поля в прямоугольной бесконечно длинной пластине.
Пусть прямоугольная пластина со сторонами a и b = a/2
имеет бесконечное направление вдоль оси z, а магнитное поле,
направленное вдоль этой же оси, в наy
чальный момент времени внутри пластиb
ны имеет распределение H0(x, y). Тогда
изменение магнитного поля Hz(x, y) в поx следующие моменты времени опредеa
лится уравнением (4.1) с учетом граничных и начальных условий
Рис. 4.16
152
Hz(0, y, t) = Hz(a, y, t) = Hz(x, 0, t) = Hz(x, b, t) = 0,
Hz(x, y, 0) = H0(x, y),
0 < t < ,
0  x  a, 0  y  b.
Найти конечно-элементное решение для b=1, a=2; 5; 10,
=0.1, H0 = 1, H0 = sin(x/a) sin(y/b).
Сравнить с аналитическим решением:
b
a
4 
mx
n y 
H т  x , y , t      dy  H  x , y , 0 sin
sin
dx  
a
b
m ,n ab  0
0


 m 2 n 2   m x
n y
 exp   2  2  2  t  sin
sin
.
b  
a
b
a

32. Проникновение переменного магнитного поля в прямоугольную бесконечно длинную проводящую пластину.
Рассмотрим ту же пластину, что и в предыдущей задаче,
но помещенную во внешнее переменное поле с частотой .
Тогда для определения поля внутри пластины требуется решить уравнение (4.1) при следующих условиях
Hz(0, y, t) =Hz(a, y, t) = Hz(x, 0, t) = Hz(x, b, t) = H0 sint, 0 < t < ,
Hz(x, y, 0) = 0, 0  x  a, 0  y  b.
Таким образом, имеем задачу с периодическими граничными
условиями. Размеры пластины взять, как в задании 1, а частоту
 = 10, 20, 100, 200. Определить глубину скин-эффекта.
33. Для следующих областей (рис. 4.17-4.19) решить задачи в условиях заданий 31 и 32.




Hе

Hе
а)
б)
Рис. 4.17. Бесконечный цилиндр
153
0


=0


=0
Hе
Hе
Рис. 4.18. Пластина с отверстием
0
Рис. 4.19. Полый цилиндр
34. Найти изменение распределения температуры со временем в тонком однородном стержне. На концах стержня задаются температурные режимы. Начальная температура всего
стержня постоянная.
Задача сводится к решению уравнения теплопроводности
u
 2u
 k 2 , 0  t  t1, 0  x  a,
t
x
u(x, 0) = u0, u(0, t) = 0(t), u(a, t) = 1(t), где u(x, t) – температура стержня в точке x в момент времени t. Коэффициент k принять равным 1.
№ варианта
1
2
3
4
5
а
1.2
1.1
0.8
0.6
1.4
t1
2
2.2
2.4
2.6
2.8
u0
10
12
15
18
22
0(t)
u0 + 0.2t
u0 – t
u0
u0 e t
u0 + sint
1(t)
u0 – 0.3t
u0 + sin2t
u0 – 4t
u0 e –t
u0
35. Найти изменение температуры u(x, y, t) во времени для
однородной квадратной пластины. Начальное распределение
температуры задано: u(x, y, 0)=x+y. Краевые условия: u(x,0,t) =
= xe –at; u(x,1, t) = (1 + x)e –at; u(0, y, t) = ye –at; u(1,y, t)=(1+y)e –at.
Задача сводится к решению уравнения теплопроводности
u/t = ku в области {0  x  1 , 0  y  1 , 0  t  t1}. Коэффициент k принять равным 1, t1 и a взять из таблицы задания 34.
154
4.9. Сверхпроводниковые подвесы
В данной работе требуется найти распределение магнитного поля для подвесов и вычислить ряд электромеханических
характеристик, имеющих практический интерес. Предполагается, что ток I во всех токонесущих элементах одинаков. Тогда
индуктивность можно определить по формуле

2W 
L  2  20  H 2 d ,
I
I 
или в дискретном виде
L
0

  N i N j d  20  Sij i  j .
2  i j
I i, j
I i, j
Сила, действующая на сверхпроводящее тело, –



FH  20  H 2 d  20   N i N j d
I S
I i, j S
(S – поверхность сверхпроводника).
Компонента силы Fq, действующая вдоль обобщенной
координаты q, и запасенная энергия (индуктивность) связаны
соотношением
W 1 2 L
Fq 
 I
.
q 2 q
Матрица жесткости, характеризующая отклик системы на
возмущение по степеням свободы p и q, определяется как
1
 2L
  I2
.
(4.2)
q
2 pq
Таким образом, чтобы вычислить жесткость, необходимо
провести серию расчетов распределения поля для малых смещений сверхпроводящего тела вдоль всех степеней свободы. В
результате строится зависимость L = L(p, q) в виде степенного
ряда путем подбора коэффициентов интерполяционным методом. Затем по формуле (4.2) вычисляются коэффициенты cpq .
c pq  
Fp
155
Задания
36. Для представленных ниже конфигураций подвесов,
имеющих трансляционную симметрию (плоские задачи) найти
индуктивность L, подъемную силу FH , жесткости cxy , cxx , cyy , а
также точку на поверхности сверхпроводников, где напряженность поля максимальна. Для функции L использовать представление
L(x, y) = L0 + a(y – y0) + b(y – y0)2 + с(y – y0)3 + d(x – x0)2 +
+ e(y – y0) (x – x0)2,
где x0, y0 – координаты центра тяжести тела в положении равновесия, L0, a, b, с, d, e – коэффициенты, подлежащие определению.
1.
2.
3.
4.
5.
6.
156
37. Для представленных ниже конфигураций подвесов,
имеющих осевую симметрию относительно оси z, найти индуктивность L, подъемную силу FH ,. жесткость czz и точку на
поверхности сверхпроводников, где напряженность поля максимальна. Для функции L использовать представление
L(z) = L0 + a(z – z0) + b(z –z0)2 + с(z – z0)3,
где координата z0 соответствует равновесному положению тела, L0 , a, b, с – коэффициенты, подлежащие определению.
1.
r
2.
r
z
z
3.
r
4.
r
z
5.
z
6.
r
r
z
z
7.
r
8.
z
r
z
157
ПРИЛОЖЕНИЕ 1
Основные физико-математические модели модуля AC/DC
и базового модуля Comsol Multiphysics [37]
Система уравнений Максвелла
∇×
= +
∇×
=−
∇∙
= ,
,
,
∇ ∙ = 0,
и следующее из них уравнение непрерывности
∇∙ =−
,
является дифференциальной формой закона сохранения заряда. Здесь и – векторы напряжённости и индукции магнитного поля соответственно, и
– векторы напряжённости и
индукции электростатического поля соответственно, – вектор
плотности тока, – объёмная плотность электрического заряда.
Материальные соотношения
=
=
=
+ ,
(
),
+
+
,
где
– вектор поляризации,
– вектор намагниченности,
= 8.85 ∙ 10
Ф/м – диэлектрическая проницаемость вакуума (электрическая постоянная),
= 4 ∙ 10 Гн/м – магнитная проницаемость вакуума (магнитная постоянная).
Третье уравнение системы – дифференциальная форма закона
Ома с добавочной плотностью внешнего тока .
158
В случае линейных изотропных материалов вектор поляризации коллинеарен вектору напряжённости электрического поля, а вектор намагниченности – напряжённости магнитного поля. В этом случае материальные соотношения имеют
вид:
=
(1 +
) =
=
=
(1 +
)
=
=
,
,
где
и
– диэлектрическая и магнитная восприимчивость
соответственно,
– относительная диэлектрическая проницаемость среды,
– относительная магнитная проницаемость
среды, и – диэлектрическая и магнитная проницаемость
среды соответственно.
В случае анизотропных сред материальные соотношения
записываются в тензорной форме.
Потенциалы электромагнитного поля
=∇× ,
= −∇ −
,
где – векторный магнитный потенциал, – скалярный электрический потенциал.
В магнитостатическом случае, когда выполняется условие = 0, представляется возможным представить напряжённость магнитного поля в виде
= −∇
где
,
– скалярный магнитный потенциал.
Задачи в постановке индуцированного потенциала
=
+
,
где
– потенциал внешнего магнитного поля,
циал индуцированного магнитного поля.
159
– потен-
Для различных типов анализа используются следующие
уравнения:
 гармонический анализ:
(
)(
−
)+∇×
+
∇×(
где – мнимая единица,
– частота,
мость среды;
 нестационарный анализ:
(
)+∇×
+
+
) =
,
– удельная проводи-
∇×(
) =
+
;
 стационарный анализ:
∇×(
∇×
где ∇ ×
поля.
=
) =
+
,
– вектор индукции внешнего магнитного
Электромагнитная энергия
Электрическая и магнитная энергия рассчитываются по
следующим формулам:
=
∙
=
∙
=
∙
=
∙
,
.
Дифференцирование этих выражений по времени даёт
формулы для расчёта электрической и магнитной мощности:
=
∙
160
,
=
∙
.
Из уравнений Максвелла следует формула Пойнтинга:
−
∙
+
∙
=
(П1.1)
=
∙
+
( × )∙
,
где первый член в правой части ответственен за джоулевы потери, а второй определяет поток электромагнитной энергии
через поверхность S.
В случае, если материал линейный и изотропный, подынтегральные выражения в формулах для мощностей принимают
вид:
1
∙
=
∙
=
∙ ,
2
∙
=
1
∙
=
1
2
∙
.
Подстановка этих выражения в формулу (П1.1) и изменение порядка дифференцирования по времени и интегрирования даёт:
1
2
−
=
∙
∙
+
+
1
2
( ×
∙
=
)∙
.
Подынтегральное выражение в левой части представляет
собой плотность полной электромагнитной энергии:
161
=
+
1
2
=
∙
+
1
2
∙ .
Квазистационарное приближение
Уравнение непрерывности и закон Максвелла-Ампера в
этом случае принимают вид:
∇×
= ,
∇ ∙ = 0.
Сила Лоренца, действующая на единичный заряд, движущейся со скоростью , вычисляется по формуле:
=
+
× .
Соответствующая объёмная плотность тока движущегося
проводника имеет следующий вид:
= ( +
× )+
,
а уравнение закона Максвелла-Ампера:
∇×
= ( +
× )+
.
Условия на границе раздела двух сред
×(
−
)= ,
∙(
−
)=
,
×(
−
)=
,
∙ ( − ) = 0,
где
– внешняя нормаль по отношению к области, занятой
средой 2, и – плотности поверхностного тока и поверхностного заряда.
Соответствующие условия для плотности тока имеют вид:
∙(
−
)=−
162
.
Помимо упомянутых выше граничных условий в интерфейсах модуля AC/DC имеется набор дополнительных граничных условий, позволяющих решать различные задачи из
области электромагнетизма.
Основные уравнения механики сплошных сред
Уравнение Коши механики сплошной среды:
=∇∙
+
,
где – плотность, – радиус-вектор материальной точки, –
тензор напряжений,
– внешняя объёмная сила.
В стационарном случае ускорение отсутствует, тогда
уравнение Коши сводится к уравнению баланса сил:
=∇∙
+
,
На границе раздела двух сред тензор напряжений должен
быть непрерывен:
(
)= ,
−
где
и
– тензоры напряжений в материалах 1 и 2,
–
внешняя нормаль по отношению к области, занятой материалом 1.
В некоторых случаях представляется возможным разделение тензора напряжений на компоненту, обусловленную
электромагнитным полем, и тензор механических напряжений:
=
+
.
Иногда вместо тензора электромагнитных напряжений
используется электромагнитная объёмная сила:
∇∙
где
=
,
– объёмная электромагнитная сила.
Уравнение баланса сил в этом случае примет вид:
=∇∙
+
163
+
.
Силы, действующие на упругое твёрдое тело, находящееся
в вакууме или пространстве, заполненном воздухом
В этом случае уравнение баланса сил и условие на границе тела имеют вид:
∇∙
+
=
внутри тела,
−
)+
=
на границе тела,
(
где индекс «1» обозначает твёрдое тело, а индекс «2» – внешнюю область, занятую вакуумом или воздухом;
– внешняя
граничная сила, представляющая собой силу реакции, обусловленную другим телом, к которому рассматриваемое тело
притягивается.
Для вычисления полной силы, действующей на тело, эти
уравнения интегрируются по объёму тела и его границе:
(∇ ∙
)
+
(
+
Ω
(
)+
−
)
= .
Ω
В соответствии с теоремой Гаусса:
∇∙
−
Ω
= .
Ω
Соответственно, внешняя сила, действующая на тело
=
+
Ω
,
Ω
должна уравнивать член, представляющий собой интеграл тензора напряжений в окружающем тело вакууме
=
.
Ω
164
(П1.2)
Таким образом,
+ = . В случае отсутствия внешних сил стационарность нарушается и тело начнёт движение
под действием силы
в соответствии со вторым законом
Ньютона.
Крутящий момент вычисляется по формуле:
( −
=
)×(
)
,
Ω
где
– радиус-вектор точки на оси вращения, относительно
которой рассчитывается момент.
Силы в стационарных полях
Стационарные поля характеризуются соотношениями:
= 0,
= 0.
Тензор напряжений в области, занимаемой воздухом,
имеет вид:
=−
−
1
2
∙
+
1
2
∙
+
+
1
, (П1.3)
где – давление воздуха, – единичная матрица, и – векторы размерности 31.
Если же среда заполнена вакуумом, а не воздухом, то
= 0. В этом случае
называется тензором напряжений
Максвелла.
Так как для воздуха выполняются соотношения =
,
=
, то (П1.3) преобразовывается к виду:
1
1
∙ +
∙
2
2
а уравнение баланса сил –
1
1
=∇∙ − −
∙ +
∙
2
2
=−
−
165
+
+
+
+
,
+
.
В пустоте электромагнитная часть тензора напряжений
исчезает, а уравнение баланса сил сводится к виду:
= −∇ +
,
т.е. используя предыдущие обозначения,
= ,
=− .
Когда тело окружено воздухом, сила, действующая на
тело, вычисляется при помощи подстановки тензора напряжений (П1.3) в поверхностный интеграл (П1.2).
Для упругого проводника (выполняются условия
= ,
= ) тензор напряжений имеет следующий вид:
1
1
=
−
∙ +
∙
+
+
,
2
2
где =
, =
.
В отличие от воздуха, здесь ненулевыми являются значения объёмной плотности тока:
=∇×
=
1
∇×
и объёмной плотности заряда:
=∇∙
=
∇∙ .
Уравнение баланса сил в этом случае записывается в виде:
= ∇∙
+
+ ×
+
,
или, пользуясь предыдущими обозначениями,
=
+ ×
.
Для обобщённого упругого материала тензор напряжений имеет наиболее общий вид:
1
1
= ( , )−
∙ +
∙ − ∙
+
2
2
1
+
+
+
−
,
где зависимость ( , ) определяется моделью материала.
166
Силы, действующие на движущиеся тела
В случае, если тело движется с постоянной скоростью,
некоторые величины в описанных выше уравнениях заменяются инвариантами Галилея – величинами, не изменяющимися
при координатных трансформациях вида
=
+ . Используются следующие инварианты:
=
=
+
× ,
= −
,
+ (∇ ∙ ) − ∇ × ( × ),
=
=
+
−
× ,
×
−
.
В области, окружающей движущееся тело, заполненной
вакуумом или воздухом, тензор напряжений примет вид:
1
1
=− −
∙ +
∙
+
2
2
+
+
+( × ) .
Для упругого чистого проводника формула будет следующей:
=
−
+
+
1
2
∙
+
1
2
∙
+
(П1.4)
+( × )
.
Уравнение баланса сил изменяется за счёт электромагнитного члена:
+
×
=∇∙
+
.
В результате будем иметь:
=∇∙
+
167
+ ×
+
.
Для обобщённого упругого материала величины в тензоре напряжений (П1.4) также заменяются на соответствующие
инварианты:
=
+
,
+
−
1
1
2
∙
+
+
1
2
−
∙
−
∙
+
+
( × )
.
Электромагнитная энергия и виртуальная работа
При условии постоянства магнитного потока полная
магнитная сила, действующая на систему, вычисляется как:
= −∇ .
Если система вращается вокруг оси, крутящий момент
вычисляется следующим образом:
=−
,
где
– угол вращения вокруг этой оси.
При условии постоянного тока сила и момент вычисляются так же, только с противоположным знаком:
=∇
,
=
.
При условии постоянства заряда полная электростатическая сила, действующая на систему, и крутящий момент,
вычисляются следующим образом:
= −∇
=
168
,
.
При условии постоянства потенциала эти величины
имеют вид:
=∇ ,
=
.
Индексы в этих формулах обозначают постоянство соответствующей величины.
Основным уравнением, описывающим процесс переноса
тепла в среде, является уравнение теплопроводности:
+ ( ∙ ∇)
=
(П1.5)
= −(∇ ∙ ) + : −
+ ( ∙ ∇)
+ ,
где – плотность среды (кг/м3),
– удельная теплоёмкость
при постоянном давлении (Дж/(кгК)), – абсолютная температура (К), – вектор скорости (м/с), – вектор потока тепла
по причине теплопередачи (Вт/м2), – давление (Па), – тензор вязких напряжений (Па), обозначает источники тепла, за
исключением вязкостного нагрева (Вт/м3), – тензор скоростей деформации (1/с):
1
= (∇ + (∇ ) ),
2
:
=
.
К этому уравнению необходимо добавить уравнение закона сохранения масс:
+∇∙(
) = 0.
Процесс теплопередачи описывается законом Фурье, который гласит, что поток тепла, обусловленный теплопередачей, пропорционален градиенту температуры:
169
=−
,
(П1.6)
где
– коэффициент теплопроводности (Вт/(мК)). В анизотропном случае представляет собой тензор и (П1.6) примет
вид:
=−
.
При подстановке уравнения закона сохранения масс в
уравнение теплопроводности и пренебрежении вязкостным
нагревом (второе слагаемое в правой части уравнения теплопроводности) и работой давления (третье слагаемое в правой
части уравнения теплопроводности) получим:
+
∙∇ = ∇∙( ∇ )+ .
В случае, когда скорость равна нулю, получим уравнение
чистого кондуктивного теплообмена:
+ ∇ ∙ (− ∇ ) = .
Имеются следующие варианты граничных условий для
задач на теплоперенос:
 = – задание температуры на выбранных границах;
 − ∙ (− ∇ ) = , где (Вт/м2) может характеризовать поверхностный источник тепла, внутренний поток тепла или излучение тепла в окружающую среду. В последнем случае
= (
− ), где – коэффициент теплового излучения,
= 5.67 ∙ 10 Вт/(м ∙ К ) – постоянная Стефана-Больцмана,
– температура окружающей среды;
 периодическое условие – равенство температур на выбранных границах.
Если модель включает в себя акустические процессы,
то используется дифференциальное уравнение 2-го порядка
170
относительно давления , описывающее поведение звуковых
волн в среде без потерь:
1
1
+ ∇ ∙ − (∇ − ) = ,
где (кг/м3) – плотность среды,
(м/с) – скорость звука в
среде (могут быть комплекснозначными величинами для учёта
демпфирования),
(Н/м3) – дипольный источник,
(1/с2) –
монопольный источник.
В случае гармонической волны, т.е. если давление меняется с течением времени по закону
( , )= ( )
,
где = 2 (рад/с) – циклическая частота, (Гц) – частота, то
уравнение для звуковой волны сводится к следующему уравнению, которое представляет собой неоднородное уравнение
Гельмгольца:
1
∇ ∙ − (∇ − ) −
= .
В случае, если решается задача на собственные значения,
то решаемое уравнение в 3D-геометрии примет вид:
∇∙ −
1
∇
+
= 0,
где собственное значение = . Уравнения для остальных
видов геометрии получаются из уравнений для гармонической
задачи путём замены
= − , = , = 0.
Основными граничными условиями для задач, решаемых
в акустическом интерфейсе, являются следующие:
 − ∙ −
(∇ − ) =
, где
– нормальная компонента
ускорения на границе, – внешняя нормаль к границе;
 =
– задание давления на границе;
171
 периодическое условие – равенство нормальных компонент
ускорения и давлений на выбранных границах.
Если в качестве среды в модели выступает ламинарная
жидкость, то для её описания используется система уравнений
Навье-Стокса:
+ ( ∙ ∇) = ∇ ∙ (
+ )+ ,
где – вектор объёмной силы (Н/м3), – единичная матрица
× , где – размерность геометрии; остальные обозначения
те же, что и в уравнении (П1.5). Для того, чтобы замкнуть систему уравнений, необходимы материальные соотношения. Так,
например, для ньютоновских жидкостей в качестве такого соотношения выступает выражение для тензора вязких напряжений:
2
(∇ ∙ ) ,
3
где динамическая вязкость (Пас) зависит от термодинамического состояния жидкости и не зависит от скорости.
Для ламинарной жидкости существует две модели –
сжимаемая (плотность меняется во времени) и несжимаемая
( = const). В случае сжимаемой жидкости уравнение примет
вид:
=2
−
+ ( ∙ ∇) =
2
(∇ ∙ )
3
В случае несжимаемой жидкости:
= −∇ + ∇ ∙
(∇ + (∇ ) ) −
∇∙
+ .
= 0,
+ ( ∙ ∇) = ∇ ∙ −
+ (∇ + (∇ ) ) + .
Ниже представлены основные граничные условия, предназначенные для задач гидродинамики в базовом модуле:
172

∙ = 0, − ( ∙ ) = , где
= (∇ + (∇ ) ) ;
 − + (∇ + (∇ ) ) − (∇ ∙ )
=
(в случае несжимаемой жидкости последний член в скобках отсутствует),
где – напряжение на границе, т.е. сила, действующая на единицу площади (Н/м2); в случае нормального напряжения
=− ;

=
– задание поля скорости на границе;
 =
– задание значения давления на границе;
 периодическое условие – равенство давлений и скоростей на
выбранных границах.
Для моделей, включающих в себя расчёт деформаций
тела, в базовом модуле COMSOL Multiphysics имеются дифференциальные уравнения, реализующие модель линейноупругого материала. Переменной в этих уравнениях служит
вектор смещения , компонентами которого являются деформации тела в направлениях, параллельных координатным
осям. Размерность вектора равна размерности геометрии. Само
уравнение имеет вид:
(П1.7)
−∇∙ = ,
или в коэффициентной форме
∂
= ,
∂
где = 1. . , – размерность геометрии, а по индексу производится суммирование; (кг/м3) – плотность материала, F –
нагрузка, т.е. сила, действующая на единицу объёма (Н/м 3 в
3D-геометриях и Н/м2 в 2D-геометриях), а тензор напряжений
второго ранга выражается по закону Гука-Дюамеля:
−
+ :( −
=
),
или в коэффициентной форме
=
+
−
173
,
(суммирование ведётся по индексам , ) где – тензор упругости 4-го ранга, = (∇ + (∇ ) ) (или в коэффициентной
форме
=
+
) – тензор деформаций 2-го ранга,
и
– начальные напряжения и деформации соответственно.
Если требуется решить задачу на собственные значения
или собственные частоты, то дифференциальное уравнение
(П1.7) примет вид:
−
−∇∙ = ,
где
– собственная частота, связанная с соответствующим
собственным значением через мнимую единицу: = − .
В этом случае возможно ввести демпфирование путём
модификации соотношения для тензора напряжений:
=
+ (1 +
где
) :( −
),
– коэффициент потерь.
В качестве граничных условий для задачи на расчёт деформации тела можно использовать следующие:
 = , где
– задаваемый вектор смещения границы;
 ∙ = , где
– задаваемая нагрузка на границе, т.е. сила, действующая на единицу площади (в 3D-геометриях, измеряется в Н/м2) или на единицу длины (в 2D-геометриях, измеряется в Н/м);
 ∙ = 0, т.е. равенство нулю нормальной компоненты вектора смещений на границе;
 периодическое условие – равенство компонент вектора
смещения на выбранных границах.
174
ПРИЛОЖЕНИЕ 2
Описание процедуры численного решения краевой задачи
для скалярного и векторного уравнений Лапласа
с помощью Comsol Multiphysics
Пусть имеется сверхпроводящее тело (или совокупность
тел), которое помещено во внешнее однородное магнитное поле. Тело находится в мейсснеровском состоянии, т.е. магнитное поле полностью выталкивается из толщи сверхпроводника,
проникая лишь на малую глубину, которой можно пренебречь
по сравнению с характерными размерами тела. Требуется найти распределение магнитного поля вокруг сверхпроводящего
тела. Эта задача решается при помощи введения магнитного
потенциала – скалярного потенциала
для случая, когда
сверхпроводящее тело представляет собой односвязную область (шар, эллипсоид, цилиндр и т.д. или в случае совокупности сверхпроводящих тел все тела представляют собой односвязную область) или векторного потенциала , если сверхпроводящее тело – многосвязная область (например, тор или
совокупность многосвязных и односвязных тел). Вектор напряжённости магнитного поля и вектор магнитной индукции
выражаются через скалярный и векторный магнитный потенциал соответственно следующим образом:
= −∇ ,
=∇× .
Магнитный потенциал во внешней по отношению к
сверхпроводящему телу области описывается следующими
уравнениями:
(−∇ ) = 0,
−∇ ∙
∇×
(∇ × ) = ,
= 4 ∙ 10 Гн/м – магнитная проницаемость вакуума,
– относительная магнитная проницаемость среды, заполняющей внешнюю по отношению к сверхпроводникам обгде
175
ласть. Если эта среда однородная, т.е.
= const, то данные
уравнения сводятся к уравнениям Лапласа – скалярному и векторному соответственно:
∆ = 0,
∆ = .
Внутри сверхпроводящего тела, как уже было сказано,
поле отсутствует, т.е. магнитный потенциал в этой области равен нулю. Таким образом, область, занятая сверхпроводящим
телом, может быть исключена из геометрии при решении задачи. На границе сверхпроводящего тела задаётся условие непроникновения поля в тело. Для задачи в постановке скалярного потенциала оно имеет вид:
∙ = 0,
а для задачи в постановке векторного потенциала –
× = .
На границе внешней по отношению к сверхпроводящим
телам области задаётся значение вектора магнитной индукции
или вектора напряжённости внешнего магнитного поля:
=
для случая скалярного потенциала и
=
для случая векторного потенциала, где
,
– вектор магнитной индукции и вектор напряжённости внешнего магнитного поля соответственно.
В случае, когда рассматривается совокупность сверхпроводящих тел, предметом исследований также является сила
магнитного взаимодействия между телами, а также изучение
возможности устойчивого подвеса одного из тел в неоднородном магнитном поле, образующимся вблизи других сверхпроводящих тел.
176
Пример 1. Найти распределение магнитного поля в окрестности сверхпроводящего шара в мейсснеровском состоянии, помещённого во внешнее однородное магнитное поле с
индукцией 0.05 Тл.
Порядок выполнения работы:
1) Запустить COMSOL Multiphysics 4.2.
2) В окне мастера построения модели (Model Wizard) в
разделе выбора размерности геометрии (Select Space Dimension) выбрать 3D; нажать «Далее» (Next).
3) В разделе выбора физического интерфейса в модуле
AC/DC выбрать интерфейс Magnetic Fields, No Currents, щёлкнуть по нему 2 раза, нажать «Далее».
4) В разделе выбора типа задачи (Select Study Type) выбрать стационарный тип задачи (Stationary); нажать Finish. После этого откроется рабочее пространство COMSOL Multiphysics, которое состоит из дерева модели, окна настроек и графического окна.
5) Задаётся геометрия модели. В дереве модели за это отвечает узел Geometry1 (Model 1 > Geometry 1). В контекстном
меню этого узла, которое вызывается путём нажатия правой
кнопкой мыши, выбрать сферу (Sphere). В окне настроек в разделе «Радиус и форма» (Radius and Shape) в поле «Радиус»
(Radius) ввести 0.1. Вверху окна настроек нажать кнопку «Построить выбранный объект» (Build Selected). Таким образом,
будет построен шар радиусом 10 сантиметров с центром в начале координат, который представляет собой сверхпроводящее
тело. Повторить ту же процедуру, только в поле «Радиус» ввести 1, т.е. построить концентрический с первым шар радиусом
1 метр, который представляет собой внешнюю по отношению
к сверхпроводящему шару область.
6) Поскольку внутри шара в мейсснеровском состоянии
поле отсутствует, область, представляющую собой сверхпроводящий шар, можно исключить из геометрии. Для этого необходимо в контекстном меню узла Geometry выбрать (Boolean
Operations > Difference). В окне Difference в поле Objects to add
177
добавить внешнюю область, предварительно нажав справа от
поля кнопку Activate selection. Область добавляется путём выделения этой области левой кнопкой мыши в графическом окне
(после этого она подсвечивается красным) и нажатия на неё
правой кнопкой мыши (после этого она подсвечивается синим
цветом). Аналогичным образом в поле Objects to substract добавляется внутренняя область. Для того, чтобы её выделить, для
удобства можно воспользоваться опциями установления прозрачности (Transparency) или отображения только каркаса поверхностей, составляющих геометрию (Wireframe Rendering).
Эти опции можно активировать, нажав на иконки с изображением прозрачного куба или каркаса куба в верхней части графического окна. После нажатия кнопки Build Selected область,
занятая сверхпроводящим шаром, будет вырезана из геометрии.
7) Задать уравнение, описывающее распределение магнитного поля в области. Это осуществляется путём выбора в
узле Magnetic Fields, No Currents узла Magnetic Flux Conservation 1. Для корректного задания уравнения в окне настроек в
разделе Magnetic Fields в поле
надо поменять From Material
на User Defined, так, что относительная магнитная проницаемость в области будет равна 1.
8) Задать условие равенства индукции магнитного поля
0.05 Тл на внешней границе внешней области. Для этого в
контекстном меню узла Magnetic Fields, No Currents необходимо выбрать команду Magnetic Flux Density (Вектор магнитной индукции). Сначала добавляются границы, на которых это
условие задаётся. Это осуществляется путём выделения соответствующих границ и нажатия на них правой кнопкой мыши.
После этого в окне настроек в разделе «Выбор границ» (Boundary Selection) должны появиться границы с номерами 1, 2, 3,
4, 9, 10, 13, 16. В разделе Magnetic Flux Density в поле Type надо выбрать Magnetic flux density, а в появившемся поле
задать
= 0.05 Тл (рис. П2.1).
9) На оставшихся границах остаётся граничное условие
по умолчанию – магнитная изоляция.
178
10) Разбиение расчётной области на конечные элементы
осуществляется в узле Mesh 1. В окне настроек в разделе «Настройки сетки» (Mesh Settings) в поле «Размер элементов»
(Element size) выбрать Extremely Fine. Нажать кнопку Build All
в верхней части окна настроек.
11) Расчёт задачи запускается при выполнении команды
«Рассчитать» (Compute) в контекстном меню узла Study 1.
12) Вывести модуль вектора магнитной индукции вдоль
вертикальной оси и в горизонтальной плоскости (например,
вдоль оси Oy).
Рис. П2.1. Задание вектора магнитной индукции на границе внешней области
В контекстном меню узла «Множества данных» (Data
Sets), который находится в узле Results выбрать Cut Line 3D. В
окне настроек в разделе Line Data в поле «Точка 1» (Point 1)
ввести числа (0, -1, 0), а в поле Point 2 – (0, 1, 0). Повторить эту
операцию и для новой линии задать координаты точек (0, 0, -1)
и (0, 0, 1). Таким образом, получится прямая, вдоль которой
нужно будет вывести модуль вектора магнитной индукции.
13) Выбрать в контекстном меню узла Results опцию «1D
– графики» (1D Plot Group) и в контекстном меню появившего179
ся узла 1D Plot Group 2 выбрать опцию «График» (Line Graph).
В окне настроек появившегося узла Line Graph 1 в разделе
«Данные» (Data) в поле «Множество данных» (Data set) выбрать
Cut Line 3D 1. В разделе «Данные по оси y» (y-axis Data) нажать
на иконку с двумя стрелками (Replace Expression) и из всплывающего меню выбрать Magnetic Fields, No currents > Magnetic
flux density, norm (mfnc.normB). Таким образом, по оси y на
графике будут откладываться значения модуля вектора магнитной индукции. В разделе x-axis Data в поле Parameter заменить
Arc Length на Expression и в поле Expression набрать y. Таким
образом, данный график будет иллюстрировать распределение
модуля вектора магнитной индукции вдоль оси y глобальной
системы координат. Нажать кнопку «Нарисовать» (Plot) в верхней части окна настроек (рис. П2.2).
Рис. П2.2. Распределение модуля вектора магнитной индукции вдоль оси y
180
14) Повторить шаг номер 13. В появившемся узле 1D Plot
Group 3 так же выбрать Line Graph. Различие состоит в том, что
в поле Data set необходимо выбрать Cut Line 3D 2, а в поле Expression в разделе x-axis Data ввести z. Данный график будет иллюстрировать распределение модуля вектора магнитной индукции вдоль оси z глобальной системы координат (рис. П2.3).
Рис. П2.3. Распределение модуля вектора магнитной индукции вдоль оси z
15) Ещё один способ визуализации поля в окрестности
шара – построение линий магнитного поля. Для этого в контекстном меню узла Magnetic Flux Density (mfnc) надо выбрать
опцию Streamline. В окне настроек в разделе Expression уже по
умолчанию заданы необходимые для этого компоненты вектора магнитной индукции, так что эти поля нужно оставить без
изменений. В разделе «Местоположение силовых линий»
(Streamline positioning) в поле «Местоположение» (Positioning)
181
выбрать «Определяется начальными точками» (Start point controlled), а в поле «Метод ввода» (Entry Method) выбрать Coordinates. В поле x ввести 0, в поле z ввести 0.5, а в поле y воспользоваться командой «Диапазон» (Range), которая находится справа от поля. Во всплывающем окне в поле Entry method
выбрать «Число точек» (Number of values), в поле Start ввести
-0.5, в поле Stop ввести 0.5, в поле Number of values ввести 50.
Нажать кнопку «Заменить» (Replace). Такое задание координат
точек, через которые проходят силовые линии, позволит основное внимание уделить поведению линий непосредственно
вблизи шара. После этого нужно нажать кнопку Plot в верхней
части окна настроек. Для лучшей иллюстрации картины силовых линий нужно перевести геометрию в плоскость yz
(рис. П2.4) (иконка с двумя осями и буквами yz в верхней части графического окна).
Рис. П2.4. Линии магнитного поля в окрестности шара
182
Последним шагом является проверка полученного численного решения на адекватность путём сравнения с аналитическим решением этой задачи, согласно которому на осях Oy,
Oz модуль вектора магнитной индукции имеет вид:
=
1+
=
1−
2| |
| |
на оси ,
на оси ,
где
= 0.05 Тл – модуль вектора магнитной индукции внешнего поля, = 0.1 м – радиус шара. Результат численного решения (представлен на рис. П2.3) показывает хорошее совпадение с этими формулами.
16) Выбираются точки, в которых будут сравниваться
значения, полученные при помощи численного и аналитического решений. В контекстном меню узла Data Sets выбирается
опция Cut Point 3D. Во вновь добавленном узле Cut Point 3D 1
в окне настроек в разделе Point Data задаются координаты точек. В полях x и z необходимо вести 0, а в поле y вводятся значения 0.1 0.15 0.2 0.25 0.3 0.4 0.6 0.8 1 через пробел. Таким образом, получено 9 точек, лежащих на оси y.
17) Таким же образом добавляется набор из 9 точек, лежащих на оси z. При добавлении ещё одной опции Cut Point
3D в узле Cut Point 3D 2 нужно в полях x и y ввести 0, а в поле
z – тот же набор чисел, что и вводился в поле y на 16-м шаге.
18) В точках на оси y оценивается модуль вектора магнитной индукции, полученный путём численного решения.
Для этого в узле «Вычисляемые переменные» (Derived Values)
выбирается опция «Вычисление в точке» (Point Evaluation). В
появившемся узле Point Evaluation 1 в окне настроек в разделе
Data в поле Data Set нужно выбрать Cut Point 3D 1. В разделе
Expression, нажав кнопку Replace Expression, выбрать Magnetic
Fields, No Currents > Magnetic flux density norm (mfnc.normB).
Далее нажать на кнопку «Вычислить» (Evaluate), расположенную в верхней части окна настроек.
183
19) В этих же точках вычисляется аналитическое значение
модуля вектора магнитной индукции. Добавить ещё один узел
Point Evaluation 2. В поле Data Set выбрать Cut Point 3D 1. В поле
Expression
ввести
выражение
0.05 ∗ (1 + 0.1^3/(2 ∗
( )^3)) и нажать кнопку Evaluate.
20) Шаги 18 и 19 повторяются для множества точек Cut
Point 3D 2, лежащих на оси Oz, и аналитического выражения
0.05 ∗ (1 − 0.1^3/
( )^3).
Таблица П2.1
Сравнение численного и аналитического решений
в точках, расположенных на оси y
числ 0.0752 0.0576 0.0532 0.0517 0.051 0.0504 0.0502 0.0501 0.0501
0.05
ан 0.075 0.0574 0.0531 0.0516 0.0509 0.0504 0.0501 0.05
Таблица П2.2
Сравнение численного и аналитического решений
в точках, расположенных на оси z
числ 0.0019 0.0352 0.0438 0.0469 0.0482 0.0493 0.0498 0.05 0.05
0 0.0352 0.0438 0.0468 0.0481 0.0492 0.0498 0.0499 0.05
ан
Как видно из значений, приведённых в табл. П2.1-П2.2,
решение задачи приводит к корректному результату.
Пример 2. Найти распределение магнитного поля в окрестности сверхпроводящего тора в мейсснеровском состоянии, помещённого во внешнее однородное магнитное поле с
индукцией 0.05 Тл.
Порядок выполнения работы:
1) Запустить COMSOL Multiphysics 4.2.
2) В окне мастера построения модели (Model Wizard) в
разделе выбора размерности геометрии (Select Space Dimension) выбрать 3D; нажать «Далее» (Next).
3) В разделе выбора физического интерфейса в модуле
AC/DC выбрать интерфейс Magnetic Fields, щёлкнуть по нему
2 раза, нажать «Далее».
184
4) В разделе выбора типа задачи (Select Study Type) выбрать стационарный тип задачи (Stationary); нажать Finish.
5) В контекстном меню узла Geometry 1 выбрать More
Primitives > Torus. В окне настроек узла Torus 1 в разделе Size
and Shape в поле «Большой радиус» (Major Radius) ввести
0.026; в поле «Малый радиус» (Minor Radius) ввести
0.026/22.4. Остальные параметры оставить без изменений. Нажать кнопку Build Selected. Таким образом, будет построен тор
с центром в начале координат и осью, совпадающей с осью z.
6) В контекстном меню узла Geometry 1 выбрать Sphere. В
поле Radius раздела Size and Shape окна настроек узла Sphere 1
ввести 0.26 (т.е. величина, равная 10 большим радиусам тора).
7) В контекстном меню узла Geometry 1 выбрать Boolean
Operations > Difference. В поле Objects to add в окне настроек
узла Difference 1 нажать кнопку Activate Selection и выделить
сферу в графическом окне. Далее либо нажать на ней правой
кнопкой мыши, либо нажать кнопку с иконкой со знаком «+»
(Add to Selection). Аналогичным образом добавляется тор в
поле Objects to subtract. Для выделения тора использовать
кнопки Wireframe Rendering или transparency (см. шаг 6 примера 1). Нажать кнопку Build Selected.
8) Задать уравнение, описывающее распределение магнитного поля в области. Это осуществляется путём выбора в
узле Magnetic Fields узла Ampere’s Law 1. Для корректного задания уравнения в окне настроек в разделах Magnetic Field,
Conduction Current, Electric Field в полях , ,
соответственно надо поменять From Material на User Defined, так, что
относительная магнитная проницаемость, удельная проводимость, относительная диэлектрическая проницаемость в области будут равны 1, 0, 1 соответственно.
9) Задать условие равенства индукции магнитного поля
0.05 Тл на внешней границе внешней области. Для этого в контекстном меню узла Magnetic Fields необходимо выбрать команду «Магнитное поле» (Magnetic Field). В графическом окне
выделить все части поверхности сферы, составляющие внешнюю границу сферы и нажать на них правой кнопкой мыши,
185
либо в разделе Boundary Selection окна настроек узла Magnetic
Field 1 нажать кнопку Add to Selection, когда все части поверхности выделены. В разделе Magnetic Field в поле
задать
= 0.05/ 0_
А/м. Здесь 0.05 – это значение модуля
вектора магнитной индукции (в Тл), а деление на магнитную
проницаемость вакуума – это преобразование вектора магнитной индукции к вектору напряжённости магнитного поля.
10) На остальной части границы (т.е. на границе тора) по
умолчанию задаётся условие магнитной изоляции.
11) В окне настроек узла Mesh 1 в поле Element Size выбрать Extra Fine. Нажать кнопку Build All.
12) В контекстном меню узла Study 1 выбрать Compute.
13) Вывести z-компоненту вектора магнитной индукции в
плоскости тора. В узле Data Sets выбрать Cut Line 3D. В разделе
Line Data в окне настроек узла Cut Line 3D 1 в поле Point 1 ввести (0, -0.15, 0); в поле Point 2 ввести (0, 0.15, 0). Это будет отрезок, лежащий на оси y. В контекстном меню узла Results выбрать 1D Plot Group. В появившемся узле 1D Plot Group 1 выбрать из контекстного меню Line Graph. В окне настроек узла
Line Graph 1 в разделе Data в поле Data Set выбрать Cut Line 3D
1. В разделе y-axis Data нажать кнопку Replace Expression и из
контекстного меню выбрать Magnetic Fields > Magnetic flux density > Magnetic flux density, z component (mf. Bz). В разделе xaxis Data в поле Parameter выбрать Expression, а в поле Expression ввести y. Нажать кнопку Plot. Получится график, изображённый на рис. П2.5.
14) Вывести линии магнитного поля в окрестности тора.
В контекстном меню узла Results выбрать Streamline. В разделе Streamline positioning в поле Positioning выбрать Start point
controlled, а в поле Entry Method выбрать Coordinates. В поле x
ввести 0, в поле z ввести 0.1, а в поле y воспользоваться командой Range Во всплывающем окне в поле Entry method выбрать Number of values, в поле Start ввести -0.035, в поле Stop
ввести 0.035, в поле Number of values ввести 300. Нажать
кнопку «Replace. После этого нажать кнопку Plot. Для наглядного отображения силовых линий перевести геометрию в
186
плоскость yz. Картина линий магнитного поля представлена на
рис. П2.6.
Рис. П2.5. Распределение z-компоненты вектора магнитной индукции вдоль оси y
Рис. П2.6. Линии магнитного поля в окрестности тора
187
ПРИЛОЖЕНИЕ 3
Конечно-элементный анализ динамики проникновения
магнитного потока в мезоскопические сверхпроводники
с помощью Comsol Multiphysics
Система уравнений Гинзбурга-Ландау для сверхпроводника II рода, помещённого во внешнее магнитное поле с индукцией
имеет следующий вид:
ћ
+
2
+∇
ћ
=
ћ
2
(
=−
1
2
ћ
∗
−
∇
∇
∇−
− | |
+
∗)
−
∙
= 0,
| |
−
1
,
∇×∇×
с граничными условиями
ћ
∇
+
∇×
=
+∇
∙
(П3.1)
,
(П3.2)
=0
(П3.3)
на поверхности сверхпроводника, где переменными являются
векторный магнитный потенциал =
, ,
и параметр
порядка – комплекснозначная скалярная волновая функция,
физический смысл которой заключается в том, что величина
| | обозначает концентрацию сверхпроводящих электронов в
теле. В этих уравнениях ћ – постоянная Планка, делённая на
2 ,
=2
и = 2 – соответственно масса и заряд куперовской пары электронов,
– феноменологический коэффициент диффузии, и – феноменологические коэффициенты,
– проводимость материала в нормальном состоянии,
–
магнитная проницаемость вакуума, – мнимая единица,
–
электростатический потенциал. Поскольку решение данной
системы обладает инвариантностью к калибровочным преоб188
разованиям
=
=
вида
+∇ ,
=
,
=
−
– параметр Гинзбурга-Ландау, то функция
ћ
,
где
может
быть выбрана таким образом, что = 0. Обозначая действительную часть как , а мнимую – как , а также разделяя
первое уравнение системы на действительную и мнимую части, будем иметь:
ћ
=
2
+2ћ
+
+
+
=
1
2
2
+
∂
∂
ћ
2
(
+
∂
∂
+
+ћ
+
ћ
∂
∂
+
+
=
ћ
+
ћ
−2ћ
1
2
+
−
(
∂
∂
+
−ћ
∂
∂
+
+
+
+
),
∂
∂
+
+
−
(П3.5)
(
+
),
− ∇ )−
1
− ∇×∇× .
(
+
)−
+
∇
(П3.4)
−
−
+
−
(П3.6)
Граничное условие (П3.3) после калибровки путём интегрирования может быть записано в виде:
∙ = 0.
(П3.7)
Подставляя его граничное условие (П3.1) и разделяя его
на действительную и мнимую части, будем иметь:
189
∇
∙
= 0,
∇
∙
= 0.
(П3.8)
При решении этой системы в COMSOL Multiphhysics необходимо использовать интерфейс Magnetic Fields в модуле
AC/DC для задания системы уравнений (П3.6), а также интерфейс PDE, General Form для записи уравнений (П3.4), (П3.5).
Основное уравнение в интерфейсе Magnetic Fields – закон Ампера – имеет следующий вид:
+∇×
∇×
=
,
где
– относительная магнитная проницаемость материала,
– плотность внешнего тока.
Таким образом, для записи (П3.6) в интерфейсе Magnetic
ћ
( ∇ − ∇ )−
Fields надо положить r =1,
=
( + ). Граничное условие (П3.2) в данном интер−
фейсе задаётся при помощи условия Magnetic Field, имеющего
вид:
×
где надо положить
=
=
×
,
.
Система дифференциальных уравнений в частных производных в интерфейсе PDE, General Form имеет следующий
вид:
+
+∇∙
= ,
где ( × ) и
( × ) – матрицы из коэффициентов при
нестационарных членах,
( × 1) – векторная функциярешение, – тензор второго ранга – каждая из его компонент представляет собой вектор (3 × 1), – правая часть (вектор ( × 1)). По умолчанию на границе расчётной области используется условие Неймана:
190
− ∙
= ,
– вектор-функция размерности ( × 1).
В данной задаче размерность = 3 (смысл введения переменной
будет объяснён позже), матрица
– нулевая, у
матрицы
два ненулевых элемента:
ћ
=
=
,
2
где
=
= −
ћ
2
,−
ћ
2
,−
ћ
2
,
= −
ћ
2
,−
ћ
2
,−
ћ
2
,
+
+
1
2
+ћ
2ћ
+
+
+
+
=
−ћ
1
2
−
(
−
−2ћ
+
+
+
+
+
−
+
+
+
+
),
+
(
−
+
−
+
+
).
При таких Г1 и Г2 можно добиться удовлетворения условий (П3.8), положив
=
= 0. Для выполнения условия
(П3.7) используется приём [35], заключающийся во введении
дополнительной переменной , которой соответствует уравнение:
∇∙
=
+
191
+
+
,
=
так, что
,
,
,
=
+
+
+
. В этом
случае условие (П3.7) будет удовлетворяться, если положить
= 0.
В ходе численного моделирования такой вид уравнений
не применяется ввиду больших различий (на несколько порядков) величин параметра порядка и векторного потенциала, что
приводит к плохой сходимости задачи. Во избежание этих
трудностей перед началом моделирования система уравнений
Гинзбурга-Ландау приводится к безразмерному виду. Существует 2 основных способа перехода к безразмерным пространственным координатам: =
, =
, =
, где – Лондоновская глубина проникновения магнитного поля в сверхпроводник, и =
, =
, =
, где – длина когерентности. В данной работе используется первый подход. Формулы перехода для остальных переменных, участвующих в уравнениях, имеют вид:
=
,
=
ћ
,
=
,
1
=
.
Подставляя формулы перехода в уравнения (П3.4) – (П3.6)
и для простоты опуская штрихи при безразмерных переменных, будем иметь:
=
+
2
+
−
−
2
+
+
∂
∂
+
+
∂
∂
1
+
+
+
+
+
−
(
+
=
1 ∂
∂
+
∂
∂
+
∂
∂
−
+
−
1 ∂
∂
+
+
−
+
+
192
1
(
+
−
+
−
),
+
−
+
),
=
1
(
∇
−
∇
)− (
+
)−∇×∇× .
Коэффициенты в уравнениях в интерфейсе PDE, General
Form запишутся следующим образом:
=
= 1,
= −
= −
=
,−
1
,−
2
=−
1
1
+
+
+
1
,−
+
,
1
,
+
+
+
−
1
+
−
2
,−
+
+
+
+
1
−
−
+
−
+
(
+
1
+
),
+
(
+
+
).
В уравнениях интерфейса Magnetic Fields надо положить:
1
1
( ∇ − ∇ )− ( + ) .
= ,
= 1,
=
Вид граничных условий при подобных преобразованиях
не меняется.
При решении двумерной задачи становится возможным
обойтись без использования интерфейса Magnetic Fields, поскольку граничное условие (П3.2) при условии, что внешнее
поле направлено перпендикулярно плоскости сверхпроводника, можно реализовать, модифицируя компоненты тензора ,
соответствующие компонентам векторного потенциала, как
это было сделано в [35].
193
Полная система уравнений Гинзбурга-Ландау в двумерном случае будет иметь следующий вид:
=
+
+
∂
∂
+
+
−
+
∂
∂
+
∂
∂
−
+
−
+
+
−
)− (
+
)−∇×∇× ,
1
1
=
−
1 ∂
∂
1
=
1
(
∇
−
∇
2
+
+
−
2
+
(
),
+
+
−
(
),
+
где
=
,
, а также граничные условия (П3.2), (П3.7),
(П3.8).
Для удовлетворения условия равенства нулю нормальной
компоненты магнитного потенциала, как и прежде, вводится дополнительная переменная , которой соответствует уравнение:
∇∙
=
+
+
.
Коэффициенты в интерфейсе PDE, General Form примут
следующий вид:
=
= −
=
1
= 0,
=
=
,−
−
,
= 1,
1
−
,
= −
,
= −
,
194
1
,−
+
1
,
+
,0
,
=
2
+
−
+
=−
−
=
=
=
+
+
2
1
1
+
−
+
+
(
−
+
+
1
),
+
1
(
−
+
−
),
+
−
−
(
+
),
−
−
(
+
),
+
−
.
Таким образом, граничное условие интерфейса PDE,
General Form, − ∙ = 0, описывает все граничные условия,
приведённые выше условия − ∙
= 0, − ∙
= 0, − ∙
=0
в точности повторяют условия (П3.8), (П3.7); а из условий
− ∙
= 0, − ∙
= 0 непосредственно получается условие
(П3.2).
Пример. Найти распределение параметра порядка в
сверхпроводящем круге, помещённом во внешнее однородное
магнитное поле, направленное перпендикулярно плоскости круга.
Порядок выполнения работы:
1) Запустить COMSOL Multiphysics 4.2.
2) В окне мастера построения модели (Model Wizard) в
разделе выбора размерности геометрии (Select Space Dimension) выбрать 2D; нажать «Далее» (Next).
3) В разделе выбора физического интерфейса в модуле
Mathematics в разделе PDE Interfaces выбрать интерфейс General Form PDE, щёлкнуть по нему 2 раза, нажать «Далее».
195
4) В разделе выбора типа задачи (Select Study Type) выбрать нестационарный тип задачи (Time Dependent); нажать
Finish.
5) Задаются основные константы задачи. В контекстном
меню узла Global Definitions выбрать «Параметры» (Parameters). В окне настроек в таблицу ввести значения модуля вектора магнитной индукции (безразмерное), параметра Гинзбурга-Ландау и удельной проводимости (безразмерное). В колонке «Имя» (Name) ввести Ba, в колонке Expression ввести 0.9
(модуль вектора магнитной индукции); в колонке Name ввести
k, а в колонке Expression ввести 4 (параметр ГинзбургаЛандау); в колонке Name ввести sigma, а в колонке Expression
ввести 1 (удельная проводимость).
6) В контекстном меню узла Geometry 1 выбрать «Круг»
(Circle). В окне настроек узла Circle 1 в разделе Size and Shape
в поле Radius ввести 5. В оригинале радиус круга является безразмерной величиной, но в COMSOL Multiphysics нет возможности использования безразмерных величин в задании геометрии. Выбор единицы измерения на решение задачи не влияет.
Нажать кнопку Build Selected.
7) В узле General Form PDE 1 задать коэффициенты и .
В окне настроек в разделе Conservative Flux задаются коэффициенты , , , ,
сверху вниз; в двух верхних полях, соответствующих вектору , набрать − 1 ∗ ^(−2) (в верхнем
поле) и − 1 ∗ ^(−2) (в нижнем поле). В следующих двух
полях, соответствующих вектору
, ввести − 2 ∗ ^(−2),
− 2 ∗ ^(−2) соответственно; в двух следующих полях, соответствующих вектору , ввести 0, 4 − 3 −
соответственно; в двух следующих полях, соответствующих вектору
, ввести − 4 + 3 + , 0 соответственно; в двух нижних
полях, соответствующих вектору , ввести 3, 4 соответственно. В разделе Source Term вводится вектор правой части
системы уравнений. Сверху вниз вводятся 5 компонент вектора
:
196
2 ∗ ( 3 + 4 )/ + 2 ∗ ( 3 ∗ 2 + 4 ∗ 2 )/ −
− 1 ∗ ( 3^2 + 4^2) + 1 − 1 ∗ ( 1^2 + 2^2),
− 1 ∗ ( 3 + 4 )/ − 2 ∗ ( 3 ∗ 1 + 4 ∗ 1 )/ −
− 2 ∗ ( 3^2 + 4^2) + 2 − 2 ∗ ( 1^2 + 2^2),
( 1 ∗ 2 − 2 ∗ 1 )/ − 3 ∗ ( 1^2 + 2^2),
( 1 ∗ 2 − 2 ∗ 1 )/ − 4 ∗ ( 1^2 + 2^2),
3 + 4 + 5.
В разделе Damping or Mass Coefficient вводятся элементы
матрицы, которые представляют собой коэффициенты при нестационарных членах в уравнениях. В полях, соответствующих диагональным элементам матрицы, ввести 1, 1, sigma,
sigma, 0 (слева сверху направо вниз). В узле Initial Values 1 задаётся значение вектора решения в момент времени = 0. В
окне настроек в разделе Initial Values в поле u1 ввести 1/2, в
поле u2 ввести
(3)/2. Остальные поля оставить без изменений. Таким образом, в начальный момент времени параметр
√
порядка примет значение +
.
8) В узле Mesh 1 в окне настроек в поле Element size выбрать из списка Extremely fine. Нажать кнопку Build All.
9) Задать моменты времени, в которые будут выводиться
результаты. В узле Study 1 > Step 1: Time Dependent в окне настроек в разделе Study Settings в поле Times набрать
(0,5,500). Таким образом, решение будет выводиться в
моменты времени с 0 до 500 с шагом 5.
10) В контекстном меню узла Study 1 выбрать Compute.
11) Вывести распределение параметра порядка в круге в
определённый момент времени. В окне настроек узла 2D Plot
Group 1 в разделе Data в поле Time выбрать из списка любой
момент времени (например, 500). В окне настроек узла Surface
1 в разделе Expression в поле Expression ввести
( 1^2 +
2^2) (величина, соответствующая модулю параметра поряд197
ка). В разделе Coloring and Style поставить галочку в поле Reverse color table. Нажать кнопку Plot (см. рисунок).
12) Также представляется интересным посмотреть эволюцию модуля параметра порядка в круге во времени. Для
этого в контекстном меню узла Export выбрать Player. В узле
Player 1 в окне настроек в разделе Parameter Sweep в поле Time
выделить все моменты времени от 0 до 500. В верхней части
графического окна нажать кнопку Play. В результате можно
будет понаблюдать за рождением вихрей и выходом на стационарный режим.
Распределение модуля параметра порядка в круге
198
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Баландин М.Ю., Шурина Э.П. Векторный метод конечных элементов: Учеб. пособие. – Новосибирск: Изд-во
НГТУ, 2001. – 69 с.
2. Батаронов Л.И. Компьютерное моделирование распределения магнитного поля вблизи сверхпроводящего кольца с
нулевым магнитным потоком / Л.И. Батаронов, С.А. Кострюков, Г.Е. Шунин // Вестник Воронежского государственного
технического университета. Серия Физико-математическое
моделирование. 2006. Т. 2. № 8. С. 19-22.
3. Зенкевич О., Морган К. Метод конечных элементов и
аппроксимация. – М.: Мир, 1986. – 318 c.
4. Конечно-элементный комплекс программ FEMPDESolver / C.А. Кострюков, В.В. Пешков, Г.Е. Шунин и др. //
Системы управления и информационные технологии. – 2010. –
№ 4(42). – С. 52-57.
5. Кострюков С.А. Конечно-элементная формулировка
дополнительных условий в задачах электро- и магнитостатики
сверхпроводников / С.А. Кострюков, В.В. Пешков, Г.Е. Шунин
// Известия Академии наук. Серия Физическая. 2004. Т. 68.
№ 7. С. 1053-1057.
6. Лаевский Ю.М. Метод конечных элементов (основы
теории, задачи). Новосибирск: Новосиб. гос. ун-т, 1999. – 166 с.
7. Митчелл Э., Уэйт Р. Метод конечных элементов для
уравнений с частными производными. – М.: Мир, 1981. – 216 c.
8. Описание программы ANSYS [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.ansys.com
9. Описание программы CATIA [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.3ds.com/products/catia/welcome/
10. Описание программы COMSOL Multiphysics [Электронный ресурс]. – Электрон. дан. Режим доступа:
http://www.comsol.com/comsol-multiphysics
11. Описание программы Сosmos/M [Электронный ресурс]. – Электрон. дан. Режим доступа: http://www.cosmosm.com
199
12. Описание программы Creo [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.ptc.com/product/creo/
13. Описание программы Diffpack [Электронный ресурс].
– Электрон. дан. Режим доступа: http://www.diffpack.com
14. Описание программы Elcut [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.elcut.ru
15. Описание программы Elmer [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.csc.fi/web/elmer
16. Описание программы FEMM [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.femm.info/wiki/HomePage
17. Описание программы FlexPDE [Электронный ресурс].
– Электрон. дан. Режим доступа: http://www.pdesolutions.com
18. Описание программы FreeFEM++ [Электронный ресурс]. – Электрон. дан. Режим доступа: http://www.freefem.org/ff++/
19. Описание программы Maple [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.maplesoft.com/products/Maple/index.aspx
20. Описание программы Mathematica [Электронный ресурс]. – Электрон. дан. Режим доступа: http://www.wolfram.com /mathematica/
21. Описание программы Matlab [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.mathworks.com/products/matlab/
22. Описание программы Maxima [Электронный ресурс].
– Электрон. дан. Режим доступа: http://maxima.sourceforge.net/
23. Описание программы NISA [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.nisasoftware.com
24. Описание программы NX [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.plm.automation.siemens.com/ru_ru/products/nx/
25. Описание программы Scilab [Электронный ресурс]. –
Электрон. дан. Режим доступа: http://www.scilab.org
26. Пакет программ FEMPDESolver 2.0 для конечно-элементного анализа сверхпроводящих токонесущих систем / Г.Е.
200
Шунин, С.А. Кострюков, В.В. Пешков и др. // Известия Академии наук. Серия физическая. – 2004. – Т. 68. – № 7. – С. 10381044.
27. Развитие системы компьютерного моделирования
сверхпроводящих подвесов // Г.Е. Шунин, С.А. Кострюков, В.В.
Пешков, М.И. Ислентьева // Вестник Воронежского государственного технического университета. 2014. Т. 10. № 1. C. 49-52.
28. Сабоннадьер Ж.-К. Метод конечных элементов и
САПР / Ж.-К. Сабоннадьер, Ж.-Л. Кулон. – М.: Мир, 1989. –
190 c.
29. Сбитнев Я.В. Компьютерные системы конечноэлементного мультифизического анализа / Я.В. Сбитнев, Г.Е.
Шунин // Энергия – 21 век. – 2006. – № 3. – С. 65-72.
30. Сегерлинд Л. Применение метода конечных элементов / Л. Сегерлинд. – М.: Мир, 1979. – 312 с.
31. Сильвестер П. Метод конечных элементов для радиоинженеров и инженеров-электриков / П. Сильвестер, Р. Феррари. – М.: Мир, 1986. – 229 с.
32. Учет условия постоянства неизвестной функции в конечно-элементном комплексе программ FEMPDESolver / М.И.
Батаронова, С.А. Кострюков, В.В. Пешков, Г.Е. Шунин //
Вестник Воронежского государственного технического университета. – 2010. – Т. 6. – № 11. – С. 227-230.
33. Эльсгольц Л.Э. Дифференциальные уравнения и вариационное исчисление / Л.Э. Эльсгольц. – М.: Наука, 1969.
424 с.
34. Akin J. E. Finite Element Analysis with Error Estimators.
An Introduction to the FEM and Adaptive Error Analysis for Engineering Students. Elsevier Butterworth-Heinemann, Oxford. 2005.
35. Alstrøm T.S. Magnetic flux lines in complex geometry
type-II superconductors studied by time dependent GinzburgLandau equations / T.S. Alstrøm, M.P. Sørensen, N.F. Pedersen, S.
Madsen // Acta Applicandae Mathematicae. – 2011. – V. 115. –
№ 1. – P. 63-74.
36. Bathe K.J. Finite Element Procedures /Klaus-Jurgen
Bathe. Prentice Hall, New Jersey, 1996.
201
37. COMSOL Multiphysics user’s guide. 2008 COMSOL
3.5a, May 2011 COMSOL 4.2.
38. Hutton D.V. Fundamentals of finite element analysis. –
The McGraw-Hill Companies, 2004. – 494 p.
39. Jianming Jin.The finite element method in electromagnetics. John Wiley & Sons, Inc. New York, 2002.
40. Joseph E. Flaherty. CSCI, MATH 6860: Finite Element
Analysis. Spring, 2000.
41. Knabner P. Numerical methods for elliptic and parabolic
partial differential equations / Peter Knabner, Lutz Angermann. p.
cm. – (Texts in applied mathematics; 44) Springer-Verlag, Inc.
New York, 2003.
42. Lynch D.R. Numerical partial differential equations for
environmental scientists and engineers: a first Practical. Springer
Science+Business Media, Inc. New York, 2005.
43. Nakasone N., Stolarski T.A. and Yoshimoto S. Engineering Analysis with ANSYS Software. Elsevier ButterworthHeinemann. Oxford, 2006.
44. Solin P. Partial Differential Equations and the Finite Element Method. A John Wiley & Sons, Inc., New Jersey, 2006.
45. Portela A. Finite Elements Using Maple: A Symbolic
Programming Approach / A. Portela, A. Charafi / Springer-Verlag.
Berlin Heidelberg, 2002
46. Singiresy S. Rao. The Finite Element Method in Engineering. Elsevier Science & Technology Books, 2004.
47. Zimmerman W.B.J. Process Modelling And Simulation
With Finite Element Methods. World Scientific Publishing Co.
Singapore, 2004.
48. Zhangxin Chen. Finite Element Methods and Their Applications. Springer-Verlag Berlin Heidelberg, 2005.
49. Zienkiewicz O.C., Taylor R.L. The finite element method.
V.1:The basis. Oxford: Butterworth Heinemann, 2000. – 689 p.
202
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1. ОСНОВНЫЕ ПОЛОЖЕНИЯ МЕТОДА КОНЕЧНЫХ
ЭЛЕМЕНТОВ
1.1. Сущность метода конечных элементов
1.2. Вариационные методы дискретизации
1.3. Проекционные методы дискретизации
1.4. Конечные элементы и аппроксимация
1.5. Решение обыкновенных дифференциальных уравнений
1.6. Решение дифференциальных уравнений с частными производными
2. КОНЕЧНО-ЭЛЕМЕНТНАЯ ДИСКРЕТИЗАЦИЯ УРАВНЕНИЯ ЛАПЛАСА С ДОПОЛНИТЕЛЬНЫМИ ОГРАНИЧЕНИЯМИ
2.1. Учет скачка потенциала на разрезе
2.2. Учет потока градиента потенциала через заданную поверхность разреза
2.3. Учет условия постоянства потенциала и потока
его градиента на внутренних границах области
решения краевой задачи
2.4. Особенности решения задач для открытых многосвязных систем
3. СИСТЕМЫ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ
3.1. Универсальные системы компьютерной математики
3.2. Мультифизические системы конечно-элементного
анализа
3.3. Специализированные конечно-элементные комплексы программ
203
3
5
5
8
15
19
25
29
35
36
40
45
54
58
58
71
114
4. ЗАДАНИЯ ДЛЯ КУРСОВЫХ РАБОТ И ТИПОВЫХ
РАСЧЁТОВ
4.1. Краевые задачи для обыкновенного дифференциального уравнения
4.2. Краевые задачи для уравнения Лапласа
4.3. Краевые задачи для уравнения Лапласа с дополнительными условиями
4.4. Краевые задачи для уравнения Пуассона
4.5. Краевые задачи при наличии физически неоднородных сред
4.6. Краевые задачи для уравнения Лапласа в области
с разрезами
4.7. Краевые задачи для уравнения Лондонов
4.8. Смешанная краевая задача для уравнения теплопроводности
4.9. Сверхпроводниковые подвесы
125
125
127
132
135
138
140
149
152
155
ПРИЛОЖЕНИЕ 1. Основные физико-математические модели модуля AC/DC и базового модуля Comsol Multiphysics
158
ПРИЛОЖЕНИЕ 2. Описание процедуры численного решения краевой задачи для скалярного и векторного
уравнений Лапласа с помощью Comsol Multiphysics
175
ПРИЛОЖЕНИЕ 3. Конечно-элементный анализ динамики
проникновения магнитного потока в мезоскопические
сверхпроводники с помощью Comsol Multiphysics
188
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
204
199
Учебное издание
Шунин Генадий Евгеньевич
Кострюков Сергей Александрович
Пешков Вадим Вячеславович
Кудряш Андрей Андреевич
ВВЕДЕНИЕ В КОНЕЧНО-ЭЛЕМЕНТНЫЙ АНАЛИЗ
В авторской редакции
Компьютерный набор В.В. Пешкова
Подписано в печать 30.10.2017.
Формат 60 84/16. Бумага для множительных аппаратов.
Усл. печ. л. 12,8. Уч.-изд. л. 10,1. Тираж 350 экз.
Заказ № 143.
ФГБОУ ВО «Воронежский государственный
технический университет»
394026 Воронеж, Московский просп., 14
Участок оперативной полиграфии издательства ВГТУ
394026 Воронеж, Московский просп., 14
Скачать