Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Решение уравнений эллиптического типа





 

Program Direchle;

uses crt;

const n=900;

gr=3;

var z1,z2,poln,i_x,i_y,shag,x,y,ch,i,j,s:integer;

fi_le:text;

mas:array [-gr..gr,-gr..gr] of integer;

mas_height:array [-gr..gr,-gr..gr] of real;

sum:real;

begin

clrscr;

for j:=-gr to gr do {Задание граничных условий}

begin

writeln;

for i:=-gr to gr do

begin

if i=-gr then mas_height[j,i]:=0;

if j=gr then mas_height[j,i]:=0;

if j=-gr then

begin

mas_height[j,i]:=poln;

inc(poln);

end;

if i=gr then

begin

dec(poln);

mas_height[j,i]:=poln;

end;

end;

end;

writeln;

randomize;

assign(fi_le,'c:/direchle.dat');

rewrite(fi_le);

for i_x:=-gr+1 to gr-1 do

for i_y:=-gr+1 to gr-1 do

begin

ch:=0;

for i:=-gr to gr do

for j:=-gr to gr do

mas[i,j]:=0;

for i:=1 to n do {Расчет по блужданиям}

begin

x:=-i_x;y:=i_y;shag:=0;

while (x<>gr) and (y<>gr) and (x<>-gr) and (y<>-gr) do

begin

s:=random(9);

if (s=0) or (s=4) then begin inc(y);end;

if (s=1) or (s=5) then begin inc(x);end;

if (s=2) or (s=6) then begin dec(y);end;

if (s=3) or (s=7) then begin dec(x);end;

inc(ch);

inc(shag);

end;

mas[x,y]:=mas[x,y]+shag; {Количество попаданий}

end;

for z1:=-gr+1 to gr-1 do

sum:=sum+(mas[z1,gr]*mas_height[-z1,gr]/ch);

for z2:=gr-1 downto -gr+1 do

sum:=sum+(mas[gr,z2]*mas_height[-gr,z2]/ch);

mas_height[i_x,i_y]:=sum; {Значения искомой функции}

sum:=0;

end;

for j:=-gr to gr do {Формирование текстового файла}

begin

writeln(fi_le);

for i:=-gr to gr do

write(fi_le, mas_height[j,i]:2:3,' ');

end;

close(fi_le);

end.

Решение уравнений параболического типа

На примере уравнения теплопроводности

 

program montik;

uses crt;

const

stx=0.125;{шаг по длине}

stt=0.01; {шаг по времени}

mt=0.07; {время }

bts=9; {начальная температура на левом конце}

tle=0; { начальная температура на левом конце }

tpe=0; { начальная температура на левом конце }

Ni=500; {Число испытаний}

ld=0.5; {лямда}

var

mv:array[0..5] of real;

Mass:array[0..10,0..10] of real;

g:array[0..10,0..10] of integer;

N,M,Xx,Tt,x,t,i,vn,t1,x1:integer;

tv,rn,l:real;

f:text;

label Metka;

 

function Convert_St_Int(vh:real):integer;

var

vh_str:string;

err_vih,pos_s,st_int:integer;

begin

str(vh:2:2,vh_str);

pos_s:=pos('.',vh_str);

vh_str:=copy(vh_str,1,pos_s-1);

val(vh_str,st_int,err_vih);

Convert_st_int:=st_int;

end;

 

begin

clrscr;

assign(f,'c:\el.dat');

rewrite(f);

mv[0]:=5;

mv[1]:=ld*stt/(sqr(stx)+2*ld*stt);

mv[2]:=(stt-ld*stt)/(sqr(stx)+2*ld*stt);

mv[3]:=(sqr(stx)-2*stt+2*ld*stt)/(sqr(stx)+2*ld*stt);

mv[4]:=(stt-stt*ld)/(sqr(stx)+2*ld*stt);

mv[5]:=stt*ld/(sqr(stx)+2*ld*stt);

N:=Convert_St_Int(1/stx);

M:=Convert_St_Int(mt/stt);

Xx:=1;

Tt:=1;

randomize;

for x:=0 to N do

begin

Mass[x,0]:=bts;

end;

for t:=0 to M do

begin

Mass[0,t]:=tle;

Mass[N,t]:=tpe;

end;

for t:=1 to M do

begin {Цикл по времени}

for x:=1 to N-1 do

begin {Цикл по длине}

for i:=1 to Ni do

begin {цикл по испытаниям}

tv:=0;

rn:=random;

for vn:=1 to 5 do

begin {расчет по блужданиям}

if (tv<rn)and(rn<(tv+mv[vn])) then goto Metka;

tv:=tv+mv[vn];

end;{konec cikla po vn}

metka:

case vn of

1:Xx:=Xx-1;

2:

begin

Xx:=Xx-1;

Tt:=Tt-1;

end;

3:Tt:=Tt-1;

4:

begin

Xx:=Xx+1;

Tt:=Tt-1;

end;

5:Xx:=Xx+1;

end;{conec uslovii case}

if (Xx=0) or (Xx=N) or (Tt=0) then

begin

g[Xx,Tt]:=g[Xx,Tt]+1;

Xx:=x;

Tt:=t;

end;

end;{konec cicla po блужданиям}

for t1:=0 to t do

begin

Mass[x,t]:=Mass[x,t]+Mass[0,t1]*g[0,t1]/Ni;

Mass[x,t]:=Mass[x,t]+Mass[N,t1]*g[N,t1]/Ni

end;

for x1:=1 to N-1 do

begin

Mass[x,t]:=Mass[x,t]+Mass[x1,0]*g[x1,0]/Ni;

end;

for t1:=0 to 10 do

begin

for x1:=0 to 10 do

begin

g[x1,t1]:=0;

end;

end;

end;{conec cicla po X}

end;{conec cicla po T}

writeln;

l:=0;

write('X= |');

for x1:=0 to N do

begin

write(' ',l:2:2,' |');

l:=l+stx;

end;

writeln;

for x1:=0 to N do

begin

write('--------');

end;

writeln;

l:=stt*M;

for t:=M downto 0 do

begin

write('T=',l:2:2,' |');

l:=l-stt;

for x:=0 to N do

begin

write(' ',Mass[x,t]:2:2,' |');

write(f,Mass[x,t]:2:2,' ');

end;

writeln;

writeln(f);

end;

readln;

close(f);

end.

Метод Монте-Карло при моделировании

Задач нейтронной физики

Программа моделирования движения нейтронов через пластинку без учета сорта ядра.

 

Program berillii;

uses crt;

const a=7;

n=10000;

var mu,psi,x,e,bc,bt,p,h,g1,g2,g3,g4,z,z0:real;

i,j,ch_scvoz,ch_otr,ch_pogl,ch_rass:integer;

mu_disable,e_disable:boolean;

begin

clrscr;

randomize;

for j:=1 to 5 do

begin

ch_scvoz:=0;

ch_otr:=0;

ch_pogl:=0;

ch_rass:=0;

h:=3; g1:=1; z0:=0;

for i:=1 to n do

begin

g2:=random; g3:=random;

if not e_disable then e:=g1;

if not mu_disable then mu:=2*g3-1;

z:=z0-(ln(g2)*mu/e);

if z>h then

begin

inc(ch_scvoz); mu_disable:=false; e_disable:=false;

end;

if z<0 then

begin

inc(ch_otr); mu_disable:=false; e_disable:=false;

end;

if (z<=h) and (z>=0)

then

begin

if e<0.01 then bc:=4 else bc:=4-2.2*g1;

bt:=bc+(0.113/sqrt(g1));

p:=bc/bt;

g4:=random;

if g4<p then

begin

inc(ch_pogl);

mu_disable:=false;

e_disable:=false;

end

else

begin

x:=2*pi*g2;

psi:=(1+a*mu)/sqrt(1+2*a*mu+a*a);

e:=e*(a*a+2*a*mu+1)/(a+1)*(a+1);

mu:=mu*psi+cos(x)*sqrt((1-mu)*(1-psi*psi));

inc(ch_rass);

mu_disable:=true;

e_disable:=true;

end;

end;

g1:=random;

end;

writeln(ch_scvoz/n*100:5:0,');

writeln(ch_otr/n*100:5:0,'доля отраженных=');

writeln(ch_pogl/n*100:5:0, 'Доля поглощенных=’);

writeln(ch_rass/n*100:5:0,' доля проходящих');

end;

end.

Программа 2 моделирования прохождения нейтрона через вещество







Дата добавления: 2015-10-12; просмотров: 447. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

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

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия