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
ЛБА -аар шингэний чөлөөт гадаргууг ойролцоолох тухай Шингэний чөлөөт гадаргууг ойролцоолох нэртэй нийтлэл бий. Тэндээс та бүхэн үндсэн санаа, томъёолол, алгоримт, бас Фортран кодыг олж авах боломжтой. ЛБА-аар ус халиагуур ба ус хаяурыг загарчилахаас өмнө эдгээр барилга байгууламжийн тухай товч авч үзье.

Ус халиагуур


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

  • Өргөн босгот
  • Хурц ирмэгт

Эдгээр нь өөр өөрийн гэсэн байгууламжийн онцлогтой. Хурц ирмэгт ус халиагуурыг босгоны геометр хэлбэрээс хамааруулж парабол, квадрат, тэгш өнцөгт, дугуй, синус, гурвалжин гэх мэтээр ангилж тэдгээрт тохирсон зарцуулга тодорхойлох томъёо, барьж байгуулах хэмжээ дамжааг нь стандарчилж гаргасан байдаг. Мөн хурц ирмэгтэй боловч хөндлөн чиглэлдээ янз бүрийн зай хожих хэлбэр үүсгэсэн ус халиагуур байх бөгөөд тэдгээрийг товчлуурт, лабринт хэлбэртэй гэх мэтээр ангилдаг. 
Жижиг горхин дээрх гурвалжин хурц ирмэгт ус халиагуур. Гидрологийн урсацын харуулын үүрэг гүйцэтгэж байна. 
Ерөнхий зарцуулгын томъёо нь:

Q=CLH^n

Энд: С - зарцуулгын коэффициент гэнэ.
L - босгоны өргөн
Н - ус халиагуурын босгон дээрх усны түрэлт
n - хэлбэрээс хамаарах коэффицент
Эндээс С болон n -ийг нарийн тодорхойлох шаардлагатай байдаг. 
Зарим ус халиагуур нь ус хэмжихээс өөр зорилгоор ашиглагдаж болно. Усны түвшин өргөх, хагшаас барих, урсгалын хурд сааруулах гэх мэт хэрэглээ усны барилгад олон бий. 
Авон голын дараалсан өргөн босгот ус халиагуур, Англи. Усны түвшин өргөх зориулалттай. 

Ус хаяур

Ус халиагуурын нэг шилжсэн хэлбэр нь ус хаяурын байгууламжууд юм. Ус хаяурын барилга нь ихэвчлэн өргөн босгот ус халиагуурын зарчмаар ажилладаг. Ус хаяур нь аваарын барилга учир гидравликийн хүнд нөхцөлд ажилладаг.
Ус хаяур нь ихэвчлэн боомтын барилгатай хамт баригдах ба их хэмжээний устай гол, зарим үерийн суваг гэх мэтэд ослын үед хэрэглэгдэхээр баригддаг. 
ЛадиБовер усан сангийн уурхайн ус хаяур амралтын горимд байж байна. 
Ус хаяур, заримдаа ус хаях барилга гэж ярьна, нь газар зүйн нөхцөл байдал (геофизикийн нөхцөл), усны тоо хэмжээ (гидрологийн нөхцөл), хөрс чулуулаг (геологийн нөхцөл) гэх мэтээс хамаарч яман нэгэн байдлаар бусдаасаа онцгой тооцогдож баригддаг. Ус хаях барилгыг ерөнхийд нь:
  • Муруй гадаргуутай ус хаях барилга,
  • Уурхайн ус хаяр барилга,
  • Шаталсан ус хаях барилга,
  • Хажуугын ус хаях барилга,
  • Сифон ус хаях барилга гэх мэтээр ангилна. 

Ерөнхий ажиллах зарчим нь ус халиагууртай яг адил. Гэхдээ доод хашиц дахь гидравликийн нэмэлт тооцоолол шаарддаг учир төсөлөхөд төвөгтэй байдаг. 
Усны барилгын гидравлик тооцоо барилгын үндсэн хэмжээг гаргах ба үүн дээр үндэслэж бүтээцийн тооцооллыг хийдэг. Гидравликийн тооцоолол тэр бүр амар хялбар хийгддэггүй нь шингэний урсгалыг илэрхийлэл томъёо тэгшитгэл тодорхой бус байдагтай холбоотой. Стандарчилагдсан ус хаях барилгын зарим нэг нийтлэг хэсгүүдэд зориулсан төсөл тооцооны аргачлал боловсруулагдсан байдаг боловч хэмжээ, барилгын ангиас хамааруулж туршилт хийх шаардлага гардаг. 
Ялангуяа ус хаях барилгын хувьд хамгийн чухал асуудал нь өнгөрүүлэх усны хэмжээ бус усны энерги унтраах чадвар байдаг. Энерги нь урсгалын хурдаас хамааралтай учир дундажилсан хурдыг нарийн тодорхойлоогүй тохиолдолд тооцоолол буруу тийш эргэнэ. 
Урсгалын хурдыг маш нарийн тодорхойлохын тулд тооцон бодох аргуудыг ашиглах, эсвэл лабораторид физик загварчлал дээр туршилт явуулахаас өөр арга байхгүй. 

Латтис Больцманы аргаар загварчилах

Шингэний чөлөөт гадаргууг ойролцоолох кодон дээр анхны болон хязгаарын нөхцлийг өөрчилсөнөөр хурц ирмэгт ус халиагуурыг загварчилах боломжтой. Ус халиагуур болон ус хаях барилгад ижил зүйл нь халиагуур болон барилгын геометрийг өгөх, оролтын болон гаралтын хязгаарын нөхцлийг оруулах, анхны нөхцлийг оногдуулах гэх мэт байна. Хэмжээ, хэлбэрээрээ ялгаатай боловч ижил байдлаар загварчилагдана. 
Хурц ирмэгт ус халиагуурын 2хэмжээст геомерт дүрслэл
Жишээ болгон хурц ирмэгт ус халиагуурыг хоёр хэмжээстэд авч үзье. Ус халиагуурыг усанд автаагүй байх нөхцөлд загварчилъя. Үндсэн геометр өгөгдөл нь босгоны өндөр tw байх ба энэ хэмжигдэхүүнээр бусад хэмжээсүүд зураг дээрх шиг илэрхийлэгдэнэ. 
Ингээд геометр нөхцлийг өгөх фортран кодыг авч үзье. 
 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
      do i=0,n
      do j=0,m
      rho(i,j)=rhoo
      p(i,j)=rho(i,j)/3.
      flag(i,j)=3  ! interface node
      e(i,j)=0.0
      ma(i,j)=0.0
         if(j.lt.90.and.i.lt.3*n/8) then  ! upstream water
           flag(i,j)=1  ! fluid node
           e(i,j)=1.0
           ma(i,j)=rho(i,j)*e(i,j) !1.0
         else if(j.eq.90.and.i.le.3*n/8) then
           flag(i,j)=2  ! interface node
           e(i,j)=0.5
           ma(i,j)=rho(i,j)*e(i,j) !0.5
         else if(j.le.90.and.i.eq.3*n/8) then
           flag(i,j)=2  ! interface node
           e(i,j)=0.5
           ma(i,j)=rho(i,j)*e(i,j) !0.5
         endif
         if(j.lt.ow/2.and.i.gt.3*n/8) then  ! downstream water
           flag(i,j)=1  ! fluid node
           e(i,j)=1.0
           ma(i,j)=rho(i,j)*e(i,j) !1.0
         else if(j.eq.ow/2.and.i.ge.3*n/8) then
           flag(i,j)=2  ! interface node
           e(i,j)=0.5
           ma(i,j)=rho(i,j)*e(i,j) !0.5
         else if(j.le.ow/2.and.i.eq.3*n/8) then
           flag(i,j)=2  ! interface node
           e(i,j)=0.5
           ma(i,j)=rho(i,j)*e(i,j) !0.5
         endif

             do k=0,8
             f(k,i,j)=w(k)*rho(i,j)
             enddo
      u(i,j)=0.0
      v(i,j)=0.0
      tau(i,j)=1./ome         ! initial relaxation
   
! wall/obstacle flag
      if(j.eq.0.or.j.eq.m) then
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0 !rho(i,j)*e(i,j)
      endif   

      end do
      end do
! obstacle at bottom

      do i=3*n/8-1,3*n/8+1   ! sharp crest weir
      do j=0,ow !+ow/2
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo

! initial neighborhood information
      do i=0,n
      do j=0,m
      flagneig(i,j)=0
      if(flag(i,j).eq.1) flagneig(i,j)=3
      if(flag(i,j).eq.3) flagneig(i,j)=2
      if(flag(i,j).eq.2) flagneig(i,j)=1

      enddo
      enddo
Товч тайлбарлавал: Ус нь босгоны зүүн талд байрлах ба босгон дээр хаалт байна гэсэн төсөөлөл өгнө. Хурц ирмэгт ус халиагуур нь хана учир тугны утга нь 0 байна. 
Анхны нөхцөл, бодлогын геометр
Оролтын нөхцөл: Тооцоолол эхлэхэд ус нь ус бодлогын хүрээний зүүн талаас тогтмол өгөгдөж ус халиагуураар давч урсах ёстой. Оролтод хурдны хязгаарын нөхцлийг өгнө. Хурд нь тогтмол байх ба зарцуулгаас хамааралтайгаар өгөгдөнө.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
! boundary for inlet
      do j=0,m
      if(flag(0,j).eq.1.or.flag(i,j).eq.2) then
      rhow=f(0,0,j)+f(2,0,j)+f(4,0,j)+2.*(f(3,0,j)+f(6,0,j)+f(7,0,j))
      rhow=rhow/(1.-uo)
      f(1,0,j)=f(3,0,j)+2.*rhow*uo/3.
      f(5,0,j)=f(7,0,j)+rhow*uo/6.
      f(8,0,j)=f(6,0,j)+rhow*uo/6.
      endif
      enddo
Энд байх uo=Q/A байх ёстой. 
-------------------------------------------------------------------------------------------------------------------------
Гаралтын нөхцөл: Ус халиагуураар даваад ирж байгаа усыг бодлогын баруун захын хүрээгээр чөлөөтэй нэвтрүүлж гаргах ёстой. Гаралтанд Неуманы хязгаарын нөхцлийг өгнө. Нэг ба хоёрдугаар эрэмбийн нарийчлалтайг өгч болох ч зарим үед аль тохиромжтойг нь өгөх хэрэгтэй. 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
! boundary for outlet
      do j=0,m
      if(flag(n,j).eq.1.or.flag(n,j).eq.2) then
!      uxx=f(0,n,j)+f(2,n,j)+f(4,n,j)+2.*(f(1,n,j)+f(5,n,j)+f(8,n,j))
!      uxx=-1.+uxx
!      f(3,n,j)=f(1,n,j)-2.*uxx/3.
!      f(6,n,j)=f(8,n,j)-0.5*(f(2,n,j)-f(4,n,j))-uxx/6.
!      f(7,n,j)=f(5,n,j)+0.5*(f(2,n,j)-f(4,n,j))-uxx/6.
      f(3,n,j)=f(3,n-1,j) !(4.*f(3,n-1,j)-f(3,n-2,j))/3.
      f(6,n,j)=f(6,n-1,j) !(4.*f(6,n-1,j)-f(6,n-2,j))/3.
      f(7,n,j)=f(7,n-1,j) !(4.*f(7,n-1,j)-f(7,n-2,j))/3.
      endif
      enddo
-------------------------------------------------------------------------------------------------------------------------
Дээрх хэсэг кодонд эхэнд нь даралтын хязгаарын нөхцөл /3-8/, 1-р эрэмбийн Вон Неуманы нөхцөл /9-11/, түүний ард тайлбар маягаар 2-р эрэмбийн Вон Неуманы нөхцөл өгөгдсөн байна. 

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

 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
      do i=0,n 
      do j=0,m
                    ! collision for boundary nodes
         if(flag(i,j).eq.0) then
             if(flag(i+1,j+0).eq.2
     &      .or.flag(i+1,j+0).eq.1) then
                f(1,i,j)=f(3,i,j)
                f(5,i,j)=f(6,i,j)
                f(8,i,j)=f(7,i,j)
             endif
             if(flag(i+0,j+1).eq.2
     &      .or.flag(i+0,j+1).eq.1) then
                f(2,i,j)=f(4,i,j)
                f(5,i,j)=f(8,i,j)
                f(6,i,j)=f(7,i,j)
             endif
             if(flag(i-1,j+0).eq.2
     &      .or.flag(i-1,j+0).eq.1) then
                f(3,i,j)=f(1,i,j)
                f(7,i,j)=f(8,i,j)
                f(6,i,j)=f(5,i,j)
             endif
             if(flag(i-0,j-1).eq.2
     &      .or.flag(i-0,j-1).eq.1) then
                f(4,i,j)=f(2,i,j)
                f(7,i,j)=f(6,i,j)
                f(8,i,j)=f(5,i,j)
             endif
          endif
      enddo
      enddo
! boundary condition for obstacle
      do i=0,n 
      do j=0,m
          if(flag(i,j).eq.0) then

   ! boundary for wall. Just copy DFs
             if(flag(i+1,j+0).eq.2
     &      .or.flag(i+1,j+0).eq.1) then
                f(1,i+1,j+0)=f(1,i,j)
                f(5,i+1,j+0)=f(5,i,j)
                f(8,i+1,j+0)=f(8,i,j)
             endif
             if(flag(i+0,j+1).eq.2
     &      .or.flag(i+0,j+1).eq.1) then
                f(2,i+0,j+1)=f(2,i,j)
                f(5,i+0,j+1)=f(5,i,j)
                f(6,i+0,j+1)=f(6,i,j)
             endif
             if(flag(i-1,j+0).eq.2
     &      .or.flag(i-1,j+0).eq.1) then
                f(3,i-1,j+0)=f(3,i,j)
                f(7,i-1,j+0)=f(7,i,j)
                f(6,i-1,j+0)=f(6,i,j)
             endif
             if(flag(i-0,j-1).eq.2
     &      .or.flag(i-0,j-1).eq.1) then
                f(4,i-0,j-1)=f(4,i,j)
                f(7,i-0,j-1)=f(7,i,j)
                f(8,i-0,j-1)=f(8,i,j)
             endif
   !          do k=1,8
   !          op=opp(k)
   !          if(flag(i+cx(k),j+cy(k)).eq.2
   !  &      .or.flag(i+cx(k),j+cy(k)).eq.1) then 
   !          f(k,i+cx(k),j+cy(k))=f(op,i+cx(k),j+cy(k))
   !          endif
   !          enddo
          endif
      enddo
      enddo
Кодны төгсгөлд тайлбар маягаар үл буцах хязгаарын нөхцлийг өгсөн байна. 
Ингээд тооцоог хийхдээ зарцуулгыг өөрчлөх замаар ус халиагуурын зарцуулгын коэффицентыг тодорхойлсон. Дараах томъёоны тусламжтайгаар тооцон бодсон утгуудаа ашиглан Cd коэффициентыг тогтоох нь туршилтын гол зорилго болно.
Зарцуулга нь хувийн зарцуулгаар өгөгдсөн ба ус халиагуурыг 1 нэгжийн өргөнтэй гэж авч үзсэн учир томъёонд өргөний хэмжигдэхүүн байхгүй гэдгийг хэлье. Мөн босго ба босгон дээрх түрэлтийн харьцаа нь өөрчлөгдөшгүй хэмжигдэхүүн байх учир түүнийг чухалчилна. Ингээд тооцооллыг dx=0.0025м , dt=0.000074сек гэсэн параметртай, 7-өөр зарцуулгатайгаар хийв. Тооцоогоор тодорхойлсон зарцуулгын коэффицентоо өөр хүмүүсийн хийсэн туршилт болон арилжааны тооцон бодох програмаар гарган авсан үр дүнтэй хамт дараах графикаар харуулав.
Зарцуулгын коэффицент болон босгоны харьцангуй өндөрийн харьцаа. Тод хар нь бидний тодорхойсон утгууд юм. Босгоны харьцангуй өргөн 0.8-аас дээш болоход зарцуулгын коэффицент 0.7 хавьцаа болж байна. Энэ коэффициентыг авч 13-томъёонд тавьж усны түвшнээр зарцуулга тодорхойлох томъёог гаргана. 
Манай үр дүн бусад үр дүнтэй бараг адил байгаа нь код зөв ажиллаж байгааг харуулах ба өөр бусад гидравликийн чухал бодлогуудыг шийдэхэд хүч үзэх боломжтой гэдгийг баталж байгаа юм. 
Урсгалын вектор, шингэний фракц, урсгалын дундаж хурд, турбулент зунгааралт гэх мэтийг харуулж байна. 
Судалгаа хийхэд үндсэн програмаас гадна туслах олон програм код зохиох шаардлага гардаг. Жишээ нь дээрх зарцуулгын коэффицентыг тодорхойлох дараах кодыг тусад нь зохиосон юм. Энд хурдны өгөгдлийг симуляцаас авч зарцуулгыг тооцоод улмаар коэффицентоо 13 тэгшитгэлээр тооцно.

 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
      program cdcoef
      parameter (n=180, gy=9.81)
      real u_up(n), u_do(n)
      real qup, qdo, uav, hw, tw, cd
      integer i, j
      
      open(1,file='uvat100.dat') ! from simulation
      do i=0,n   
      read(1,*) j, u_up(i)
      enddo

      open(1,file='uvat130.dat') ! from simulation
      do i=0,n   
      read(1,*) j, u_do(i)
      enddo
! find discharge
      sumup=0.
      sumdo=0.
      do i=0,n
       sumup=sumup+u_up(i)
       sumdo=sumdo+u_do(i)
      enddo
      qup=sumup*0.0025
      qdo=sumdo*0.0025
      print*, qup, qdo
      qpa=0.5*(qup+qdo)
      tw=0.15
      hw=0.015  ! from excell file
      uav=qup/(hw+tw)
      totH=hw+(uav**2)/(2.*gy)
      cd=1.5*qup/((sqrt(2.*gy)*sqrt(hw**3)))
      
      print*, 'cd', cd, 'uav', uav, 'hw', hw, 'totH', totH

      end program
-------------------------------------------------------------------------------------------------------------------------

1
2
C:\ayur\LBM\FreeSurface\dambreak2\sharpweir\6090>ffmpeg -i 0120f.avi -vf "[0:v]pad=iw*2:ih [in0]; movie=0120.avi [in1]; [in0][in1] overlay=740:0 [out]
" out120.avi
Дээрх болон нийтлэлийн эхэнд байх үр дүнгүүд нь хоёр өөр зарцуулгатай үе дахь ус халиагуур дээгүүр урсгалын гидравлик нөхцлийг харуулж байгаа юм. Зарцуулга ихэсхэд босгоны өндөрөөс хамаарч цоргоны ард битүү хуйларсан үе үүснэ. Тооцооны үр дүнг харьцуулахын тулд видеонуудыг зэрэгцүүлэх шаардлага гардаг. Үүнийг ffmpeg ашиглан үйлдэж болдог. Дээрх кодон дахь хоёр бичлэгийн нэрийг сольж overlay дахь утгыг өөрчилсөнөөр өөр өөр бичлэгүүдэд хэрэглэх боломжтой. 

Ус хаях барилгын хувьд жишээ болгон шаталсан ус халиагуурыг загварчилж харуулав. Геометрийн хувьд энгийн учир цаг хэмнэх үүднээс энэ ус хаях барилгыг сонгосон юм. Хэдий хялбар хийцтэй гэсэн ч энэ ус хаях барилга нь судалгааны идэвхитэй сэдэв гэдгийг хэлэх ёстой. Манай улсын Тайширын УЦС-ын боомт нь ийм шаталсан ус халиагууртай юм.
Шаталсан ус хаях барилгыг жигд зарцуулгатай үед хоёр өөр босготой байхаар судалсан болно. Дээрх анхны нөхцөлд жишиг болон том босгоны байрлал, доод хашиц дахь энерги унтраах худаг зэргийг хаалтаар хашигдсан устай хамт харуулж байна. 
Босго, худагны гоемертийг дараах кодоор өгнө. Жишээ: Жижиг шаттай ус хаях барилга

 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
! obstacle at bottom
      k=n/60 ! step height
      l=k+k/2 ! stem lenght   
      do i=n/6+10,n/4   ! first step
      do j=0,m/2
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4,n/4+l   ! second step
      do j=0,m/2
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+l,n/4+2*l   ! third step
      do j=0,m/2-k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+2*l,n/4+3*l   ! forth step
      do j=0,m/2-2*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+3*l,n/4+4*l   ! fifth step
      do j=0,m/2-3*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+4*l,n/4+5*l   ! sixth step
      do j=0,m/2-4*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+5*l,n/4+6*l   ! 7 step
      do j=0,m/2-5*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+6*l,n/4+7*l   ! 8 step
      do j=0,m/2-6*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+7*l,n/4+8*l   ! 9 step
      do j=0,m/2-7*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+8*l,n/4+9*l   ! 10 step
      do j=0,m/2-8*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
      do i=n/4+9*l,n/4+10*l   ! 11 step
      do j=0,m/2-9*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
! Energy dissapetor
      do i=500,n   ! step
      do j=0,m/2-8*k
      flag(i,j)=0  ! obstacle
      e(i,j)=1.0
      ma(i,j)=1.0
      enddo
      enddo
Бусад зүйл нь өмнөх ус халиагуурынхтай ижил. Мэдээж оролт дахь урсгалын хурл өөр байх болно. Энэ тооцооллоор том ба жижиг шаттай байхын ялгаа энерги унтраалт дээр хэр нөлөөлж байгааг харахыг зорив. 
Ус хаях барилга дээгүүрх урсгалын энерги, унтраах чадамж.
Эндээс харахад жишиг шаттай байх нь энергийг сайн унтрааж урсгалын хурдыг сайн сааруулна. Шаталсан ус халиагуурын нэг давуу тал нь агаар усны холимог урсгалыг бий болгох явдал юм. Энэ нь энергийг мас сайн унтраах боловч барилгын материалд харш нөлөөтэй. Мөн аль болох хөндийрсөн урсгалыг үүсгэж болохгүй. 
Том ба жижиг шаттай ус хаях барилгуудын тооцооллын харьцуулалт
Урсгалын энергийг потенциал ба кинетик энергийн нийлбэрээр тодорхойлно. Түүнийг мөн л дараах туслах програмыг бичиж тодорхойлсон болно. 

 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
41
42
43
44
45
46
47
48
49
50
51
52
53
      program Total_energy
      parameter (n=600, m=200, dx=0.01)
      real h(0:n), E(0:n), u(0:n,0:m)
      real x(0:n), q(0:n)
      integer k(0:n)
! read data files/өгөгдлийг унших
      open(1,file='ij_small.dat')
      open(2,file='uvabs_small.dat')
      open(3,file='energy_small.dat')

      h=0.
      x=0.
      q=0.
      E=0.
      u=0.
      k=0
   
      do i=0,n
      read(1,*) x(i), h(i) 
      enddo
      print*, h(0)
      do j=m,0,-1
      read(2,*) (u(i,j), i=0,n) 
      enddo
  200 format(700e11.3)

! энергийг тооцоолох
      do i=0,n
         sumu=0.
         i_nonzero=0
         do j=0,m
             if(u(i,j).gt.0.) then
             i_nonzero=i_nonzero+1
             sumu=sumu+u(i,j)
             endif
         end do
         k(i)=i_nonzero
         q(i)=sumu
      end do
      do i=0,n
         q(i)=q(i)/float(k(i))
         E(i)=h(i)+(q(i)**2)/(2.*9.81)
      enddo
   
! үр дүнг хэвлэх
      do i=0,n
      write(3,*) x(i), E(i)
      enddo

      close (1)
      close (2)
      close (3)
      end program
Хэдий код бичээд мэдээлэл боловсруулаад байх боловч зарим энгийн зүйлсийг эксэлдэх амар байдаг. Дахин дахин ашиглах, хийх үйлдэл байгаа тохиолдолд програм бичих нь хугацаа хэмнэдэг. 
Энэ мэтээр усны барилга байгууламжийн судалгааг тооцон бодох арга ашиглан хийж болно. Шинээр баригдах гэж буй УЦС-уудын боомт, усан сан гэх мэтийн тооцооллын ихэнх нь тооцон бодох аргаар хийгддэг учир ихэнхдээ гадаадын эксперт, компаниудаар үнэ өртөгтэй хийлгэдэг. Бидний үйлдсэн энэ код шиг ажилладаг арилжааны програм хангамжуудын жилийн 1 компьютер дахь лиценз нь 1000-2000 доллар байдаг. Дээрх шиг ус халиагуурын судалгааны ажлыг хийх нь 30сая-аас дээш төгрөг болдог. Иж бүрэн ТЭЗҮ, нарийвчилсан судалгааны ажил, ажлын зураг төсөл боловсруулах үндэсний боловсон хүчин бэлтгэгдэх болно. Тэр үед усны инженерчлэлийн хоцрогдол Монголд арилах болно. Усны төлөө ажилладаг, устай хоёр шалтгаанаар ханддаг нийт хүмүүстээ дэлхийн усны өдрийн мэндийг хүргье. 
Ус ердийн хүний ахуй амьдралын хэрэгцээ. - 1 шалтгаан 
Ус усны хүмүүсийн амьдрал ажлын хэрэгцээ. - 2 шалтгаан

Бэлтгэсэн: Усны барилгын инженер Б.Аюурзана. 

No comments:

Post a Comment