Showing posts with label Gnuplot. Show all posts
Showing posts with label Gnuplot. Show all posts

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 консоль нээчихээд л үзэж дардаг байсан гэсэн үг.
Фортран болон Нюфлотын консолиуд.
Үнэндээ бол Нюфлотын кодыг фортранд шигтгэж өгөх, эсвэл Нюфлотыг фортранаас дуудах боломжтой гэдгийг мэддэг ч зүгээр л зориглож хийдэггүй байлаа л даа. Энэ удаад яаж Нюфлотыг фортранаас дуудаж ажиллуулах талаар тайлбарлана. Үнэндээ маш амархан эд байсан байна лээ. 

Saturday, February 25, 2017

Эрдмийн ажлын график-дүрслэлийг Нюфлотоор зурах нь /Scientific plotting with gnuplot/

Эрдмийн ажлын график-дүрслэлийг Нюфлотоор зурах, дүрсжүүлэх

"Дөтгөөр хэсэг"

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

 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
# gruplot algorithm 
reset #нюфлот дээр өмнө хийгдсэн ажлын 
#хадгалагдсан үлдэгдэлүүдийг арчих. 
set terminal #терминалаа шаардлагатай
#сонголтуудтай нь хийнэ. 

set output #хэвлэж гаргах файлын нэр,
#өргөтгөлөө өгнө. Терминалаас хамаарна. 

set axis, its range #Энд графикын талбарын
#тохиргоог хийнэ. Бүлэг графикуу, нэг
#графикуу, хэдэн тэнхлэгтэй байх уу?
#тэнхэгийн утгын хүрээ, яаж нэрлэх гэх мэт.

set line, point style #муруй шугам, 
#цэгнүүдийн тохиргоог хийж өнгө төрлийн 
#загвараа тохируулна. Гэхдээ үүнийг график 
#зурахдаа тохируулж болно.

set key position #Графикийн тэмдэглэгээний 
#байрлал энэ тэрийг тохируулна. 

plot data #энэ гол комманд бөгөөд мэдээг 
#дүрсжүүлэх ажил хийгдэнэ. Энд аль мэдээг 
#дүрсжүүлэхээ сонгож, зураас, өнгөний загвар 
#сонгох, тэмдэглэгээнд нэр өгөх гэх мэт 
#тохиргоо хийгдэж болно. 

unset terminal #Дүрсжүүлэх ажил дууссан бол 
#терминалаа чөлөөлж ажлыг дуусгана. 

unset output #Энд хэвлэж гаргаж байгаа 
#файлаа чөлөөлж эцсийн бүтээгдэхүүн болгоно. 

Saturday, February 4, 2017

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

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


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

Sunday, October 9, 2016

Эрдмийн ажлын зураг, графикийг нээлттэй эх үүсвэр ашиглаж боловсруулах /Scientific art work by open sources/

Эрдмийн ажлын зургийн ажлыг нээлттэй програм ашиглан гүйцэтгэх
Нюфлот (Gnuplot) ба Имижмажик (Imagemagick)

"Гурвадугаар хэсэг"
Шинжлэх ухаан, инженерчлэлийн тайлан, төсөл, өгүүллэгийн зураг, графикийг өндөр чанартай сайн боловсруулах ёстой гээд л өмнөх хоёр цуврал дээр бичсэн учир дахин давтаад яахав. График зураг боловсруулах эхний, дэд өгүүллэгүүдийг уншаарай.
Гэхдээ бас хэдэн зүйл нэммээр санагдлаа. Аливаа зүйл хүний нүдэнд маш аятайхан харагдаж байвал харж уншиж буй хүндээ илүү их мэдээллийг өгөх болно. Тиймээс шинжлэх ухааны графикч бай түүнийг урлаг, уран зураг мэт харж харьцаж ажиллах хэрэгтэй. Мэдрэмж их чухал шүү. Харагдац муутай зураглал уг ажлын мөн чанар, чансааг бууруулдаг, ажиллаж буй хүмүүсийг чадваргүй мэт харагдуулдаг тал бий. Нөгөө хүнийг царайгаар нь угтаж, ухаанаар нь үднэ гэдэг шиг л..
За энэ өгүүллээр баганан график байгуулах, зургуудыг хооронд нь нийлүүлэх гэх мэт ажлыг яаж хийх тухай авч үзнэ. Графикийг бол нюфлот бол ямар л бол ямар л хэлбэр, загвараар үйлдвэрлэж гаргах боломжтой бол Имижмажик бол зургийг болон зургуудыг яаж л бол яаж л янзалж чадах хоёулаа нээлттэй, үнэгүй, коммандын мөрөөр ажилладаг програм хангамж юм. Нээлттэй үүсвэрийн нэг дутагдал нь хэрэглэгчийн санал хүсэлтийг тусгаж шинэ хувилбар гарах гэж уддаг. Түүнээс бол ямар нэгэн зохиогчийн эрхийн асуудал зөрчигдөхгүй, чадвар өндөртэй програмууд юм.
1. Хоёр зүйлийг харьцуулсан баганан график байгуулах
Хоёр зүйлийг хэд хэдэн тохиолдолд харьцуулж харуулах шаарлага гарна. Энэ тохиолдолд жишээ болгож цуваа ба зэрэгцээ кодоор өөр өөр хөрвүүлэгч дээр тооцоо хийж харцуулсаныг харуулая. График байгуулах нюфлот код нь:
 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
reset
set term postscript color enhanced font "Times-New-Roman, 30"
set output "Compare.esp"

set xtics ("PGI Fortran" 0.25, "Intel Fortran" 1.75, "CUDA Fortran" 3.25,)

set boxwidth 0.5
set style fill solid
set ylabel "Elapsed time (ms)"
set xlabel "Compilers"

set label 1 "1058.39" at -0.2,1100 font ",20"
set label 2 "461.52" at 0.3,500 font ",20"

set label 3 "301.61" at 1.3,350 font ",20"
set label 4 "93.75" at 1.8,140 font ",20"

set label 5 "80.45" at 2.8,120 font ",20"
set label 6 "15.74" at 3.3,80 font ",20"

plot 'data.dat' every 2    using 1:2 with boxes ls 1 lc rgb 'red' title "Entropic (KBC)",\
     'data.dat' every 2::1 using 1:2 with boxes ls 2 lc rgb 'blue' title "Standard (BGK)"

set term win
unset output
Энд ашиглаж байгаа мэдээ нь:

Wednesday, August 17, 2016

Эрдмийн ажлын зураг, графикийг Нюфлотоор дүрсжүүлэх /Scientific visualization and graphics with Gnuplot/

Эрдмийн ажлын зураг, графикийг Нюфлотоор дүрсжүүлэх, зурах
Хоёрдугаар хэсэг

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

Муруйд тохирсон регрессийн тэгшитгэл зохиож зурах
Тоон өгөгдөлд тохирох шугаман болон өндөр эрэмбийн регрессийн тэгшитгэлийг эксэл дээр ч хийгээд коэффициентуудыг нь олж болно. Гэхдээ Нюфлот нь өөр дээрээ итераци хийж хамааралтай бүх хэмжигдэхүүнүүдийг тодорхойлдог. 
Энэ жишээнд postscript терминалыг ашигласан болно. Өндөр чанартай вектор зураглалуудыг ихэвчлэн postscript хийж болдог. 

 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
# this script for compare remaining ice area
 reset
 set term postscript landscape enhanced font "Times-New-Roman, 30"  #size 700,500 #500,400  
 set output 'Compare.esp'

#
 set xlabel "{/=30 {/Times-Italic Time } (min)}"
 set ylabel "{/=30 {/Times-Italic Remaining ice area} (percent)}"
 set xrange [0:72]
 set yrange [0.5:1.01]
 set key top right 
 f(x) = a*x + b # fit line 1
 fit f(x) 'ice_example.dat' u 1:2 via a, b
 title_f(a,b) = sprintf('f(x) = %.2fx + %.2f', a, b)
 
 #f(x) = a*x **2 + b *x + e # fit line 1
 #fit f(x) 'ice_example.dat' u 1:2 via a, b, e
 #title_f(a,b,e) = sprintf('f(x) = %.2fx **2 + %.2fx + %.2f', a, b, e)
 g(x) = c*x + d # fit line 2
 fit g(x) 'ice_mass.dat' u 1:2 via c, d
 title_g(c,d) = sprintf('g(x) = %.2gx + %.2g', c, d)
 
 #f1(x) = E*exp(I*x**2) # fit line 3
 #fit f1(x) 'ice_mass.dat' u 1:2 via E, I
 #title_f1(E,I) = sprintf('f1(x) = %.2f1*exp(%.2f1x**2)', E, I)
 
 plot 'ice_example.dat' u 1:2 w lp pt 8 pi -40 lc rgb 'red' lw 7 title 'Free surface LBM' ,\
   'ice_mass.dat' u 1:2 w p pt 5 lc rgb 'black' lw 9 title 'Experiment',\
    f(x) w l ls 10 lw 4 title 'Trend line for LBM',\
    g(x) w l ls 9 lw 4 title 'and for experiment' 
#    f1(x) t title_f1(e,i), title_f(a,b),title_g(c,d)
   
 unset multiplot
 set term win
 unset output 

Friday, March 11, 2016

Шинжлэх ухааны график дүрслэлийг Нюфлотоор /Scientific graphics and visualization by Gnuplot/

Нюфлотоор Шинжлэх ухааны чанартай график боловсруулах

Шинжлэх ухаан, инженерчлэлийн судалгаа тооцооны үр дүнг уншигч бусад судлаачидад тайлагнаж харуулахын тулд маш ойлгомжтой, үзэмжтэй график, дүрслэлийн ажлыг гүйцэтгэх хэрэгтэй болдог. Шинжлэх ухааны чанартай тайлбарыг өгч байгаа судлаач, инженер нь уншигчидад ямар нэгэн нууцлаг, ухаж ойлгохоор битүү зүйл огт харуулж болохгүй бөгөөд таны бичсэн зүйлсийг бараг нэг уншаад шууд ойлгохоор бичих шаардлагатай. Философи бол өөр хэрэг бизээ. Нюфлоттой нөхөрлөөд хагас жилийг авч байгаа ч бүрэн сураагүй байна. Бүрэн сурахгүй байх шалтгаан нь хэрэглээд сурчихсан коммандын мөрүүдээ дахин дахин ашиглаад болооод байхтай холбоотой юм. Яг л цор гарц line комманд ашиглаад сурчихвал Autocad дээр зураг зураад байдаг шиг л. Тэгээд ч их энгийн програм юм байгаа юм. Гол нь мэдээлэл, мэдээгээ текстэн баганаар хадгалж түүнтэйгээ ажилладаг бол Нюфлотоор график зураад байх боломжтой гэдгийг хэлье. 

Тухайлбал дараах кодыг авч үзье.
 # this script for relation of viscosity and relax
 reset
 set term png size 800,600 font 'Arial, 20'
 set output 'reltau.png'
 #set key box opaque
 set title 'Тооцооллыг хянах үндсэн параметрүүдийн хамаарал'
 set y2tics
 set ytics nomirror
 #set yrange [-0.2:1.1]
 #set xrange [-5:15]
 set xlabel 'Тайвшралтын хугацаа Tau'
 set ylabel 'Тайвшралтын параметр Omega'
 set y2label 'Сүлжээний зунгааралт Vis'
 plot 'reltau.dat' u 1:2 w l ls 4 lw 2 ti 'Tau ба Omega' axes x1y1, \
      'reltau.dat' u 1:3 w l ls 10 lw 2 ti 'Tau ба Vis' axes x1y2
 set term win
 unset output
Энэ кодонд харж байгаачлан Монголоор графикийн тайлбарыг бичээд байх боломжтой. Энэ кодыг *****.p гэж хадгалаад Нюфлотын терминал дээр load '*****.p' гэж бичихэд л үр дүнд нь reltau.png хэмээх дараах зураг үйлдвэрлэгдэж гарна. 


Дээрх кодонд  set y2tics, set ytics nomirror гэдгээр 2 талдаа босоо тэнхлэгтэй бөгөөд харилцан адилгүй тоололтой байхыг зааж өгнө. set xlabel гэх мэт нь хэвтээ ба босоо тэнхлэгт зориулсан тэмдэглэгээр өгч байгаа юм. Харин хэвлэх коммандын ард axes x1y2 гэх мэтээр аль хэмжигдэхүүнийг аль тэнхлэгтэй хамааруулж байгуулах вэ гэдгийг зааж өгнө. Энд х1 тэнхлэгийг у2 тэнхлэгтэй хамааруулж зурна гэсэн байна. 

Thursday, November 26, 2015

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

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


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

Thursday, October 29, 2015

Төлөвийн тэгшитгэл /Equation of state/

Төлөвийн тэгшитгэл

Шингэн ба хийн нягт даралт ба температураас хамаарах хамаарлыг төлөвийн тэгшитгэл илэрхийлнэ.  Төлөвийн олон тэгшитгэл байх ба ерөнхий хэлбэрийг нь дараах байдлаар илэрхийлж болно.
f(p,V,T)=0
сонгодог тэгшитгэл болох идиаль хийн төлөвийн тэгшитгэлийг дараах байдлаар илэрхийлнэ.
pV=nRT
Энд бид маш энгийн төлөвийн тэгшитгэлүүдийг авч үзнэ. Агаар ба ус нь бидний амьдралд өргөн тааралддаг түмэн бодисын төлөөл юм. Температур болон оршин байгаа газрын даралтаас хамаарч энэ хоёрын нягт өөр өөр байна. Тиймээс усыг арав хорин градуст хүртэл буцалгаж болно гэж байгаа юм.

Цэвэр усны нягт атмосферийн даралтанд температураас хамаарах нь

Цэвэр усны нягт 1000кг/м3 гэж үздэгч нарийндаа авч үзвэл энэ утганд хүрэхгүй бөгөөд цельсийн 4 градуст энэ утганд машид ойртон ирдэг байна. Даралт тогтмол үед нягтыг зөвхөн температураас хамааруулж дараах тэгшитгэлийг бичжээ.

Усны нягт=999.842594+6.793952x10-2t-9.095290x10-3t2+1.001685x10-4t3-1.120083x10-6t4+6.536332x10-9t5

Энэ тэгшитгэл нь 0 градусаас дээш 40 градус хүртэл хүчинтэй гэдгийг сануулъя. Энэ тэгшитгэлийг програмчилж код бичвэл:

1:     program water_density  
2:     real rho  
3:     real tem  
4:     open(1,file='water_dense.dat')  
5:     do tem=temr,10,0.1  
6:     rho=999.842594+6.793952e-02*tem  
7:     &  -9.095290e-03*tem**2  
8:     &  +1.001685e-04*tem**3  
9:     &  -1.120083e-06*tem**4  
10:     &  +6.536332e-09*tem**5  
11:     write(1,*) tem, rho  
12:     enddo  
13:     close (1)  
14:     end program  

Thursday, October 22, 2015

Нюфлот ба Тэкфлотын зарим нэг чухал алхамууд /Important tips to visualize with Gnuplot and Tecplot/

Нюфлот ба Тэкфлотын зарим нэг чухал алхамууд

Сүвэрхэг орчин дундуурх шингэний хөдөлгөөн, түүний тооцооллын тогтворгүйжилт

ТЭКФЛОТ

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

 TITLE="Simple data File"  
 Variables="X" "Y"  
 ZONE I=4 F=POINT  
 1 1  
 2 1  
 2 2  
 1 2  
 TEXT X=10 Y=90 T="Simple text"  
Энд TITLE нь мэдээний гарчгийг өгөх ба гарчиг нь давхар зартиг дунд байна. Үүний дараа мэдээний хувьсагчууд байх ба эдгээрийг мөн л VARIABLES= гэсэн үгний араас давхар зартиганд тус тусад нь хийж өгнө.

Wednesday, September 16, 2015

Хуучин ном материал дахь график зургийг шинэчлэх, графикаас тоон өгөгдөл авах /Extract data from scanned graph and image/

Хуучин ном материал дахь график зургийг шинэчлэх, графикаас тоон өгөгдөл авах


Яаж хар графикаа өнгөт болгох вэ? Яаж хуучин графикыг бодт тоон өгөгдөлтэй нь сэргээн зурах вэ? Яаж өөрийнхөө үр дүнг бусдын графиктай харьцуулж харуулах вэ? Иймэрхүү асуудалтай тулгардаг бол сайн байна. 

Хуучны ном сэтгүүл ямар файлаар байх бишдээ. Файлаар байлаа ч уг график яг ямар тоон өгөгдөлөөр байгуулагдсан эсэх нь үл мэдэгдэх маш олон графикийг бид янз бүрийн байдлаар ашиглах шаардлага гардаг. Жишээ нь:

Sunday, April 26, 2015

Нэг хэмжээст тархалтын тэгшитгэлийг Латтис Больцманы арга ашиглан бодох /1D diffusion problem with LBM/

Нэг хэмжээст тархалтын тэгшитгэлийг Латтис Больцманы Арга ашиглан бодох

Молекул динамикаас макро орчны физик хэмжигдэхүүнрүү. Эх сурвалж: Transport Phenomena - Delft University of Technology

Латтис больцманы аргаар нэг хэмжээст тархалтын тэгшитгэлийг бодох код бичихэд өгөх тэмдэглэл.
Бодох тэгшитгэл:

Кодыг үе бүрчлэн тайлбарлан бичье.
      program diffusionLBM
        parameter (m=100)              ! m is the number of lattice nodes
        real f1(0:1), f2(0:m), rho(0:m), feq(0:m), x(0:m)
        integer i
        open(2,file='resultLBM.dat')
        dt=1.0                                      ! time step
        dx=1.0                                      ! space step
        x(0)=0.0
Энэ хэсэгт хэрэглэгдэх хэмжигдэхүүн, параметрүүдийг зарлаж зарим өгөгдлүүдийг өгч байна. f1(0:1) ба f2(0:m) нь зангилаанаас гарч буй түгэлтийн функцыг илтгэнэ. Эдгээр нь нэгэнт m =100 ширхэг зангилаатай учир 0 – ээс 100 хүртэл дугаарлагдах бүрдэл (array) тоо байна.

Sunday, April 19, 2015

Нюфлотоор гурван хэмжээст дүрслэл /3D visualizations with Gnuplot/

Гурван хэмжээст дүрслэл

Математик загварчлалын эцсийн илрэл бол графо-дүрслэл юм. Өмнөх заавруудыг эндээс уншина уу.  Дараах төрлийн график байгуулах код, жорыг авч үзье. 
  • Гадаргуу байгуулах
  • Координаттай зураглал хэрэглэх
  • Гадаргууг өнгөөр ялгах
  • Контур график байгуулах
  • Вектор график байгуулах
  • Зурагт болон дулаан тархалтын график байгуулах
  • Контур болон зурагт графикийг хослуулах

Ихэнх тайлан, өгүүлэлд нэг хэмжигдэхүүн нөгөөгийн эсрэг, эсвэл хоёр координатад гуравдах утга харгалзсан гэх мэт хоёр тэнхлэгт графикууд ихэвчлэн тааралддаг. Эдгээр нь хоёр хэмжээст график юм. Хоёр хувьсагчаас хамаарах гуравдахь хэмжигдэхүүн нь гадаргуу, контур, орон, мөр буюу траектор, эсвэл эдгээрийн хослолыг илэрхийлсэнээр гурван хэмжээст график бий болно.

Гадаргуу үүсгэх

Гадаргуу нь хамааралтай тоо хэмжээ болох z – ийг үзүүлэх ба энэ нь үл хамааралтай хувьсагч болон х ба y – ээс хамаарна. Гадаргуу нь z – ийн өндөрийг ялган харуулах болно.
Доорхи үзүүлэх график нь Весселийн функцыг J0(r) харуулах ба r нь координатын эхээс (x=0, y=0) эхлэх зай юм. Гадаргуугын өндөр нь J0 – ийн утгыг харуулах ба босоо тэнхлэгт өгөгдөнө.

Figure 8. Гадаргуу байгуулах
Дээрх графикийн байгуулахдаа дараах кодийг бичнэ.

Sunday, April 5, 2015

Графо-Дүрслэл ба Нюфлот /visualization with Gnuplot/

Графо-дүрслэлийг Нюфлотоор (gnuplot - 1)

Өнгө гэж бидний нэрлэсэн өөр өөр долгион бүхий гэрлийн спектрүүд юм. Нохой орчин тойрноо сааралдуу өнгөөр хардаг бол бух бүх зүйлсийг хар цагаанаар л хардаг. Гэхдээ бид тийм ч сайн харааны мэдрэмжтэй амьтад биш юм. Гэрлийн долгион бага бол бид мэдэрч чадахгүй түүнийгээ харанхуй гэж нэрлэнэ. Биднээс илүү гэрлийн мэдрэжтэй амьтад зөгийнөөс авхуулаад бас байх юм. Гэвч бид өнгөнөөс бусдийг харж чаддаг гайхалтай мэлмийтэй амьтад юм. Бид хэт ягаан туяа, хэт улаан туяа гэх мэтийг харж чаддагүй мөртлөө мэддэг. Өнгөтэй ялгаагүй дуу авиаг бас хэлж болно. Энэхүү гайхамшигт мэлмийг бидэнд ШУ өгчээ. Бид ШУ-ны тусламжтайгаар харж чадахгүй зүйлсээ харж, сонсож чадахгүй зүйлсээ сонсож, зарим зүйлийг мэдэрч байна. ШУ-ныг нэг шашин гэж үзээд тэр баримтлалаар хэлбэл ШУ-нчид болон судлаачид маань мэлмий нь нээгдсэн лам нар юм шүү дээ. Тооцон бодох шинжлэх ухаанд хүмүүний мэлмий үр дүнг хэрхэн харахаас эхэлдэг. Үүнийг графо-дүрслэл гэж нэрлэнэ. Энэ бидэнд бүх юмсын физик шинж чанарыг харах боломжийг олгодогч харж амжихгүй байгаа зүйлүүд бас цөөнгүй. Мэлмий доорхи зургууд шиг сайжрах байхаа. Эхний зургууд бол /цифрээр дүрслэсэн/ 1980 оны үе дахь графо-дүрслэл, дараагийн өнгөт зургууд бол 1990 оноос хойших графо-дүрслэл. 

1980 - аад оноос өмнөх үеийн тооцон бодох шингэний динамик дахь графо-дүрслэл

Орчин үеийн өндөр нягтрал бүхий графо-дүрслэлийн үр дүн /цоргилын динамик/

Дундаж үеийн графо-дүрслэлийн үр дүн /Голын адаг орчмийн далай давстай усны түрлэг. Үүнийг давстай усны шаантаг гэж нэрлэдэг/

Графо-дүрслэлийн олон програм байх ба 30 гаруй жил шинэчлэгдэн боловсруулагдаж байгаа хамгийн энгийн командын мөр бүхий програм бол Нюфлот /gnuplot/ юм. Энэ програм нь үнэгүй эх үүсвэр бөгөөд альч үйлдлийн систем дээр сууж ажиллаж чадна. Програмыг татах бол энд дарж нэвтрэн sourceforge - оос дамжуулан татаж авна уу.