Двумерный квадратичный скалярный закон сохранения

Решения типа ударных волн с угловыми точками на фронте, стабилизирующая функция. Способы задания сглаженных ударных волн. Скорость движения угловой точки на фронте, задача Коши, численный эксперимент. Скорость распространения плоской ударной волны.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 14.07.2016
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Решения типа ударных волн с угловыми точками на фронте

1.1 Способы задания сглаженных ударных волн

1.2 Скорость движения угловой точки на фронте

2. Численное решение задачи

2.1 Программа, комментарии

2.2 Результаты

Заключение

Библиография

Введение

Ударные волны являются важнейшим классом нелинейных гиперболических законов сохранения. Это решения с движущимися разрывами первого рода. Движения этих разрывов определяются классическими условиями Ренкина-Гюгонио. Условия Гюгонио в классическом варианте выписываются, когда множество точек, в которых происходит разрыв первого рода, является гладкой линией ( гладким подмногообразием ). Если же это подмногообразие негладкое, то есть содержит угловые точки, то задача описания распространения разрыва сильно усложняется. Фактически в этом случае речь идет о совместном распространении двух (или более) ударных волн, отвечающих гладким частям подмногообразие, на котором происходит скачок. Теоретически такая задача исследовалась в работах Виллареаля [1]. В этой работе использован подход, основанный на применении алгебр Коломбо, однако условия Ренкина-Гюгонио в случае негладкого подмногообразия, на котором происходит скачок, в работе [1] не построены. В данной работе мы рассматриваем пример двумерного квадратичного скалярного закона сохранения. Условия Коши при этом имеют вид характеристической функции области с углом, причем это начальное условие удовлетворяет условиям устойчивости Лакса-Олейник на скачке. В работе показано, что скорость движения угловой точки решения такой задачи Коши, не зависит от величины угла и совпадает со скоростью распространения плоской ударной волны. Этот результат подтверждается численными экспериментами. Для численных экспериментов была разработана и реализована на ЭВМ программа построения численного решения. Результаты численных экспериментов приведены в конце работы.

1. Решения типа ударных волн с угловыми точками на фронте

ударный сглаженный волна

1.1 Способы задания сглаженных ударных волн

Определение. Назовем функцию стабилизирующейся, если

·

· Для любых , и достаточно большого числа , следующие оценки верны:

где значения решения до и после скачка.

Введем гладкую функцию , определяющую разрыв в момент , следующим образом - ,

В нашем случае , поэтому пусть

, ( 1 )

здесь - неизвестная функция.

Если - нормальная составляющая скорости точки на тогда

, ( 2 )

причем знак отвечает тому случаю, в котором ее направление совпадает с направлением вектора . В самом деле, пусть - траектория некоторой фиксированной точки на .

Тогда имеем

.

Дифференцируя по , получим, что

,

или, разделив на ,

.

Очевидно, что вектор коллинеарен вектору , нормали к , и есть проекция скорости на направление .

С другой стороны, направление вектора совпадает с направлением, в котором функция возрастает, то есть обращено вовнутрь ( следовательно, ввиду формулы

,

полагаем в области . Предыдущие рассуждения позволяют нам выбрать знак в формуле ( 2 ), используя заданное нормальное направление либо известные свойства решения.

Попробуем объяснить логику выбора функции в том виде, в котором она была принята выше ( 1 ).

Утверждение. Пусть точка, которая не принадлежит . Тогда

.

Чтобы доказать это утверждение, заметим, что расстояние от точки до гладкой кривой может быть вычислено как минимальное расстояние между точкой и такими точками , что

, ( 3 )

где - нормаль кривой в точке .

Посчитаем

.

Выбирая так, чтобы выполнялось ( 3 ), мы получаем утверждение.

Лемма 1. Пусть - стабилизирующая функция, при , и . Тогда

,

где оценка равномерна в малой окрестности точки относительно переменных .

Доказательство: Используя формулу Тейлора, мы можем записать функцию в форме

,

где . Тогда

.

Заметим, что ввиду стабилизирующих свойств функций произведение ограничено для . Таким образом, лемма доказана.

1.2 Скорость движения угловой точки на фронте.

Далее, рассматривая наше уравнение в виде

покажем условие Гюгонио.

Именно, полагая решение в виде функции Хевисайда

,

получаем:

Во-первых,

,

во-вторых, учитывая, что

,

обозначая скачок на разрыве , получим:

,

аналогично,

)

Подставляя в уравнение Хопфа, получаем

, откуда,

, или

И, окончательно, получаем

Учитывая формулу для длины нормальной составляющей скорости (2),

получаем условие Гюгонио,

.

В нашем случае, функция описывает прямую

,

Где

Градиент и нормальная составляющая скорости соответственно равны

,

.

Скорость движения угловой точки вычисляется по формуле

2. Численное решение задачи

2.1 Программа, комментарии

Численное решение задачи проводится следующим образом: вводятся параметры задачи (размеры сетки, шаг по времени), заводятся два (в данном случае двумерных) массива для хранения верхнего и нижнего слоев схемы, задается начальное условие; сам расчет производят в цикле, где значение на верхнем слое вычисляется непосредственно через значения на нижнем, т.е. по явной схеме,

;

Само вычисление производится по формуле:

u_next[i][j] = u[i][j] + ht*( eps* ( (u[i - 1][j] - 2 * u[i][j] + u[i + 1][j]) /(hx*hx)+ (u[i][j -1] - 2 * u[i][j] + u[i][j + 1]) / (hy*hy) ) - 2 * u[i][j] * (u[i][j] - u[i - 1][j]) / hx - 2 * u[i][j] * (u[i][j]- u[i][j - 1]) / hy );

после чего происходит коррекция области. В нашем случае мы производим сужение области вычислений, записывая нулевые значения в узлы, оказывающиеся вне нее.

int iN = N;

int jM = M;

int i0 = 1;

int j0 = 1;

for (int k = 1; k <= K; k++) //цикл по времени

{

//цикл пробегающий двумерный массив

for (int i = 0; i <= N; i++)

{

for (int j = 0; j <= M; j++)

{

if ((i >= i0 && i < iN) && (j >= j0 && j < jM))

//если принадлежит области расчета

{

/* формула (явная схема) */

}

else

{

u_next[i][j] = 0;

//Вне текущий области рассчета всегда 0

}

}

}

temp = u;

u = u_next;

u_next = temp;

/*Область уменьшается с каждым шагом по времени, уменьшаем область*/

i0++;

j0++;

iN--;

jM--;

}

На рисунке черный периметр окружает область, начального массива, красный - область, актуальную для счета на данный момент.

Таким образом, размер сетки выбирается в зависимости от того насколько долго нужно считать. Вывод производится в файл, по которому в дальнейшем можно построить график решения в данный момент времени.

if (k%kout == 0)

{

write_file_gnuplot_small(u, file, path_name, N, M, hx, hy, k, X, realX);

}

где kout частота вывода в файл.

Дополнительно, для усмотрения движения угловой точки на фронте вводим массив для записи положения вершины в каждую итерацию. Сама запись производится непосредственно после вычисления.

vertex[k] = find_vertex(u_next, N, hx,vertex_flag, jv);

Для поиска вершины вводится функция find_vertex (в ней vertex_flag порог, выше которого точка считается достигнутой, соответственно максимальная из этих точек находится на фронте; jv хранит в себе вершину на предыдущей итерации)

float find_vertex(float**u, int N, float hx, float vertex_flag, int* jv)

{

int i= 0;

for (i = *jv; i <= N && u[i+1][i+1] > vertex_flag ; i++);

*jv = i;

return i*hx;

}

2.2 Результаты

Приложим вычисление при углах на промежутке

График в моменты + график движения вершины.

Приведем также графики движения на одном рисунке

Заключение

Основным результатом работы является тот факт, что скорость движения угловой точки решения такой задачи Коши, не зависит от величины угла и совпадает со скоростью распространения плоской ударной волны. Полученный результат может быть распространен на системы квадратичных гиперболических законов сохранения.

Библиографический список

[1] - Villareal F. - Generalized Heaviside functions in the Colombeau context, Electronic Journal of Differential Equations, Vol. 2012 (2012), No. 87, pp. 1-20. ISSN: 1072-6691.

[2] - Danilov V.G., A new definition of weak solutions of semilinear equations with a small parameter, Uspekhi Mat. Nauk 51 (1997), no. 5, 184 (Russian), translated in Russian Math. Surveys.

[3] - Colombeau J.F. - Multiplication of distributions, a tool in mathematics, numerical engineering and theoretical physics, Springer-Verlag Heidelberg, 1992.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.