Showing posts with label Фортран хэл. Show all posts
Showing posts with label Фортран хэл. Show all posts

Friday, February 19, 2021

Фортран (өөр хэл дээр ч байж болно) оруулга програм

 Нуурын усны чанар

Инженерийн тооцоо хийх олон фортран програм бичсэн бөгөөд тэдгээрийг инженерүүдэд хэрэгтэй байдлаар онлайн тавих асуудал болж байв. Инженер болгон прогармчлалын хэл мэдэхгүй учир кодны учрыг олж ажиллуулж чадахгүй. Цаг гаргаж хальт хайвал хоёр аятайхан сайтууд оллоо. Эдгээр нь

Wednesday, October 23, 2019

Нэг хэмжээст дулаан дамжуулалт /1D heat conduction/

Нэг хэмжээст дулаан дамжуулалтын загвар

Нэг хэмжээст хатуу хавтангаар дулаан дамжих үзэгдлийг загварчлая. Хавтангийн анхны температурыг T=0.0 байна гэж үзье. Хугацаа t >0 үед хавтангийн зүүн хязгаараас Tw=1.0 гэсэн температур өгөгдөнө. Хавтангийн уртыг 100 нэгж гэж үзье. Хавтангийн дулаан тархалтын коэффициент гэвал хавтангаар дамжих температурыг t=200 нэгж хугацаанд СБА болон ТЯА-аар тооцож үр дүнгүүдийг харьцуулъя.
Бодох тэгшитгэл
Энд Ф тархаж буй эсвэл дамжуулагдаж буй дулаан, алфа нь орчны дамжуулалтын коэффициент болно. Үүнийг төгсгөлөг ялгаварын аргаар ойролцоолбол:
Сүлжээний Больцманны арга болон Төгсгөлөг ялгаварын аргаар бодсон үр дүнг харьцуулбал:
1 хэмжээст хавтгай орчинд дулаан дамжих үзэгдлийг СБА болон ТЯА-аар бодсон үр дүн

Saturday, January 19, 2019

Сүвэрхэг орчин дотуурх шингэний урсгалын жишиг бодлого /A porous media flow benchmark/

Сүвэрхэг орчин дотуур шингэний урсгалын жишиг бодлого
U хэлбэрийн хоолой доторх сүвэрхэг орчин дотуурх урсгалын аналитик шийд

Нюфлотыг график дүрслэлд ашиглах "Зургадугаар хэсэг"

Хөрс бол сүвэрхэг орчин юм. Хөрсөн доторх аливаа шингэний урсгалыг сүвэрхэг орчин дотуурх шингэний урсгал буюу шүүрэлт хэмээн судалдаг. Шүүрэлтийн урсгалыг судлах, түүнийг танин мэдэх, инженерчлэлд уг олж авсан мэдлэгийг ашиглах нь бүхий л инженерийн салбаруудад чухал байгаа учир энэ чиглэлийн судалгаа маш өргөн цар хүрээтэй явагддаг байна. Усны барилгад шүүрэлт барилга байгууламж найдвартай оршин тогтноход сөрөг нөлөө үзүүлж байдаг. Бусад инженерийн салбарт тухайлбал газрын тос, байгалийн хий, газар доорхи ус, эрүүл мэндийн салбарт ясны сүвэрхэг хэсгээр капиляр үйлчлэлд шингэн урсах, хүнсний салбарт хүнсийг хатаах, хадгалах, материалын шинжлэх ухаанд зохистой сүвэрхэг шинж чанартай материал бий болгох гэх мэт дурьдвал олон хэрэглээ байна. Чухамдаа сүвэрхэг орчин өөрөө түвэгтэй бүтэцтэй, өөрөөр хэлбэл тодорхойгүй, байдаг учир түүгээр өнгөрөх шингэний урсгал ямар шинж чанартайгаар урсахыг таамаглахын арга байдаггүй. Товчхондоо энэ бол шингэн-хатуу хэсгийн хамгийн төвөгтэй харилцан үйлчлэлийн бодлого юм. 
U хэлбэрийн хоолой доторх сүвэрхэг орчин дотуур урсах шүүрэлтийн жишиг бодлогыг Ерөнхийлсөн Навьер-Стокесийн тэгшитгэлд суурилсан Сүлжээний Больцманны аргаар бодсон нь.
Энд та бүхэндээ сүвэрхэг орчин дотуурх урсгалын талаар, түүний нэгэн жишиг бодлогын аналитик шийд, шийдийн үр дүнг програмчилсан талаар хүргье.

Wednesday, January 2, 2019

График дүрслэлийн Нюфлот програмыг Фортранаас дуудах нь/Gnuplot plotting with Fortran/

График дүрслэлийн Нюфлот програмыг Фортранаас дуудаж ажиллуулах нь

"Тавдугаар хэсэг"

Нюфлот буюу Gnuplot гээд програмыг эрдэмтэд, судлаачид мэдээлэл, өгөгдөл, үр дүнгүүдээ дүрсжүүлэх, график зурахад өргөн ашигладаг. Нюфлотын тухай хэд хэдэн нийтлэл байгаагаас (Gnuplot posts) яг яаж ажиллуулах, яаж график зурах талаар энд нарийн дурьдсан байгаа. 
Сүүлийн үеийн дэвшилтэт програмчлалын хэлнүүд C++, Python, R, Java, C# болон бусад хэрэгсэлүүд болох Mathlab, Matematica, LabVIEW гэх мэт өөрсдөө мэдээллийг дүрсжүүлэх боломжуудтай байдаг. Гэтэл зорилгоосоо хамаараад зарим хэлнүүдэд мэдээллийг дүрсжүүлэх боломжгүй байдаг (Коммандын мөр дээр тоогоор зурахыг эс тооцвол шүү дээ). Ийм хэлнүүдийг ашиглаж мэдээ шинжлэх, тооцоолол үйлдэх зэрэг ажлууд хийж байгаа бол үр дүнгүүдийг өөр нэг програмын буюу дээр дурьдсан хэрэгслүүдийн тусламжтайгаар зураглах шаардлага гарна. Мэдээж мэдээг дүрсжүүлэх Нюфлоттой ижил маш олон нээлттэй, лицензтэй програмууд (жагсаалтын эндээс хар) байгаа гэдгийг мэдэж байх хэрэгтэй. Нюфлот бол нээлттэй, маш хүчирхэг, энгийн, олон програмтай хамтарч ажиллах боломжтой, сэтгүүлийн стандартад нийцсэн зураглал үйлдэх боломжтой гэх мэт давуу талуудаараа хэрэглэгчдийг их татдаг байх. Энэ ч утгаа анх Нюфлотыг сурж ашиглаж ирсэн юм. Гэхдээ Фортран дээр тооцоо хийж үр дүнгүүдээ хэвлэж файл болгоод уг файлуудаа дуудаж Нюфлот дээр график зурдаг байсан юм. Өөрөөр хэлбэл доорхи зурган дээрх шиг 2 консоль нээчихээд л үзэж дардаг байсан гэсэн үг.
Фортран болон Нюфлотын консолиуд.
Үнэндээ бол Нюфлотын кодыг фортранд шигтгэж өгөх, эсвэл Нюфлотыг фортранаас дуудах боломжтой гэдгийг мэддэг ч зүгээр л зориглож хийдэггүй байлаа л даа. Энэ удаад яаж Нюфлотыг фортранаас дуудаж ажиллуулах талаар тайлбарлана. Үнэндээ маш амархан эд байсан байна лээ. 

Tuesday, December 25, 2018

Микро-хэмжээст сүвэрхэг орчинг дурын түгэлтээр байгуулах тухай /Generation pore scale porous media by random distribution

Микро-хэмжээст сүвэрхэг орчинг дурын түгэлтээр байгуулах тухай (Generation of pore scale porous media by random distribution)

Шинжлэх ухаан, судалгааны ажилтай холбоотой нийтлэл бичилгүй зэвэрсэн нэг жилийг ардаа өнгөрөөжээ. Шинэ юм нэг ч хийгээгүй, шинэ зүйл нэг ч сураагүй юм байна. Гэхдээ хийсэн зүйл их байв ч сэтгэлд аз жаргал мэдрэгдэхгүй нь тун харамсалтай. Алдсан нэг жилээ нөхөхийн тулд хийж байсан бүх зүйлээ, хатуу дискнийхээ хавтас бүрийг шалгаж юу хийж байснаа эргэн харлаа. Гэтэл 2015 оны 10 сард нэг сонирхолтой програм бичсэн байж. Тэр үед сүвэрхэг орчин дотуурх шүүрэлтийн урсгалыг сүлжээний Больцманны арга ашиглан загварчлах гэж оролдож байсан ба тооцооны үндсэн өгөгдөл болох сүвэрхэг орчны геометрийн шинж чанарыг бий болгох програм бичсэн юм байна. Нээх хэрэгтэй програм биш ч дурын/санамсаргүй түгэлт (random distribution), дурын/санамсаргүй тоо үүсгэгчийг (random number generation) ашиглах нэг жишээ юм болов уу гэж бодоод хуваалцая. 
2 хэмжээст сүвэрхэг орчин. Улаан өнгөөр хатуу хэсгийг, хөх яагаан өнгөөр хоосон орон зайг харуулна. Эхний зураг нь 300 ширхэг 1-ийн тоог дурын байрлалаар байрлуулсан бол хоёр дахь зураг нь 3000 ширхэг 1-ийн тоог дурын байрлалаар байрлуулсан болно. Хоёр зургийг хажуу талаар нь нийлүүлэх тушаал: convert +append 300ran.bmp 3000ran.bmp 300com.png

Thursday, November 2, 2017

Explanations to the 2D thermodynamics of a Mongolian Ger.

Монгол гэрийн доторхи агаарын болон дулааны урсгалын загвар – Дотор болон гадна агаарын бохирдлыг бууруулах боломж

Бид цөөхөн учир Монгол орноо хүчирхэг, тогтвортой хөгжилтэй, аюулгүй амьдрах орчинтой болгохын тулд ажиллаж буй салбар бүртээ чанартай боловсон хүчин байх шаардлагатай. Нэгэнт УБ хотод сууршиж нүүдлийн мал аж ахуйн салбараас хөндийрсөн бол сууршилтай холбоотой мэргэжил, орчин үеийн нийгмийн чухал болсон чиглэлүүдэд амжилттай ажиллахаас л хамаг юм шалтгаална.
Гэрт тавих боломжтой халуунаар үлээдэг зуухны загвар. 
Үүнээс гадна Монгол ахуй уламжлалаа өндөр түвшний шинжлэх ухааний арга аргачлалаар судалж дэлхийд шинэ мэдлэг нэмж басхүү технологи, цоо шинэ бүтээлүүдийг (инноваци) бий болгох боломж байна. Ийм шаардлага ч байна. Үүнтэй холбоотойгоор Монгол гэрийн доторхи агаарын урсгал, дулаан тархалтыг загварчлалын аргаар судалсан судалгааныхаа үр дүнгээс танилцуулъя. Судлах болсон шалтгааны талаар дурьдвал:

Tuesday, March 21, 2017

МатьЛаб ба Фортранаар долгион тархах функцыг кодлох /Matlab and Fortran coding for wave function/

МатьЛаб ба Фортранаар долгион тархах функцыг кодлох

Дараах нэг хэмжээст орон зайд давалгаа долгиолон тархах явц, түүнийг илэрхийлэх үйлдэл функцыг авч үзье.
Энд Ф бар нь долгионы үндсэн хэлбэлзлэл, ню нь унтрах замхралтын үзүүлэлт (ню>0), k  нь давалгааны долгионы тоо (долгионы урт нь лямда=2*пи/k -р тодорхойлогдоно. ) , t нь хугацаа, x орон зайн цэгц координат ба c  тархалтын хурд, тогтмол тоо юм.
(a) Нэг хэмжээстэд [0; 1] гэсэн хязгаарт жигд тархан хуваарилагдсан N тооны элемэнт бүхий хэрчим векторыг үүсгэнэ. Энэ нь бодлогын тор болно.
(b) Бодлогод 8-р томьёонд өгөгдсөн Фбар=1, k=2pi, ню=1ба c = 1 утгуудыг, цаг хугацааны хувьд t = 0 -ээс t = 5 хүртэл 0.05 завсартайгаар өгч, хугацаа бүрт үр дүнг нь дүрслэж харуулах болно (Ф- ийн эсрэг x).
(c) Давалгаа долгины уртыг 0 болгож өгөхөд юу ажиглагдаж байна гэдгийг судлана. Мөн үүнтэй адилаар ню=0.01 долгионы уртыг өгч тархалтын хурдны тогтмол тоог 0-тэй тэнцүүлж үзнэ. Хэмжигдхүүн үзүүлэлтүүдийг өөрчлөн бодолтыг давтахад юу болохыг ажиглана.
(d) Долгионы урт ба тархалтын хурдны тогтмол тоог хэвээр үлдээж давалгааны тоог өөрчилж үзнэ. Давалгааны тоо хэлбэлзлэлийн замхралтын тоотой харьцуулахад гарах үр дүнг харьцуулж харуулна. 

МатьЛаб дээр бичсэн код
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
%-----------------------------------------------------
% "Тооцон бодох шингэний механик-1", Дасгал ажил-1 – 1-р хэсэг
%
% нэг хэмжээс орон зайд давалгаа долгиолон тархах явц
%
%-----------------------------------------------------
clear all; close all;
 
% parameters input – хэмжигдхүүнүүдийг оруулна. 
% (vary the parameters to observe the difference between
%  diffusion dominated and advection dominated phenomena)
phi_0 = 1; 
nu = 0.01;
k = 2*pi;  % энэ хэмжигдхүүнийг өөрчилнө. 
c = 1;  
 
% үргэлжлэх хязгаар boundaries: x \in [xbeg,xend]
xbeg = 0;
xend = 1;
 
% number of grid points – торны цэгүүдийн тоо
N=20;
 % define a vector of uniformly spaced N grid-nodes between 
% xbeg and xend (inclusive) 
x=linspace(xbeg,xend,N);
 % time interval and time step
t_start = 0;
t_end = 5;
dt = 0.01;
 
% start the time loop
for t = t_start:dt:t_end
    phi = phi_0*exp(-nu*k^2*t)*cos(k*(x-c*t));
    plot(x,phi)
    axis([0 1 -1 1])
    xlabel('x')
    ylabel('\phi')
    title(sprintf('Propagating wave. time = %f',t))
    pause(0.01)
end 

Saturday, February 25, 2017

Стефаны бодлого /Stefan problem solved/

Стефаны бодлого 

Математик болон физикийн шийд нь олдсон үндсэн, сонгодог бодлогууд ихэвчлэн шийдийг нь олсон эсвэл их хувь нэмэр оруулсан эрдэмтэнийхээ нэрээр нэрлэгддэг. Тухайлбал бидний өмнө шийдвэрлэсэн Стокесийн бодлогууд, одоо шийдэх гэж буй Стефаны бодлого, арван жил, их сургуульд таарч байсан Диричлетийн бодлого, Кошийн бодлого, физикийн алдарт Ньютон-Пеписийн бодлого, математикийн Васелийн бодлого, Гауссын дугуйн бодлого, геометрт Жанжин* Напелионы бодлого - хоолонд хүртэл нэрээ мөнхөлсөн Напелион шүү дээ, магадлалын онол дахь төрсөн өдрийн бодлого, бүр Черилийн төрсөн өдрийн бодлого гэх мэт хүн болгон бараг нэг нэг бодлоготой байгаа бол зарим хүмүүс олонтой, жишээ нь Хилбертийн 23 бодлого гэж байх юм. Амьдал дээр ч гэсэн бид бүгд асуудалтай учирч түүнийгээ яаж шийдвэрлэх вэ гэдгээ боддог. Тэр бодлого маань нийтлэг чанартай бол аятайхан математикаар илэрхийлчихвэл тусгай бодлоготой болох боломж байна аа. Цахим ертөнцөд хүний нэрээр нэрлэгдсэн тэгшитгэл, хууль, физик үзэгдэл, коэффициент, хэмжээсгүй тоонуудын жагсаалт гэж байхаас хүний нэрээр нэрлэгдсэн стандарт сонгодог бодлогуудын жагсаалт байдаггүй юм байна. За энэ ч яахав Стефаны бодлогоо тодорхойлъё.
Сонгодог Стефаны бодлого нь нэгэн төрлийн орчинд бий болж байгаа фазын өөрчлөлт, уг орчин дахь температурын тархалт зэргийг тодорхойлдог бодлого юм.
Стефаны бодлогын үр дүн. Дараа нь гоё хувилбарыг нь Нюфлот кодтой нь оруулна.

Saturday, February 4, 2017

Стокесийн хоёрдугаар бодлого /Stokes Second problem/

Стокесийн хоёрдугаар бодлого


Стокесийг таних байхаа. Навьер-Стокесийн тэгшитгэлийг үзэж байсан, физик дээр тунах бөмбөлөгний туршилт хийж байсан бол лавтай л сонсож байсан нэр байх. Стокес шингэний механикт маш олон зүйлийг судалж үлдээсэний хэсэг нь Стокесийн 1 ба 2-р бодлого, түүний шийдүүд юм. Энэ хоёр бодлогын шийд нь Навьер-Стокесийн тэгшитгэлийн одоогоор олдоод байгаа хэдхэн шийдний нэг юм. Сая долларын үнэтэй Навьер-Стокесийн тэгшитгэлийн шийд оршин байдаг гэсэн баталгааг саяхан Казакстаны эрдэмтэн 30 жилийн судалгааны үр дүнд гаргасан гэсэн боловч алдаа гаргасанаа хүлээн зөвшөөрсөнөөр түүний олон жилийн хөдөлмөр үгүй болсон юм. За энэ ч яахав Стокесийн 1-р бодлого гэж юу гэдгийг тайлбарлачихаад 2-луугаа оръё. Хязгааргүй үргэлжлэх хавтан дээр шингэн хөдөлгөөнгүй оршиж байна гэж үзнэ. Гэнэт уг хязгааргүй үргэлжлэх хавтан U гэсэн хурдтайгаар огцом хөдлөнө. Энэ үед шингэний хурдны профайлыг ямар байхыг бодож олохыг Стокесийн 1-р бодлого гэнэ. 
Стокесийн хоёрдугаар бодлогын тооцонгийн шийд.

Saturday, December 10, 2016

КУДА Фортран ба Зэрэгцээ тооцооллын код бичих нь /CUDA Fortran and Parallel coding/

КУДА ФОРТРАН ашиглан зэрэгцээ тооцоолол үйлдэх код бичих нь

ХУРД, ХҮЧ эдгээр нь юмсыг гэрэлтүүлэх, цойлуулах гайхалтай чанарууд юм. Хурд хүчний гайхамшиг болсон төмөр хүлэг, хурд хүчийг гайхуулсан залуу нас гэх мэт. Гүйцэтгэлийг улам гоё болгож харагдуулах, чанаржуулах увидас энэхүү хурд хүчинд буй. 
Зэрэгцээ тооцооллоор үйлдэх боломжтой тооцооллууд

Хүмүүн аливаа ажлыг хийж чаддаг боловч хурдыг нэмж чадах эсэх нь тухайн хүмүүний бас нэгэн чадварыг шалгана. Хурд хүчний гайхамшиг зөвхөн биед бус оюун ухаанд мөн агуулагдана. Хүмүүний үргэлж эрэлхийлдэг энэхүү чанар тооцон бодох шингэний динамикт зэрэгцээ тооцооллоор биелэлээ олох юм. Зэрэгцээ тооцооллыг үйлдэх кодыг боловсруулахад бидний оюун ухааны хурд хүчний гайхамшиг мөн шингэх учиртай.
Хамгийн бага хугацаанд хамгийн их үйлдлийг хамгийн том хэмжээстэд үйлдэх боломжийг зэрэгцээ тооцоолол олгох юм.

Saturday, October 8, 2016

Тооцонгийн үр дүнд суурилж морь унах нь (The riding horse based on scientific computation)

Шингэний динамикийн тооцоонд үндэслэж морь унавал...

Магистраа төгссөнөөс хойш мөрөөдөж байсан, маш удсан, оролдлого хийж чададгүй байсан нэг мөрөөдөл, хүсэл бол өндөр бүтээмжтэй тооцоололыг (high performance computing) супер компьютер эсвэл параллель тооцоолол хийх боломжтой багцан (super computer or GPGPU cluster) дээр хийх явдал байсан юм. Тооцон бодох тооцооны аргуудыг мэдэхгүй, код бичиж чадахгүй, ямар ч програмчлалын хэл эзэмшээгүй байж юун өндөр бүтээмжит тооцоолол хийх гэдэг нь ойлгомжтой. Тэгээд ч суурин компьютер, эсвэл зөөврийн компьютерээс өөр зүйл бидэнд /Монголд/ олдох биш. Интернэтээр ингэж супер компьютер ашиглаж ийм тооцоолол үйлдэж ийм үр дүн гаргалаа гэх мэт өгүүлэл, бичлэгийг харж гайхан бишэрч мөрөөдлөө бүр л биелүүлмээр санагддаг байж билээ. Докторт сурахаар /2014 оны 9 сар/ Нагаокагийн Технологийн их сургуульд ирэхдээ тооцон бодох хэдэн арга эзэмших, код бичиж сурах, бүх боломжит бодлогонуудыг бодож чаддаг болох гэх мэт л үндсэн чухал зорилтууд өвөртлөж байсан юм. Тэгтэл бараг жилийн дараа /2015 оны 6 сар/ сургуулийн зарын самбар дээрээс GPGPU сургалтын тухай Япон зар байхыг олж харсан юм. Ингэхэд л энэ сургуульд GPGPU байдаг юм байна гэж мэдэж билээ. Тэгээд ч энэ сургалтын боломжийг ашиглаж чадаагүй, хийх ажил ихтэй байсан учир сонирхолгүй орхисон. Гэхдээ л ашиглаж үзэх хүсэл байгаад л байлаа. Ядаж барааг нь нэг удаа харах юмсан гэж бодож байсан юм. 
Үүний дараа 2016 оны 1 сард ЛБА-аар GPGPU дээр хэрхэн тооцоолол хийх тухай семинар болно гэдгийг удирдагч багш маань дуулгаж за энэ боломжийг л ашиглаж GPU тэй танилцая гээд танилцсан юм. Хэрхэн танилцсан тухайгаа нийтлэл болгож бичсэн байгааг зарим нэг нь болгоосон байхаа. Нийтлэлийг эндээс
Хэдий танилцаад авсан ч шууд GPU -рүү орох боломж байгаагүй тул хэрэгтэй гэсэн болгоноо нийтлэл дээрээ бичээд 2016 оны 7 эсвэл 8 сараас нэг ашиглаж үзнэ гээд төлөвлөгөөндөө орууллаа. Төлөвлөгөө жаахан сунжирч одоо /2016 оны 10 сар/ л нэг оролдож байна даа. 
Өөр нэг мөрөөдөл болох Монгол уламжлалтай холбоотой зүйлсийн шингэний динамикийн тооцоог хийж судалж үзэх юмсан гэсэн хүсэл бас л их удаж байна. Үүний нэг нь Монгол морины аэродинамикийн тооцоолол юм. Хүлэг морь бол Монгол түмний шүтээн, хамгийн хурдан унаа учир морио л тооцож үзмээр санагдаад тэгээд тооцсон хэрэг. Энэ нийтлэлд энэ тухай авч үзнэ. 
Давхиж буй морины аэродинамикийн загвар Рэйнольдсын тоо 3000.

Tuesday, August 23, 2016

Шийдлийн алгоритм дахь Шингэний эзлэхүүний арга (Volume of Fluid Method in SOLA)

Шийдлийн алгоритм дахь (SOLA)

Шингэний эзлэхүүний арга (VOF)

Шингэний чөлөөт гадаргууг ойролцоолох нь тооцон бодох гидравликийн нэгэн чухал асуудал байсаар ирсэн. Ойрын хэдэн жил байх ч болно. Чөлөөт гадаргууг тодорхойлох батлагдсан аргуудыг доорхи зургаас хараарай. Хамгийн анхны арга нь Маркер болон нүдний арга юм. Энэ аргад Лагранжийн координатаар явах маркар буюу цэгнүүд нь шингэний чөлөөт гадаргууг тодорхойлоход хэрэглэгддэг. Үүний дараа гарч ирсэн одооны ихэнх арилжааны програмуудын /Ansys, Solidworks, Xflow, 3Dflow гэх мэт/ ашигладаг арга бол шингэний эзлэхүүний арга /Volume of fluid/ юм. Энэ удаад хамгийн анх боловсруулагдсан шингэний эзлэхүүний аргын тухай авч үзье. Энд тооцооны төгсгөлөг нүдэнд байх шингэнийг эзлэхүүний хувиар илэрхийлж түүнийгээ шингэний фракц гэж авч үзнэ. Шингэний эзлэхүүний фракцийн хугацаан дахь өөрчлөлтийг энгийн адвекцийн тэгшитгэлээр шийднэ.
Гэхдээ энэ адвекцийн тэгшитгэлийн төгсгөлөг ялгаварын ойролцоолол нь нарийвчлал муутай байдаг учир давхар донор ба хүлээн авагчийн схемийг хэрэглэнэ.
Шингэний чөлөөт гадаргууг ойролцоолох тооцонгийн аргууд.

Thursday, July 21, 2016

ЛБА дахь Умбуур хязгаарын арга /Immersed Boundary method in LBM/

Умбуур хязгаарын нөхцөл

Тогтоол усанд унаж доошоо живж буй бөмбөлөг
Судалж буй шингэнээр бүрэн хүрээлэгдсэн хатуу биеийн гадаргууг умбуур хязгаар гэж нэрлэнэ. Жишээ нь тэнгэрт нисэж буй онгоц агаарт умбасан байна, голын усанд зөөгдөж буй хагшаас мөн л умбасан байна, сэлж буй хүн мөн л усанд умбасан байна. Умбасан бие шингэний урсгалын улмаар хөдлөх ба хөдлөхдөө эргээд шингэний хөдөлгөөндөө нөлөөлдөг. Өөрөөр хэлбэл шингэн дотор хөдөлж байу хатуу биет болон шингэн хоорондоо харилцан үйлчлэлтэй байна. Иймд хатуу-шингэний систем гэж нэрлэнэ. Хөдөлж буй хязгаарын нөхцлийн тухай стандарт ЛБА-ын тухай  Шингэн дахь хатуу биеийн хөдөлгөөн гэсэн нийтлэлээс уншаарай. 

Tuesday, April 26, 2016

Тооцооллын шинжлэх ухаан гэж юу вэ? /Computational science/

Тооцооллын шинжлэх ухаан гэж юу вэ?

Миний бие 2011 оноос эхлэн тооцон бодох ухааныг сонирхон судалж өдгөө тооцон бодох шингэний динамикийн өчүүхэн хэсэг дээр ирээд байна. Анх түшиц ханын тооцоог яагаад програмчилж болохгүй гэж гэсэн санаа төрж интернэтээр гадаад програм хайж үзсэн юм. Маш олныг илрүүлсэн. Мөн гидраликийн маш олон програм байдгыг мэдсэн. Тэндээс л тооцон бодох ухаанд хөтлөгдөн орсон юм даа. Энгийнээр хэлбэл:
Тооцооллын шинжлэх ухаан нь компьютер ашиглан аливаа зүйлсийг тооцон бодох, судлах үйл ажиллагаа юм.
NASA-гийн төсөл: Далайн хуйлралтын загварчлал

Sunday, March 20, 2016

Ус халиагуурыг ЛБА-аар загварчилах /LBM computation on weirs and spillways/

Ус халиагуур, ус хаях барилгыг ЛБА-аар загварчилах

Ус халиагуур нь ус хэмжих барилга/байгууламж учир төсөл тооцооны нарийвчлалыг өндөр байлгахыг шаарддаг. 
Ус хаях барилга (Ус хаяур) нь үер, их устай үед үндэн барилга байгууламжийн аюулгүй байдлыг сахьдаг учир мөн л нарийвчлал өндөртэй тооцооллыг шаарддаг. 


Эхний зураг: Усны чөлөөт гадаргуу, шингэний эзлэхүүний пракцыг харуулж байна. Удаах зураг: Усны урсгалын дундаж хурдыг харуулж байна. Харин дараах код энэ хоёрыг бөөр бөөрөөр нь нийлүүлж байгаа юм. Доор тайлбарлах болно. 
1
2
C:\ayur\LBM\FreeSurface\dambreak2\sharpweir\6090>ffmpeg -i 0060f.avi -vf "[0:v]pad=iw*2:ih [in0]; movie=0060.avi [in1]; [in0][in1] overlay=740:0 [out]
" out60.avi
ЛБА -аар шингэний чөлөөт гадаргууг ойролцоолох тухай Шингэний чөлөөт гадаргууг ойролцоолох нэртэй нийтлэл бий. Тэндээс та бүхэн үндсэн санаа, томъёолол, алгоримт, бас Фортран кодыг олж авах боломжтой. ЛБА-аар ус халиагуур ба ус хаяурыг загарчилахаас өмнө эдгээр барилга байгууламжийн тухай товч авч үзье.

Friday, January 22, 2016

Шингэн дахь хатуу биеийн хөдөлгөөн /Solid body movement in fluid/

Шингэн дахь хатуу биеийн хөдөлгөөн

Механикт биеийн хөдөлгөөнийг хоёр задлан авч үзнэ. Үүнд шилжих, эргэлдэх гэсэн хөдөлгөөнүүд байна. Үнэндээ биднийг эргэн тойрон шингэн, хатуу гэсэн хоёр төлөв байгаа гэж хэлж болно. Хийг шингэн гэж авч үзэх онолын үндэслэл олон бий. Шилжих хөдөлгөөн нь шугаман хурдатгалын улмаас бий болох бол эргэлдэх хөдөлгөөн нь өнцөг хурдатгалаас үүдэлтэй.
Тэгш өнцөгт координатын системд биеийг дараах хэмжээстэд авч үзэж болно.
  • 1 хэмжээст – Бие нэг чиглэлд хөдлөнө. Чөлөөний зэрэг 2 байна. Бие шилжихээс гадна эргэх боломжтой.
  • 2 хэмжээст – Бие хоёр чиглэлд хөдлөхөөс гадна 1 чиглэлд эргэх боломжтой. Иймд чөлөөний зэрэг нь 3 байна.
  • 3 хэмжээст – Бие гурван чиглэлд хөдлөхөөс гадан гурван чиглэлд эргэлдэх боломжтой. Иймд чөлөөний зэрэг нь 6 болж байдал хүндэрч эхэлнэ.

Биеийн хөдөлгөөнийг хоёр хэмжээстэд дараах зургаар дүрслэн харуулъя.


Биеийн геометр онцлогийг агуулж байх лавлах цэгүүдийг заавал авчз үзэх хэрэгтэй. Дээрх тэгш өнцөгтийн (квадрат) хувьд зөврөн өнцөг болон хүндийн төв нь зайлшгүй хянаж байх шаардлагатай цэгүүд юм. Тооцон бодох математикт/физикт биеийн хөдөлгөөнийг тооцохдоо эхлээд хугацааны алхамын дагуу биеийг эргэлтгүйгээр хэвтээ ба босоо шилжилтийн хэмжээгээр шилжүүлж үүний дараагаар хөрвүүлэх матриц ашиглаж эргүүлдэг.

Wednesday, January 13, 2016

GPU ба GPGPU ашиглах, параллель тооцоолол /GPGPU and parallel computation/


НАСА-гийн сансрын хөлөг хөөргөгчийн ШД-ын супер тооцоолол. Өндөр бүтээмжтэй тооцоолол (High performance computation) орчин үеийн тооцооллын өнгийг тодорхойлж байна. Ялангуяа шингэний динамикийг тооцон бодоход параллель тооцооллыг супер компьютер болон процессорын кластерийн тусламжтайгаар гүйцэтгэж байна. Масштаб өргөнтэй тооцооллууд болох уур амьсгалын загварчилал, хүрээлэн буй орчны загварчилал, гол мөрний гидравлик болон гидрологийн загварчилалыг өндөр нарийвчлалтайгаар богино хугацаанд үр ашигтай загварчилах хурдасгуур нь GPU эсвэл GPGPU байх боломжтой юм. 

График процессын нэгжтэй (GPU)  танилцсан нь

GPU гэж юу вэ? График процессийн нэгж (graphical processing unit) нь маш хурдтайгаар график, зургийг боловсруулж, бүтээж дэлгэцрүү гаргах зориулалттай онцгой электрон хэлхээгээр зохион бүтээгдсэн процессорын нэгж юм. GPU-ийг супер компьютерээс эхлээд ухаалаг гар утасанд хүртэл ашиглаж байна. Орчин үеийн GPU нь компьютер график/тоглоом болон зургийн боловсруулалтанд мөш өргөн хүрээгээр, үр дүнтэй ажиллаж байна. Үүнээс гадна бидний зорьж байгаа тооцон бодох ухаанд маш өргөн ашиглагдаж байгаа параллел тооцооллын хэрэгсэл юм. Одоо зах зээл дээр байгаа GPU -ийн ердийн бүтээгдэхүүнүүд нь
  • NVIDIA GeForce
  • AMD Radeon
  • Intel HD Graphics нар юм байна.

Wednesday, January 6, 2016

Шингэний чөлөөт гадаргууг ойролцоолох /free surface flow with LBM/

Шингэний чөлөөт гадаргууг ЛБА тооцоолох

Усны барилгын хувьд шингэн ихэнхдээ агаартай харьцах ба шингэн ба агаарын харилцах үеийг чөлөөт гадаргуу гэж нэрлэнэ. Хэлхээст тооцооны аргад уг чөлөөт гадаргууг тодорхойлоход төвөгтэй байх ба чөлөөт аргад ямар нэгэн нэмэлт техник ашиглалгүйгээр ойролцоолох боломжтой байдаг. ЛБА нь мөн л хэлхээст аргын ангилалд багтах учир нэмэлт загвар ашиглаж усны чөлөөт гадаргууг нэг фазат байдлаар тооцох боломжтой. Төгсгөлөг аргуудын хувьд шингэний эзлэхүүний арга эсвэл шийдлийн алгоритмоор шингэний чөлөөт гадаргууг ойролцоолох боломжтой. 
Шингэний цалгилт

Усан баганын задралын шинжилгээ

Thursday, November 26, 2015

Цэгэн мэдээллийг Нюфлотоор дүрсжүүлэх /Plotting point data using Gnuplot/

Цэгэн мэдээллийг Нюфлотоор дүрсжүүлэх
Plotting point data using Gnuplot


Хүндийн хүчний үйлчлэл дор тээвэрлэгдэж буй хагшаасны ширхэглэлийн хурдны орон
Тооцон бодох ухааны тооцооллын эцсийн үйлдэл бол төгсгөл үйлдэмж /post-processing/ юм. Ялангуяа шингэний динамикт Лагранжийн аргачлалаар шингэний хөдөлгөөнийг загварчилах эсвэл молекул динамикт молекулуудын хөдөлгөөнийг Ньютоны хоёрдугаар хуулиар загварчилах гэх мэт тохиолдолд гарч байгаа үр дүн болох цэгэн/эгэл хэсэг дээрх физикийн утгыг ялган харуулах шаардлага гардаг. 
Ялангуяа, Гөлгөржүүлсэн эгэл хэсгийн гидродинамик, хөдлөх эгэл хэсгийн хагас илэрхий арга гэх мэт Лагранжийн эгэл хэсэгт суурилсан аргуудаар шингэний хөдөлгөөнийг тооцоолж байгаа үед яалтачгүй цэгийн мэдээллийг янз бүрийн байдлаар дүрсжүүлж бичлэгжүүлэх шаардлага гарна. Одон орон судлалд одод, одонцоруудын мөргөлдөөн гэх мэт зүйлс мөн л цэгийн мэдээллээр л өгөгдөнө. За олон юм нуршилгүй яаж цэгэн мэдээллээ дүрсжүүлэх Нюфлотын кодыг авч үзье.

Tuesday, November 17, 2015

Смагоринскийн загварчлал /Smagorinsky Sub-grid scale model/

Байгаль дээрх ихэнх урсгал турбулент шинж чанартай байдаг. Голын усны урсгал, шуурга, агаарын урсгал, циклон, үүлний хэв маягийн өөрчлөлт эсвэл нарны шуурга, огторгуй дахь урсгал гэх мэт гээд турбулент шинж чанарыг агуулсан урсгал эргэн тойронд элбэг бий. Өмнө бид К-Эпсилон загварын тухай авч үзсэн бол одоо Том хуйлралтын симуляцийн нэг хувилбар болох Смагорискийн дэд торны ойролцооллыг авч үзэх гэж байна. Дифференциал тэгшитгэлийг тооцон бодоход бодлогын хүрээг тодорхой геометрийн элементүүдэд торлон хуваах ба элементийн уртын хэмжээс нь тооцооны чухал парамет болдог. Уг уртын хэмжээс дээр том хуйлралтыг ялган таних дахин нэг уртын хэмжээсийг авч үзэж байгаа нь дэд тор гэж нэрлэгдэж байгаа юм. 
Даралт-Хурдны итерацитай Шийдлийн алгоритмоор НС-ын тэгшитгэлийг боловсруулсан код. Турбулент Смагорискийн загвар мөн ашиглагдсан. Нягтын үйлчлэлийн бодлого /Lock-exchange by Prof Hosoyamada Tokuzo/

Смагоринскийн дэд торны хэмжээст загварчлал

Смагоринскийн турбулент загварчлал нь Том хуйлралтын симуляци (Large Eddy Simulation) хэмээх турбулент урсгалыг загварчлах багц загварын нэг хэлтэрхий юм. 1963 онд Жосеф Смагоринский атмосферийн эрчимжсэн урсгалыг тооцолохдоо том хуйлралтын симуляцийг танилцуулсан боловч анх 1970 онд Жамес Леардорф үндсэн санааг нь боловсруулсан байна.
Шингэний хөдөлгөөн нь орон зай болон цаг хугацааны хэмжээстэд турбулент урсгалыг тооцоолон илэрхийлэх боломжтой ба энд зарах аргачлалыг Шууд тооцооллын арга (directnumerical simulation) гэж нэрлэдэг. Энэ аргачлал нь тооцооллын багтаамж өндөртэй, урт хугацааны симуляци шаарддаг учир цаг хугацаа болон багтаамж хожих турбулент загваруудыг боловсруулж эхэлсэн байна.
Нөгөө талаас Колмогоровийн (1941) хувийн төсийн (self-similarity) онолын утга санаагаар бол урсгалын том хуй нь бага хэмжээсийн хувьд нийтлэг мэт болж геометрын хэмжээсээс хамааралтай болно.  Энэ онцлог санаан дээр Том хуйлралтын симуляцийн загварууд боловсруулагдсан байна. Ингээд Смагоринскийн дэд торны хэмжээст загварчлалын тухай авч үзье.
Шингэний динамикийг дүрслэн харуулах тэгшитгэл нь урсгал тасралтгүйн болон моментын тэгшитгэлүүд билээ. Тэдгээрийг үл шахагдах шингэний хувьд бичвэл:

Энд тау’’ нь зунгааралтын шүргэх хүчдэлийн тенсор ба fm нь биеийн хүч болно.