87808

Сгущение сеток

Лекция

Информатика, кибернетика и программирование

Конечно разностная схема (5) содержит два временных слоя: верхний и текущий T. Задача состоит в переходе от известной функции Т к искомой на верхнем слое. КРС (5) является явной потому что ее решение вычисляется по явным формулам Распишем СЛАУ в неявную схему, заменив производную по времени назад.

Русский

2015-04-23

195.04 KB

0 чел.

Сгущение сеток

  1.  Введение.

Рассмотрим сгущение сетки с помощью решения диф. ур-я.

             (1)

t=0 : T=0    (2)

x=0 : T[0]=0            (3)

x=1 : T[N]=   (4)

Уравнения (1)-(4) составляют систему , которая на каждом временном слое j представляет собой СЛАУ.

Распишем СЛАУ

   ,    (5)

.

Конечно разностная схема (5) содержит два временных слоя : верхний  и текущий T.

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

КРС (5) является явной потому что ее решение вычисляется по явным формулам  

Распишем СЛАУ в неявную схему, заменив производную по времени назад.

, где  ;  ;

   T[0]=0;      T[N] = .

Ее можно переписать в матричном виде AT=F, где А матрица коэффициентов, Т искомая сеточная функция , F заданный вектор краевой задачи. .

AT=F

Видим, что получили 3ехдиагональную матрицу, решаем ее методом прогонки(Томаса).

Он основывается на предположении, что искомые неизвестные связаны рекуррентным соотношением:

 где  i=n-1…1

Где α,β – прогоночные коэффициенты:


  1.  Результаты

N=20 – кол-во узлов

Зеленый график – алгебраический способ сгущения

Синий график – сгущение с помощью решения ДУ


N=51 – кол-во узлов

α=2 сгущение вокруг точки 0.4

Зеленый график – алгебраический способ сгущения

Синий график – сгущение с помощью решения ДУ


N=51 – кол-во узлов

α=2 сгущение вокруг точки 0.2

Зеленый график – алгебраический способ сгущения

Синий график – сгущение с помощью решения ДУ


  1.  Приложение

Код программы в С++:

#include <iostream>

#include <fstream>

using namespace std;

const double pi=3.1415926535;

const int n=51;

double h=1.0/(n-1);

double x[n],y[n]; //y=f(x) - д.у.

double a[n],b[n]; //прогоночные коэф

double alpha=2; //показатель алгебр. сгущения/разряжения

double k(double x)

{

 if(x>=0)

 if(x<0.3)

 return 1;

 if(x>=0.3)

 if(x<=0.4)

 return 1;

 if(x>0.4)

 if(x<0.9)

 return 5;

 if(x>=0.9)

 if(x<=1)

 return 1;

}

double A(double x,double y)//x=x[i] y=x[i-1]

{

 return (k(x)+k(y))/(2*h*h);

}

double B(double x,double y)//x=x[i] y=x[i+1]

{

 return (k(x)+k(y))/(2*h*h);

}

double C(double x,double y,double z)//x=x[i+1] y=x[i] z=x[i-1]

{

 return -(k(y)+k(x))/(2*h*h) - (k(y)+k(z))/(2*h*h);

}

void progonka()

{

y[0]=0;

a[0]=0;

b[0]=0;

 for(int i=0;i<n-2;i++)

{

 a[i+1]=-B(x[i],x[i+1])/(A(x[i],x[i-1])*a[i]+C(x[i+1],x[i],x[i-1]));

 b[i+1]=(-A(x[i],x[i-1])*b[i])/(A(x[i],x[i-1])*a[i]+C(x[i+1],x[i],x[i-1]));

}

y[n-1]=1;

 

 for(int i=n-2;i>0;i--)

 y[i]=a[i]*y[i+1]+b[i];

}

void al(double z)

{

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

 if(x[i]<z)

  y[i]=z*(1-pow((z-x[i])/z,alpha));

 else

  y[i]=z+pow((x[i]-z)/(1-z),alpha)*(1-z);

}

void main()

{

 ofstream fd("1.txt");

 ofstream fa("2.txt");

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

 x[i]=i*h;

progonka();

 for(int i=0;i<n;i++) //запись ду

 fd<<h*i<<"\t"<<y[i]<<endl;

al(0.2);

 for(int i=0;i<n;i++) //запись ал

 fa<<h*i<<"\t"<<y[i]<<endl;

 system("pause");

}


Код программы в Matlab:

A = load('1.txt'); % считываем данные

x1 = A(:,1); % первый столбец

y1 = A(:,2); % второй столбец

 

B = load('2.txt'); % считываем данные

x2 = B(:,1); % первый столбец

y2 = B(:,2); % второй столбец

 

plot(x1,y1,x2,y2) % рисуем

%axis([0  1  0  1])


 

А также другие работы, которые могут Вас заинтересовать

80947. Контроль навчання, його функції, види методи 37.51 KB
  У дидактиці це нагляд спостереження і перевірка успішності учнів. Спостереження за учнями під час занять перевірка їх знань навичок і вмінь зошитів навчальної і практичної діяльності учнів є засобами контролю. Облік успішності передбачає фіксацію результатів контролю у вигляді оцінки Функції контролю перевірки і оцінки навчальних досягнень учнів. Ці функції оцінки знань учнів різнопланові.
80948. Система перевірки знань, умінь, навичок; учнів після вивчення теми «Україна в другій половині XIX століття» 35.42 KB
  Повторити та узагальнити матеріал з даної теми. Хронологічний конкурс Цей конкурс має характер розминки і передбачає знання хронології історичних подій. Командам потрібно розташувати події в хронологічній послідовності і вказати дати, коли вони сталися. Максимальна оцінка за цей конкурс шість балів.(робота з індивідуальними картками)
80951. Характеристика сучасної системи шкільної історичної освіти в Україні 36.25 KB
  Програма шкільних курсів історії. У програмі шкільних курсів історії закладено такі пріоритети. Вивчення історії України. Вивчення історії ХХ століття.
80952. Необхідність використання художньої літератури в навчанні історії України 35.92 KB
  Твори художньої літератури рекомендуються у всіх шкільних підручниках з кожного курсу історії художня література є для учнів одним з важливих джерел для ознайомлення з історичним минулим і одним з ефективних засобів їх морального і естетичного виховання. Чому слід використовувати художні твори Тому що Художній образ як правило відрізняється влучністю і переконливістю. Літературні памятники Звичайно це твори створені в ту епоху яку ми вивчаємо тобто твори написані сучасниками описуваних явищ і подій. Твори цієї групи є документами...
80953. Основні компоненти змісту історичної освіти 33.66 KB
  Зміст освіти його основні компоненти: Зміст шкільної історичної освіти один із компонентів процесу навчання історії певна система історичної інформації яка засвоюється у вигляді історичних знань умінь і навичок в яких особистість засвоює вже відомі способи діяльності досвід творчої пізнавальної діяльності у розв\'язанні проблем що вирішувались людством у минулому. Лернером 1 досвід пізнавальної діяльності що відображений у знаннях про природу суспільство техніку мислення і способи діяльності...
80954. План вивчення теми: «Українські землі наприкінці ХУІІ— у першій половині ХУІІІ ст.» (8 клас) 36.43 KB
  Першою темою Гетьманщина наприкінці XVII на початку XVIII ст. Метою цього уроку характеризувати політичне становище Гетьманщини наприкінці XVII на початку XVIIІ ст.№2 Правобережна Україна наприкінці XVII на початку XVIII ст.