Краевые задачи и их решение
Оценка 4.8

Краевые задачи и их решение

Оценка 4.8
Лекции
docx
информатика
15.05.2023
Краевые задачи и их решение
Краевой задачей называется задача, в которой определённым образом задано условие на краях исследуемой области. Условия определяют поведение искомой функции.
Решение краевых задач..docx

Решение краевых задач.

Опр.  Краевой задачей называется задача, в которой  определённым образом задано условие на краях исследуемой области. Условия определяют  поведение  искомой функции.

Опр. ( постановка краевых задач).

          Решить дифференциальное уравнение y"=f(x,y,y'), при чём обязательно заданы граничные условия. Найти значения y в каждой точке фиксированной x.

Краевые задачи делятся на разные виды в зависимости от начальных условий:

1. Если граничные условия имеют вид: y(a)=A, y(b)=B. Где А и В либо константы, либо функция, то это краевые условия первого рода.

2.  Если граничные условия имеют вид: y'(a)=A, y'(b)=B,  то это краевая задача второго рода.

3. Если известны комбинации: α1·y'(a)+β1·y(a)=γ1 и

                                                     α2·y'(a)+β2·y(a)=γ2 то это краевая задача третьего рода.

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

Для задач второго рода на границах сама функция неизвестна, а известна её производная.

Для задач третьего рода неизвестно значение функции, неизвестна производная, а известна их комбинация.

Краевые задачи делятся на три основных типа:

1.     Параболического типа (пример: уравнения теплопроводности).

2.     Гиперболического типа (уравнение описывающее колебание струны).

3.     Эллиптического типа.

Рассмотрим краевую задачу 2-го рода параболического типа.

Задача: (моделирует процессы теплопереноса).

- коэффициент.

f – функция внутренних тепловых источников.

U – температура.

Начальные условия:

U(x,0)=φ(x)

  x=a = f(t)  - левое граничное условие

U(b)=q(t)        - правое граничное условие

 

Для её решения использую метод сеток.

Решение:

Изобразим декартовую систему координат, где отложим х (точка стержня) и у (момент времени).

Рассмотрим стержень.

 

 

Разобьем участок стержня на n равных частей и рассмотрим шаг  h=(b-a)/n (см. рисунок).

Для выбора шага по времени используем условие устойчивости:    это условие применяется для явной сетки, когда последующий слой считается через предыдущий. Если это условие будет не соблюдаться, то в программе могут возникать неадекватные результаты: очень большие числа или числа разных знаков. Обычно t приходится выбирать очень маленьким, например 0,001, 0,0001, что затрудняет процесс счёта на компьютере. Например, реальный процесс, который  происходит 2 секунды, моделируется на компьютере 2 часа.

Используя условие  U(x,0)=φ(x) мы можем найти значение температуры в каждой точке стержня в начальный момент времени, т.е. посчитать значение в следующих узлах сетки: 

Используя, правое граничное условие, мы найдём значение температуры на правом краю стержня во все моменты времени. На сетке эти точки будут расположены следующим образом:

(см. рисунок).

 

Затем, используя основное уравнение теплопроводности и выразив последующий слой через предыдущий мы можем найти значения температуры в следующих точках  (см. рисунок).

 

 

 

 

И, наконец, распишем производную на левой границе:  Найдём значение в точке U0,I:

U0,i=U1,i-

Значение в данной точке будет соответствовать следующему узлу сетки (см рисунок).

Таким образом мы посчитаем значения температуры в следующих узлах (см. рисунок)

 

 

 

 

 

 

Таким образом мы можем посчитать температуру во всей сетке (во всех узлах) и будем знать температуру стержня в каждой точке стержня в каждый момент времени.(Для получения более подробных сведений обращаётесь в раздел численных методов – решение краевых задач.)

 

Алгоритм программы.

В программе можно использовать два одномерных массива, либо один двумерный массив.

Одномерный массив описывается следующим образом:

U0[0..n] – используется для хранения данных  предыдущего слоя,

U1[0..n] – используется для хранения данных последующего слоя.

Задаём начальные условия в цикле, т.е. для каждой точки стержня задаём значение температуры  в нулевой момент времени:

For i:=0 to nx do { n - количество разбиений стержня}

  Begin

    U0[i]=φ(x) {в качестве φ(x) ,берётся функция из граничного условия}

    x:=i*dx {dx –шаг, который задаётся в начале программы самостоятельно}

Затем открываем цикл по времени:

      For j:=1 to T do {T – конечный момент времени}

        Begin

           U1[n]:=q(t1) { в качестве q(t1) ,берётся функция из правого граничного условия }

           t1:=dt*j { dt –шаг, который задаётся в начале программы  исходя из условия устойчивости – тоже самое что и }

Затем решаем основное уравнение теплопроводности. Предварительно расписав его в разностном виде:

Где Ui,j+1   -  это U[i]

       Ui,j   -  это U0[i]

       Ui+1,j   -  это U0[i+1]

       Ui-1,j   -  это U0[i-1]

Выражаем последующий слой через предыдущий:

т.е. for i:=1 to n-1 do

        U1[i]:=dt*(k*(U0[i+1]-2*U0[i]+U0[i-1])/(dx*dx)+f(i))+U0[i]

Т.о. мы посчитаем температуру на следующем слое , в точках соответствующих индексам от 1 до n-1.

Используя левое граничное условие  найдём: U0,i=U1,i- т.е.

U1[0]:=U1[1]-dx*f(t) {где f(t) функция т левого граничного условия}

Затем выводим слой (результат) на экран:

For i:=0 to 1 do

 Write(u1[i]);

   Writeln;

Переприсваиваем слои:

 U0:=U1 ;

Заканчиваем цикл по времени. Заканчиваем программу.


 

Решение краевых задач. Опр.

Решение краевых задач. Опр.

Задача: (моделирует процессы теплопереноса)

Задача: (моделирует процессы теплопереноса)

Обычно t приходится выбирать очень маленьким, например 0,001, 0,0001, что затрудняет процесс счёта на компьютере

Обычно t приходится выбирать очень маленьким, например 0,001, 0,0001, что затрудняет процесс счёта на компьютере

И, наконец, распишем производную на левой границе:

И, наконец, распишем производную на левой границе:

Затем открываем цикл по времени:

Затем открываем цикл по времени:

Writeln ; Переприсваиваем слои:

Writeln ; Переприсваиваем слои:
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
15.05.2023