Задание для реализации Предлагается программа для решения системы квазилинейных уравнений параболического типа: T1 div 1 (T1 )T1 f1 (T1 , T2 ), t T2 div 2 (T2 )T2 f 2 (T1 , T2 ). t Блоки программы; Основные функции; Nle — основная программа: реализует переход к новому шагу по времени, реализует итерации по нелинейности. Sor1 — подпрограмма: реализует решение линейной системы уравнений (получающейся на каждой итерации по нелинейности). Реализован метод верхней релаксации с красночерным разбиением (описан в книге Дж. Деммеля «Вычислительная линейная алгебра»). Задание подразумевает, что эти функции не должны меняться пользователем, если только при проведении тестирования не обнаружатся существенные ошибки! Предполагается только исследование зависимостей и распараллеливание этих программных единиц! То, что должно быть модернизировано пользователями под тестовые и расчетные задачи: Функции, отвечающие за реализацию задачи (коэффициенты, ьфункциональные зависимости): kappa1, kappa2 – функции, описывающие коэффициент теплопроводности. Параметры задаются в файле “parameters.inc”. Если функциональная зависимость коэффициента теплопроводности от температуры представляется в виде i (Ti ) DiTii , то в файле “parameters.inc” необходимо задать D1, D2, alpha1, alpha2. intkappa1, intkappa2 – функции, описывающие интегралы от коэффициентов u теплопроводности, возвращают значения: ( z )dz . 0 Для реализации в программе необходимо проинтегрировать выражения для козффициентов. Если i (Ti ) DiTii , то intkappa должна вычислять значение: Ti i (Ti ) DiT i dT 0 1 1 DiT i (конечно, при значении alpha > –1). i 1 Функции f1 и f2 задают правые части системы. Например, если выражение для правой части есть f1 (T1,T2 ) a1T11 (T1 T2 ) , то соответствующие константы должны быть заданы в файле “parameters.inc”. Функции f1T1, f1T2, f2T1, f2T2 реализуют все частные производные fi . Например, для T j приведенной выше правой части f1 (T1,T2 ) a1T11 (T1 T2 ) функция f1T1 должна возвращать значение f1 (T1, T2 ) a1T111 ((1 1)T1 T2 ), T1 , f1T2 должна возврашать значение f1 (T1 , T2 ) a1T11 , кроме того, параметры b в файле “parameters.inc” зарезервированы T2 для задания коэффициентов, описывающих конкуренцию в «экологической» задаче. Функции Bound1 и Bound2 задают граничные условия для Т1 и Т2 соответственно, внутри них — 2 цикла по «горизонтальным» и «вертикальным» границам области в каждый момент времени. Для простоты рассмотрения во всех задачах реализуются только условия первого рода (Дирихле). Функции InitT1 и InitT2 задают начальные значения массивов Т1 и Т2 соответственно. Закоментирована функция timestep. Ее целесообразно использовать для задания уменьшающегося шага по времени при проведении тестов для режимов с обострением. Задание 1 – «плазменное» (уровень «сильный») Требуется решить систему уравнений: Te div 1Te5/ 2Te qTe3/ 2 (Ti Te ) rTe 2 pTe , t Ti div 2Ti 3/ 2Ti qTe3/ 2 (Ti Te ), t в квадратной области 1 x 1, 1 y 1. Моделирующую взаимодействие между электронной и ионной компонентами плазмы. В правой части каждого уравнения первое слагаемое описывает теплопроводность материала, второе – обмен энергиями за счет электронно-ионных столкновений. Третье слагаемое моделирует источники тепла за счет джоулева нагрева при учете конечной проводимости плазмы, последнее — потери на излучение. (показатели степени модельные, так для джоулева нагрева правильный показатель либо 3/2, либо 1, в зависимости от замагниченности). Все константы принять порядка единицы. Начальные условия – холодный фон, температуры электронной и ионной компонент принять равными нулю. Граничные условия. Три стенки охлаждаемые, для них принять темпнратуру равной нулю. На одной стенке есть источник ионов с температурой 1, электроны нагреваются за счет внешнего поля, температура задана соотношением T 1(t , 1, y ) 2sin 2 ( t ) . 1.5 y Система тестов – обменные члены положить равными нулю, исследовать развитие локализованных возмущений в режиме с обострением (см. лекции). Исследовать эффективность распараллеливания при расчете тестовой задачи и двухтемпературной модели при использованиии 4,5,......,32 счетных ядер на сетках А) 100×100 Б) 500×1000 Задание 2 – «эколгическая модель» (уровень «средний») Требуется решить систему уравнений: n1 div d1n1n1 a1n1 b11n12 b12 n1n2 , t n2 div d 2 n2n2 a2 n2 b21n1n2 b22 n22 , t в квадратной области 1 x 1, 1 y 1. Будем считать, что все параметры задачи — положительные 0 d 2 d1 1. Зададим коэффициенты b следующим образом. 1. Выполняется условие b b det 11 12 0 b21 b22 числа. Пусть Положим, например, что матрица, описывающая взаимодействие, есть b11 b12 1 5 b21 b22 6 5 Система алгебраических уравнений описывает пространственно-однородое стационарное решение системы a1n1 b11n12 b12 n1n2 0, a2 n2 b21n1n2 b22 n22 0. Она имеет 4 решения – тривиальное, решение, когда плотность каждой популяции отлична от нуля (известно, что это решение неустойчивое) и два решения (0, a2 b22 ), (a1 b11 ,0) . Граничные условия для системы. На всех границах задается плотность популяции, соответствующая одному из приведенных выше двух пространственно-однородных решений. Начальные условия. Во всей области задано одно из пространственно-однородных решений (то же, что и на границах области), кроме того, есть одно или два пятна произвольной формы (например, круглой), где задано другое пространственнооднородное решение. Численно исследовать динамику плотности популяций. Тестовый режим – найти стационарные неавтомодельные решения для каждой популяции в случае, когда нет взаимодействия, а есть лишь самоограничение n1 div d1n1n1 a1n1 b11n12 , t n2 div d 2 n2n2 a2 n2 b22 n22 , t Исследовать, как воспроизводится стационарное решение, исследовать выход на стационарный режим. *(дополнительное, для любителей длиных арифметических выкладок) Найти стационарное неавтомодельное решение исходной задачи при условии d 2 0 и условия его существоваия, исследовать численно выход на стационарное решение. Исследовать эффективность распараллеливания при расчете тестовой задачи и экологической модели при использованиии 4,5,......,32 счетных ядер на сетках А) 100×100 Б) 500×1000