Full Text
Введение
Задача геодинамо представляет собой задачу о магнитогидродинамической конвекции проводящей вязкой несжимаемой жидкости во вращающейся сферической оболочке с твёрдыми границами (внешнее ядро Земли) [1-3]. Система уравнений геодинамо связывает поля скорости, давления, температуры и магнитной индукции и включает уравнения Навье-Стокса с кориолисовым и лоренцевым членами, уравнение температуропроводности и уравнение индукции.
Для её исследования применяют различные численные методы, в том числе и метод Галеркина. Следует отметить, что, хотя метод Галеркина и является по своему происхождению численным методом решения уравнений, его можно рассматривать при малом числе мод как способ построения малоразмерных моделей [4, 5]. Поля задачи при однородных граничных условиях представляются в виде линейных комбинаций стационарных базисных полей (мод) с зависящими от времени амплитудами. Каждое базисное поле должно удовлетворять граничным условиям, что гарантирует точное выполнение этих условий при любых амплитудах. Геометрически метод Галеркина выполняет тогда проектирование исходных уравнений на подпространства, порождаемые модами разложения.
В случае малоразмерных (маломодовых) моделей необязательна полнота систем используемых мод, достаточно, чтобы они обладали хорошими аппроксимирующими свойствами. Поэтому возникает вопрос о выборе естественного базиса. Пожалуй, наиболее естественными пространственными структурами полей будут структуры мод свободных затуханий, именно они используются при построении спектральных моделей. Применение процедуры метода Галеркина дает динамическую систему для амплитуд мод. Эта система вместе с набором мод и образует спектральную модель [6, 7].
В случае маломодовых моделей, содержащих только крупномасштабные моды, необходимо включать в уравнения динамо в явном виде альфа-эффект. Он описывает генерацию крупномасштабного поля турбулентными мелкомасштабными вихрями. Чтобы избежать неограниченного роста, необходима и обратная связь в виде подавления альфа-эффекта энергией этого поля [8, 9]. Известно, что в турбулентных магнитогидродинамических системах проявляется свойство памяти [10], поэтому подавление α-эффекта в рассматриваемых моделях вводится с учетом этого свойства, а именно, подавление определяется не только актуальным, но и всеми предшествующими значениями энергии. Математически это формализуется в виде функционала от энергии с разностным ядром, и уравнения модели являются интегро-дифференциальными. Для некоторых частных типов ядер возможно сведение уравнений только к дифференциальным. Крупномасштабные приближения неявно предполагают, что влияние мелкомасштабных мод в среднем нулевое. Однако эти моды могут спонтанно синхронизироваться на случайное время, оказывая влияние на генерацию. В модели это введено как аддитивная поправка в интенсивность альфа-эффекта в виде случайного процесса, представляющего собой последовательность прямоугольных импульсов, возникающих в случайные моменты, имеющих случайную длительность и гауссовскую, в среднем нулевую, амплитуду.
Для автоматизированного составления описанных моделей и проведения численного моделирования разработан программный комплекс комбинированных символьно-численных вычислений, описываемый в настоящей работе.
Уравнения эредитарной спектральной модели
Опишем прежде всего, что из себя представляют спектральные модели, для расчета параметров которых и дальнейшего численного решения разработан вычислительный комплекс.
Жидкое ядро Земли рассматривается как сферическая оболочка вязкой проводящей жидкости с твердыми границами, равномерно вращающейся вокруг оси Oz. В сферической системе координат (r, θ,φ) внутренняя граница ядра (ICB) определяется как , а граница ядро мантия (CMB) как . Температура на ICB и CMB постоянна и равна и соответственно.
В качестве единицы длины принимается внешний радиус Земли, а в качестве единицы температуры принимается . Тогда в этих единицах , и .
Поле задает отклонение температуры относительно равновесного профиля (без конвекции)
Обезразмеренные уравнения геодинамо в ядре ( ) имеют вид:
(1)
где заданное осесимметричное поле тензора параметризованного -эффекта.
Параметры подобия: число Экмана, число Релея, число Прандтля, магнитное число Прандтля, амплитуда -эффекта.
Среда вне ядра предполагается непроводящей (токи отсутствуют), значит, при :
(2)
Граничные условия:
(3)
Общее решение уравнения (2) в виде разложения по сферическим функциям прекрасно известно [11], поэтому решать надо только задачу (1), а выражение для дает граничные условия для аналогичного (по сферическим функциям) разложения поля внутри ядра [7].
Поля скорости внутри ядра аппроксимируются конечными линейными комбинациями стационарных полей (мод):
(4)
Базисные моды являются модами свободного затухания полей, т.е. решениями спектральных задач
(5)
с соответствующими граничными условиями. Расчет собственных значений и собственных мод этих задач подробно описан в [7].
Операторы этих задач самосопряжены относительно скалярных произведений:
(6)
Системы собственных мод полны и ортогональны. Их можно считать нормированными.
Каждая мода скорости и магнитного поля определяется мультииндексами вида , где , и соответствуют дискретизации спектра по , и соответственно, а бинарный индекс типа моды: тороидальная или полоидальная. Температурные моды определяются мультииндексами .
Подстановка разложений (4) в уравнения геодинамо и применение процедуры Галeркина дает динамическую систему для амплитуд:
(7)
В этой системе , и собственные значения, а прописные буквы постоянные коэффициенты Галeркина, определяемые скалярными произведениями:
(8)
Спектральная модель геодинамо это набор мод и система уравнений (7). Если число мод невелико, говорят о маломодовой модели.
В модель вводится эредитарное подавление -эффекта энергией поля и случайное возмущение -эффекта в виде:
(9)
где безразмерная ядро функционала подавления со свойствами , и . Параметр задает временной масштаб ядра.
Для численного решения система уравнений (7)-(9) дополняется начальными значениями для амплитуд мод:
(10)
Стохастический процесс описывает влияние когерентных структур, спонтанно образованных мелкомасштабными модами, не учитываемыми явно в модели. В зависимости от морфологии каждой структуры она может как усиливать, так и ослаблять генерацию поля, а среднее значение этого влияния должно быть равно нулю.
Опишем модельную структуру этого процесса. Предположим, что -ая когерентная структура ( ) спонтанно образуется в случайный момент времени и саморазрушается в случайный момент времени . Возможностью одновременного существования двух или более структур пренебрегаем. Пусть также .
Тогда случайное время ожидания структуры , а случайное время ее существования . Интенсивность влияния -ой структуры на генерацию поля описывается величинами . Все эти три класса величины предполагаются независимыми между собой при различных и одинаково распределенными в пределах одного класса.
Величины гауссовские , времена ожидания распределены по степенному закону с плотностью
(11)
а времена существования распределены по показательному закону с плотностью
(12)
Параметры и имеют смысл медиан соответствующих случайных величин, принимаемых в качестве характерных времен ожидания и существования. Использование медиан вместо традиционных математических ожиданий в качестве характерных значений связано с тем, что у степенного распределения (11) при математическое ожидание бесконечно.
Случайных процесс определяется следующим образом:
(13)
где функция Хевисайда. Он представляет собой последовательность прямоугольных импульсов с амплитудами , возникающих в моменты и исчезающих в моменты . Между импульсами процесс нулевой.
Варьируя наборы базисных мод, представляемых мультииндексами, и типы ядер, получаем широкий класс спектральных эредитарных моделей.
Структура комплекса
Представляемый вычислительный комплекс моделирования геодинамо предназначен для составления уравнений (7)(9), т.е. расчета коэффициентов Галeркина и собственных значений, генерации реализаций шума и численного решения уравнений с заданными начальными значениями амплитуд.
Структура комплекса представлена на рис. 1.
Рис. 1. Структура комплекса.
Figure 1. Structure of the complex.
Приведем здесь общее описание комплекса, а далее опишем каждый расчетный модуль. В пополняемых файлах коэффициентов хранятся значения коэффициентов Галеркина, идентификаторами которых являются мультииндексы мод.
В пополняемых файлах параметров мод хранятся собственные значения и числовые параметры мод с идентификаторами в виде мультииндексов.
Исходными данными на входе являются параметры подобия, количества мод , , , тип и параметры ядра , параметры процесса , время моделирования и шаг временной сетки .
Общая схема работы следующая:
- По заданным мультииндексам идет обращение в файлы коэффициентов Галеркина. Если все необходимые коэффциенты в файлах есть, они передаются в модули численного решения. Если каких-то коэффициентов нет, соответствующие мультииндексы передаются на вход модуля расчета коэффициентов.
- Модуль расчета коэффициентов обращается в файлы параметров мод по заданным мультииндексам. Если параметры всех необходимых мод в файлах есть, производится расчет коэффициентов, они дописываются в файл и передаются в модули численного решения. Если параметров каких-либо мод нет, соответствующие мультииндексы передаются в модуль расчета параметров мод.
- Модуль расчета параметров проводит вычисления для заданных мультииндексов, пополняет файлы параметров мод и передает параметры в модуль расчета коэффициентов Галеркина.
- По значениям параметров на входе комплекса и коэффициентам Галеркина как по входным данным работает один из двух модулей численного решения. Выбор одного из двух типов определяется типом ядра подавления. Подробнее это описано ниже в работе.
- В процессе работы на каждом шаге по времени модуль численного решения обращается к модулю генерации шума за реализацией очередного шумового отсчета.
- Результатом работы является файл временных рядов решений уравнений модели. Структура этого файла описана ниже.
Из такой организации работы видно, что в процессе эксплуатации будет происходить пополнение файлов параметров мод и коэффициентов, поэтому обращение к модулям их расчета будет происходить все реже.
Модули расчет параметров базисных мод
Собственные тороидальные моды скорости и магнитной индукции и , собственные полоидальные моды скорости и магнитной индукции и , собственные моды температуры определяются выражениями
(14)
где сферические гармоники, а функции радиальной переменной задаются в виде
(15)
В формулах (14) и (15) индекс у мод скорости и магнитного поля, и у мод температуры. Индексы и . Положительные , , , и являются собственными значениями соответствующих мод, а прочие коэффициенты в (15) определяются из соответствующих граничных и нормировочных условий. Эти условия ставятся на функции (15) в результате применения условий (3) к модами типа (14). Уравнения на собственные значения и нормировочные условия приведены в работе [7].
Видно, что расчет собственных мод сводится к расчету собственных значений и коэффициентов в выражениях (15). Именно эти вычисления и проводит модуль расчета базисных мод.
Уравнения на собственные значения очень громоздкие, как и нормировочные условия, имеющие интегральную форму. Кроме того, нормировочные интегралы для магнитных мод являются несобственными второго рода. Поэтому модуль разработан в пакете Maple (лицензия 910346) и сочетает в себе символьные и численные вычисления. Технология расчета параметров мод с помощью Maple очень подробно описана в работе [7], поэтому здесь ограничимся общей схемой работы модуля.
На входе модуля: массивы мультииндексов мод скорости, температуры и магнитной индукции, для которых необходимо рассчитать собственные значения и коэффициенты из (15).
Схема работы модуля:
- Программно формируется выражение радиальной функции моды.
- Аналитически вычисляется норма с неопределенными собственными значениями и коэффициентами.
- Программно формируется выражение левой части уравнения на собственные значения.
- Численно решается уравнение, находятся собственные значения.
- Численно определяются коэффициенты моды.
- Собственные значения и коэффициенты подставляются в выражение для нормы и производится пересчет коэффициентов для получения единичной нормы.
На выходе модуля: массивы собственных значений и параметров радиальных функций из (15).
Модуль расчета коэффициентов Галеркина
Коэффициенты Галеркина представляют собой интегралы по объему жидкого ядра от очень громоздких мультипликативных комбинаций базисных мод и операторов векторного анализа в сферических координатах. Сами моды сложным образом выражаются через сферические гармоники (по переменным и ) и сферические функции Бесселя (по радиальной переменной ). Все это в совокупности приводит к очень сложным подынтегральным выражениям, которые проблематично даже безошибочно ввести вручную в код расчетной программы.
По этой причине модуль также реализован в пакете Maple на основе сочетания символьных и численных вычислений. Этот пакет содержит библиотеку VectorCalculus, в которой реализованы стандартные операции векторного анализа в различных системах координат, в том числе и в сферических. Использование комбинированных типов вычислений позволяет также вести частично аналитическое интегрирование, что повышает надежность расчета коэффициентов.
Технология расчета коэффициентов очень подробно описана в работе [7], где приведены даже ключевые фрагменты кода Maple, поэтому здесь ограничимся описанием общей схемы работы модуля.
На входе модуля: массивы мультииндексов мод скорости, температуры и магнитной индукции, для которых необходимо рассчитать коэффициенты Галеркина.
Схема работы модуля:
- На основе значений мультииндексов и общих формул (14) программно вычисляются алгебраические выражения мод , , с неопределенными радиальными функциями , , . Зависимости от и в этих выражениях будут заданы явно.
- Программно формируются подынтегральные выражения для коэффициентов Галеркина (8).
- Выполняется аналитическое интегрирование по поверхности сферы . Результатом этого интегрирования будет либо нуль, либо выражения, зависящие от переменной , неопределенных функций , , и их производных.
- В случае ненулевого результата подставляются явные выражения для радиальных функций (15) с числовыми значениями параметров мод и выполняется численное интегрирование по радиальной переменной.
На выходе модуля: массивы числовых значений коэффициентов Галeркина.
Необходимо сделать следующее замечание. Каждый коэффициент Галеркина имеет смысл меры взаимодействия мод в процессе, связанном с соответствующим членом уравнений геодинамо. Например это мера эффективности генерации моды из моды за счет моды скорости . Аналитическое интегрирование позволяет определять точно нулевые коэффициенты, что возможность выделять цепочки взаимодействующих мод.
В настоящее время ведется переработка модуля в свободной системе символьных вычислений SymPy с целью ухода от коммерческого Maple. В SymPy, как и в Maple, реализованы операции векторного анализа в различных ортогональных системах координат.
Модуль генерации шума
Прежде всего опишем формулы, с помощью которых в модуле генерируются реализации случайных величин, определяющих случайный процесс . Это три типа величин, которые по определению процесса независимы между собой и, соответственно, могут генерироваться независимо друг от друга: случайное время ожидания -го прямоугольного импульса , случайное время существования этого импульса и случайная амплитуда импульса .
Для генерации случайных времен используется метод обратных функций [12]. Легко получить по схеме этого метода, что величины и при заданных плотностях распределения (11) и (12) можно генерировать по формулам
(16)
где и равномерно распределены на отрезке и независимы между собой и при различных .
Для генерации случайных амплитуд используется стандартный метод Бокса-Мюллера [12]:
(17)
где и также равномерно распределены на отрезке и независимы между собой и при различных .
Реализующие численное решение уравнений модели (7)(10) модули комплекса выполняют расчет на временной разностной сетке, причем на каждом шаге вычисляются значения решений в очередном временном узле по их значениям в одном или нескольких предшествующих узлах. Поэтому модуль генерации шума должен формировать реализацию по уже известной , т.е. по схеме «от текущего в момент , к следующему в момент ». Именно эта схема и реализуется в модуле генерации шума.
На входе модуль получает следующие параметры и переменные:
- медианное значение , порядок и параметр степенного распределения (11) времени ожидания импульса;
- медианное значение экспоненциального распределения (12) времени существования импульса ;
- стандартное отклонение нормального распределения амплитуды импульса;
- булеву переменную текущего состояния процесса pulse (нет импульса «false», есть импульс «true»);
- текущее состояние процесса ;
- ближайшее время переключения switch_time;
- временной шаг между моментами и .
На выходе модуль возвращает:
- булеву переменную состояния процесса pulse в момент (возможно, измененную по сравнению со входной);
- следующее состояние процесса ;
- ближайшее (возможно, измененное по сравнению со входным) время переключения switch_time.
Модуль реализован на C++. Псевдокод его основной части представлен в Листинге 1. Предполагается, что функции rnd_ , rnd_ и rnd_ генерируют реализации , и по формулам (16) и (17).
Листинг 1. Псевдокод генерации значения шума в момент по известному значению в момент .
while switch_time ≤ t+h then
if pulse then
ξnext := 0
switch_time := switch_time+rnd_τW(c,TW,ν)
pulse := false
else
ξnext := rnd_ξ(σ)
switch_time := switch_time+rnd_τE(TE)
pulse := true
end if
end do
Реализация переключений процесса в цикле связана с тем, что на малом отрезке [t; t+h] возможны, хотя и маловероятны, несколько таких переключений, поскольку величины τE и τW теоретически могут принимать как угодно близкие к нулю значения. Однако понятно, что в подавляющем большинстве случаев данный цикл на каждом шаге решения по времени будет отрабатывать не более одного раза.
Модуль численного решения уравнений модели для экспоненциального ядра
Модуль реализован на C++ и предназначен для решения уравнений модели (7)(10) для ядер подавления , имеющих экспоненциальный порядок убывания на бесконечности. Здесь нормировочный коэффициент, определяемый условием . Такие ядра далее будем называть экспоненциальными (рис. 2).
Рис. 2. Экспоненциальные ядра K(t) =Mntn exp(−t).
[Figure 2. Exponential kernels K(t) =Mntn exp(−t).]
Параметр определяет задержку отклика -эффекта на подавление. Действительно, при отклик мгновенный, поскольку является наибольшим значением функции , и максимальный вклад в интеграл подавления в момент времени дает значение энергии магнитного поля в этот же момент. Если , то и на подавление в момент влияют только предшествующие значения энергии поля, т.е. имеет место задержка отклика. Эта задержка тем больше, чем больше , поскольку максимум функции достигается в точке . Кроме того, чем больше , тем ближе к нулю значения в окрестности . Все эти рассуждения хорошо иллюстрируются рис. 2, на котором изображены функции для нескольких .
Несложно показать, подобно работам [13, 15], что в случае ядер данного вида интегральное выражение (9), определяющее , оказывается равносильным следующей задаче Коши для функции :
(18)
Стандартным образом вводя переменные , , получаем тогда, что модель (7)(9) с заданными начальными значениями для амплитуд полей (10) становится следующей задачей Коши для нормальной системы уравнений порядка со случайным возмущением :
(19)
где биномиальные коэффициенты.
Модуль строит численное решение задачи Коши (19) с помощью схемы типа «предикторкорректор» Адамса-Башфорта-Моултона 4-го порядка. Для краткости запишем эту задачу в следующем общем виде:
(20)
где фазовый вектор состоит из амплитуд , , и переменных , а вектор параметров включает в себя все параметры подобия, все параметры процесса и параметры ядра, все коэффициенты Галeркина.
Пусть . Тогда реализованная в модуле разностная схема Адамса-Башфорта-Моултона 4-го порядка записывается в виде [14]:
(21)
Поскольку данная схема является 4-шаговой, необходимо до ее применения определить , и . Они вычисляются в модуле по стандартной явной схеме Рунге-Кутта 4-го порядка, причем начальное значение шума .
На входе модуль получает следующие параметры из текстового файла:
- параметры , , , параметры подобия , ; , , ; ненулевые коэффициенты Галеркина (все прочие по умолчанию полагаются нулевыми);
- параметры ядра подавления , ;
- параметры , , , процесса ;
- массивы начальных значений , , ;
- общее время моделирования и шаг по времени .
На выходе модуль формирует текстовый файл, каждая строка которого содержит:
- отсчет времени ;
- отсчеты амплитуд мод скорости , ;
- отсчеты амплитуд мод температуры , ;
- отсчеты амплитуд магнитных мод , ;
- отсчет шума ;
- отсчет интегрального члена ;
- отсчет переменной интенсивности -эффекта .
Модуль численного решения уравнений модели для степенного ядра
Модуль реализован на C++ и предназначен для решения уравнений модели (7)-(9) с начальными значениями (10) при ядрах подавления
(22)
где нормировочный коэффициент, определяемый условием . Ясно, что параметр определяет порядок асимптотики ядра, поскольку при . Параметр же определяет задержку отклика -эффекта на подавление. Это следует из рассуждений, полностью аналогичных рассуждениям о роли параметра в экспоненциальных ядрах, а максимум функции достигается в точке . Иллюстрирующие примеры ядер приведены на рис. 3.
Рис. 3. Степенные ядра K(t) =Mρ,ψtρ/(1+t)ρ+ψ: вверху ψ = 0.5, внизу ψ = 2.
[Figure 3. Power kernels K(t) =Mρ,ψtρ/(1+t)ρ+ψ: ψ = 0.5 top, ψ = 2 bottom.]
Для описания реализованной в модуле разностной схемы запишем уравнения (7)-(9) с условиями (10) в следующем общем виде
(23)
где фазовый вектор состоит из амплитуд , , , а вектор параметров включает в себя все управляющие параметры и коэффициенты Галeркина.
Модуль численно решает задачу (23) с помощью комбинированной схемы типа «предикторкорректор». Для дифференциальной части задачи в основе схемы лежит метод Коши-Эйлера, а для интегральной метод трапеций.
Отметим прежде всего, что для каждого момента времени должны быть вычислены значения ядра и записаны в одномерный массив . Размер массива определяется отношением времени моделирования к шагу .
Начальное значение фазового вектора известно, начальные значения , , .
Рассмотрим теперь основной расчетный этап переход от момента к моменту . Будем считать, что для момента времени известны , и , а также записаны на всех предыдущих шагах вычислений элементы массива для .
Шаги этапа следующие:
- Вычисляем по формуле трапеций интеграл :
- Вычисляем предикторы:
- C помощью модуля генерации шума формируем по известному
- Вычисляем корректоры:
- Переходим к следующему этапу.
Видно, что формула для это шаг явного метода Эйлера, а формула для представляет собой формулу трапеций для интеграла , где в последнем слагаемом вместо неизвестного использован . Формула для это шаг неявного метода Эйлера с использованием предикторов вместо неизвестных величин. А формула для это обычная формула трапеций для интеграла, выражающего . Поэтому и получается, что используемая расчетная схема комбинирует метод Коши-Эйлера для дифференциальной части системы (23) и формулы трапеций для интегральной части этой системы.
На входе модуль получает следующие параметры из текстового файла:
- параметры , , , параметры подобия , ; , , ; ненулевые коэффициенты Галеркина (все прочие по умолчанию полагаются нулевыми);
- параметры ядра подавления , , ;
- параметры , , , процесса ;
- массивы начальных значений , , ;
- общее время моделирования и шаг по времени .
На выходе модуль формирует текстовый файл, структура которого полностью идентична структуре выходного файла предыдущего модуля.
Заключение
Авторами разработан комплекс программ для моделирования геодинамо в рамках класса спектральных моделей с эредитарным подавлением турбулентного генератора магнитного поля (α-эффекта).
В основе моделей лежат построения галеркинских аппроксимаций путем разложения полей задачи по собственным модам свободных затуханий. Поэтому первая группа задач, решаемых комплексом, это расчет параметров базисных мод и расчет коэффициентов Галеркина. Эти задачи решаются двумя модулями комплекса за счет комбинированных численно-аналитических вычислений.
Моделирование эредитарного подавления можно выполнять по выбору пользователя ядрами подавления с экспоненциальной и степенной асимптотиками. Это обеспечивается двумя модулями численного решения на основе различных разностных схем.
Разработанный комплекс может быть полезен специалистам, изучающим задачу геодинамо на основе спектральных моделей и эффекты памяти в этой задаче.