2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Помогите с числ. методом для диффузионно-реационной задачи
Сообщение26.08.2012, 19:38 
Имеется уравнение диффузии, описывающее распространение реагента к поверхности ($x=0$):
$\frac{\partial U(t,x)}{\partial t}=D\Delta{}U$,
и уравнение, описывающее хим. реакцию на этой поверхности:
$\frac{dU(t,x=0)}{dt}=f(U(t,x=0),t)$.
Начальное распределение концентрации реагента и правое граничное значение концентрации заданы:
$U(0,x)=U_0(x),\qquad{}U(t,x=L)=\varphi(t)$.

У меня возникла проблема с решение разностной схемы для этой задачи.
Пробую решить задачу следующим образом. Записываю разностную схему для уравнения диффузии, основанную на двухслойной схеме Кранка-Николсона:
$\frac{U_j^{n+1}-U_j^{n}}{\Delta{}t}=D\left[\frac{U_{j+1}^{n+1}-2U_j^{n+1}+U_{j-1}^{n+1}}{2(\Delta{x})^2}+\frac{U_{j+1}^{n}-2U_j^{n}+U_{j-1}^{n}}{2(\Delta{x})^2}\right]$.
Схема для реакции на границу записываю в виде:
$D\left[\frac{U_{2}^{n+1}-2U_1^{n+1}+U_{0}^{n+1}}{2(\Delta{x})^2}\right]=f(t_n,U_0^{n})$.
Здесь нижние индексы $j$ отвечают пространственной координате сетки ($j=0,...,M$), верхние индексы $n$ - временным узлам сетки
($n=0,...,N$).
Двухслойную схему можно записать в виде:
$A_jU_{j+1}^{n+1}+B_jU_{j}^{n+1}+C_jU_{j-1}^{n+1}=\xi_j^{n}$,
где $A_j, B_j, C_j, \xi_j^{n}$ - коэффициенты, выражающиеся через параметры сетки. Хочу решить это уравнение методом прогонки.
Для этого записываю соотношение $U^{n+1}_{j-1}=\alpha_{j-1}U^{n+1}_j+\beta_{j-1}$. В результате подстановки соотношения получаем рекуррентные соотношения для прогоночных коэффициентов:
$\alpha_j=-\frac{A_j}{B_j+C_j\alpha_{j-1}},\qquad\beta_j=\frac{\xi_j^n-C_j\beta_{j-1}}{B_j+C_j\alpha_{j-1}}$.
Таким образом, для нахождения решения на каждом временном слое находятся прогоночные коэффициенты $\alpha_0,\beta_0$. Они находятся из левого граничного условия (моя проблема именно в этом. см. ниже). Остальные коэффициенты рассчитываются по рекуррентным соотношениям. Решение в слое строиться от правой границы: $U_{M-1}^{n+1}=\alpha_{M-1}U_{M}^{n+1}+\beta_{M-1}$.

Таким образом, для решения задачи необходимо знать граничные условия с обоих сторон, т.е. на поверхности, где происходит реакция, и на "правой" поверхности. С этим у меня возникли проблемы. С одной стороны, для "околореакционного" слоя , для которых записана разностная схема ($j=0,1,2$), можно записать:
$\bar{A}_1U_2^{n+1}+\bar{B}_1U_1^{n+1}+\bar{C}_1U_0^{n+1}=\bar{\xi}_1^{n}$.
Коэффициенты $\bar{A}_1,\bar{B}_1,\bar{C}_1$ вообще говоря не совпадают с ${A}_1,{B}_1,{C}_1$. Я пробовал найти начальный прогоночные коэффициенты из сравнения уравнения $\bar{A}_1,\bar{B}_1,\bar{C}_1$ с уравнением с ${A}_1,{B}_1,{C}_1$. Найти не удалось.

Подскажите, пожалуйста, как это лучше сделать? Правильно ли я решаю задачу? Если да, то как найти $\alpha_0,\beta_0$?

 
 
 
 Re: Помогите с числ. методом для диффузионно-реационной задачи
Сообщение29.08.2012, 10:04 
С задачей справился. Начал рассматривать реакцию не в одном слое точек, а в слое некоторой ширины.
На самой левой границе, таким образом, условие непроникновения реагента за поверхность записывается в виде $\frac{\partial U(x=0,t)}{\partial x}=0$. Все прогоночные коэффициенты находятся.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group