Wednesday, October 1, 2014

Кинематик давалгаа /Kinematic waves/

Бүлэг 6


Кинематик давалгаа /Kinematic waves/

6.1 Онол

Гол дахь урт давалгаа /математикт долгион гэнэ/ - ны онол нь бүлэг 15 – д илүү дэлгэрэнгүй хэлэлцэгдэх болно. Энд онцгой тохиолдол болох хүндийн хүчний болон ёроолын үрэлтийн хүчний тэнцэржилтийг харуулах моментийн тэгшитгэлтэй уялдах хэлбэрийг авч үзье.
Энд cf нь ёроолын үрэлтийн коэффициент, As нь хөндлөн огтлолын талбай, R нь гидравликийн радиус, i нь ероолын хэвгий болно. Үнэндээ дээрх тэгшитгэл нь Маннингийн тэгшитгэл юм.
Голын сонгож авсан хэсэгт массын балансын тэгшитгэл 4.2 – ийг зарцуулга болон гүний хамаарлаар бичвэл

Энд B нь усны түвшний өргөн, a нь усны гүн, Q нь зарцуулга байна. Тэгшитгэл 6.1 – д байх As болон R нь усны гүнээс хамаарах фунц ба бидэнд Q болон a гэсэн хоёр үл мэдэгдэгчтэй хоёр тэгшитгэл байна. Тэгшитгэл 6.2 – т тэгшитгэл 6.1 – ийг орлуулан Q алга болгох боломж бас харагдаж байна. Тэгвэл
Энд


Тэгшитгэл 6.4 нь задралын илэрхийлэлгүй энгийн долгионы (тэгшитгэл 4.3) тэгшитгэлийн хэлбэр байна. Тархалтын хурд нь тэгшитгэл 4.6 – аар өгөгдсөн с байна. Характеристик нь энэ хурдаар шилжиж байвал усны гүн нь тогтмол хэвээр үлдэнэ. Энэ нь давалгааны ирмэгийн хувьд онцгой үнэн юм. Иймд кинематик давалгааны ойролцоололд, үерийн давалгааны хувьд задрал буюу бууралт гэж байхгүй.
Хөндлөн огтлолын хэлбэр тэгш өнцөгт, голын өргөн харьцангуй өргөн гээд тархалтын хурдан дээр санаа авбал, энд As=Bs*a болох ба Bs нь голын өргөн болно. Хэрэв өргөн гүний харьцаа их бол гидравликийн радиус нь гүнтэй бараг тэнцүү болно. Дээрх бүгдийг тэгшитгэл 6.4 – д орлуулбал
гэсэн тэгшитгэл гарна. Энэ бол урсгалын хурдтай ижил утга болон эрэмбтэй байна. Урсгалд нөлөөлөхгүй хуримтлалын талбай ихтэй (Bs/B<1) бол давалгаа унтрах үр дүнд хүрнэ. Өөр сонирхолтой хэсэг нь с бол тогтмол биш: энэ нь давалгааны уналтаас илүү хурдтай шилжих давалгааны ирмэг болон усны гүнээс хамаарна. Гэхдээ ирмэгний түвшин хэвээр үлдэх боловч давалгааны урд хэсэг хурц болж эхэлнэ.

6.2 Жишээ

Хотыг голын үерээс хамгаалахын тулд хуримтлалын санг хотын дээд хэсэгт 400км зайд барьсан гэж үзье. Үүний нөлөөлөл нь математик загварчлалаар судлагдсан гэж үзье. Зарим нэг мэдээлэл өгөгдлийг өгье.
        i.            Голын геометр хэмжээс
Хялбар байлгах үүднээс тогтмол өргөн болон хэвгий өгье.
Bs=B=200м, cf=0.004, i=10-4
      ii.            Анхны нөхцөл
Энэ бол шууд мэдэгдэхгүй тэгэхээр бодитой байдлаар таамаглал авах хэрэгтэй. Зарцуулгыг тэнцвэрт байдлаар Q=800м3/с, үүнд тохирох гүн нь тэнцвэрт байдлаар 4м байна. Хэрэв тэнцвэрт бус зарцуулгыг анхны нөхцлөөр авбал давалгаа голын уртын дагууд шилжих болно.
    iii.            Хязгаарын нөхцөл
Дээд хашиц талд, хязгаарын нөхцөл хэрэгтэй учир хэмжигдсэн усны түвшин, үерийн үеийн урсацын гидрограф эсвэл голын ус хураах талбайд гидрологийн тооцоо хийсний үндсэн дээр тодорхойлсон үерийн зарцуулга гэх мэт мэдээллийн аль нэг нь хэрэгтэй. Зарцуулга өгвөл тэгшитгэл 6.1 – ийг ашиглан усны гүнийг тодорхойлж болно. Энэ тохиолдолд энгийн синусын тархалттай давалгааг 4м – ийн тэнцвэрт гүн дээр нэмж авъя. Давалгааны үе нь T=6 өдөр байна. (зураг 6.2) Хязгаар нь хотоос дээш 450км – т оршино.
    iv.            Хуримтлуулах сангийн хэмжээс
Сангийн талбайн хэмжээ нь 5 108м2 байх ба усны түвшин 6.4м – ээс дээш болоход дүүрч эхлэнэ.
Тоон схемчлэл нь засварласан Лакс-ийн арга дээр үндэслэгдэнэ. Жишээлбэл, нарийвчлал нь хотын орчим дахь усны түвшний алдаа нь 25см – ээс бага байхаар сонгогдсон. Мөн alpha=0.8, sigma=0.8 байхаар сонгоё. Эдгээр нь тогтворжилтын нөхцлийг хангана.  Sigma=1 гэсэн утгыг авч усны гүний өөрчлөлт, Коурантын тоо, тархалтын хурданд хэрэглэх нь хэцүү байх болно. Торны хэмжээсны зарим утгыг авч тооцооллын бууралт болон тархалтын харьцангуй хурдыг тооцоолж үзье.
L/delta x
T/delta t
n
d(n)
cr
100
125
50
0.97
1.0002
50
52
25
0.97
1.0009
25
31
12.4
0.88
1.004
Кинематик давалгааны тархалтын хурданд, давалгааны урт L нь ойролцоогоор 1000км байна. 450км шилжих хугацаа нь 60цаг эсвэл 0.4Т байх нь хугацааны алхамын тоог n=0.4T/delta t байхыг шаардаж байна. Энэ нь эргээд L/delta x=50 .. 100 хооронд нарийвчлалтай байхыг зааж байна. Энд cr – ийн утга нь нэгжтэй ойролцоо байгаа хэдий ч давалгааны ирж байгаа хугацаанд нарийвчлалын нөхцөл болж чадахгүй байна. Үүний утга нь delta x=10 .. 20км болоход delta t=1 .. 2цагтай тохирхоор (Коурантын тооноос) байна гэсэн үг юм. Эндээс бага утга тооцон бодох жишээнд хэрэглэгдсэн гэдгийг тэмдэглэе.
 
Эдгээр утгууд нь нилээд бага байх нь давалгааны урт болон үргэлжлэх хугацаатай холбоотой. Шалгаан нь засварласан Лаксийн арга нилээн нарийвчлал муутай ялангуяа давалгааны бууралт ажиглагдаж байна. Хэрэв мэлхий үсрэлтийн аргыг хэрэглэвэл яагаад бууралттай байгааг нь харьцуулан ойлгож болно.
Хуримтлалын сангүй жишээны үр дүн нь 6.2 зурагт харуулсан байна. Кинематик давалгааны шинж чанар маш тодорхой харагдаж байна. Бага хэмжээний бууралт нь тооцон бодох аргаас үүдэлтэй. Давалгаа нь уртын туршид 0.5м – ээр буурсан байна. Иймээс илүү өндөр  тооцооны нарийвчлал нээх хэрэгцээтэй байж чадахгүй. Зураг 6.3 нь хуримтлалын сантай үеийн үр дүнг харуулж байна. Энэ нь харьцангуй үр дүнтэй ажиллаж байна гэж хэлж болно. Гэхдээ усны түвшин 6.4м – ээс нилээд илүү гарсан байна.
За энэ бол номны жишээ байлаа. Ном орчуулж байгаа мөн шууд бичээд эргэж хянахгүйгээр явж байгаа учир утгын дутагдал байж болох юм. Ингэж явахгүй бол урдах юмаа гүйцэхгүй байна аа.
Энэ бүлгийн тооцон бодох Фортран кодыг (Fortran computational code) сонирхоё.

! Computational hydraulics Section 8
! Kinematic wave Chapter 6
! pp.30 eq(6.1),eq(6.3)
! Finite differential method
      parameter(g=9.81,pi=3.141592)             ! [m]
      parameter(wp=5000)                        ! inciden wave period
      parameter(B=200,cf=0.004,si=1.0e-4)       ! width [m]
      parameter(nt=2000,dt=5.0)                     !
      parameter(nx=100,dx=100.0)
        dimension h(nx),q(nx),a(nx),R(nx)
      do i=1,nx ! initial water depth
       h(i)=5.0
      enddo
      open(10,file='water.dat')                 ! for data storage
      open(11,file='q.dat')                     ! for data storage
      do n=1,nt                                 ! temporal change
      time=dt*n                                 ! time
     h(1)=5.0+1.5*sin(2.0*pi*time/wp)          ! wave
      do i=1,nx
       a(i)=h(i)*B                              ! area for cell
       R(i)=a(i)/(2.0*h(i)+B)                   ! hydraulic radius for cell
      enddo
      do i=1,nx-1
       aa=(a(i)+a(i+1))/2                       ! area on cell side
       rr=(R(i)+R(i+1))/2                       ! hydraulic radius cell side
       q(i)=sqrt(g*si*(rr*aa**2)/cf)            ! flow rate [m3/s]
       write(*,*) i,aa,rr,g,si,cf,q(i) !;pause
      enddo
      do i=2,nx-1
      rh=(-(q(i)-q(i-1))/dx)/B                  ! continuity equation (6.2)
      h(i)=rh*dt+h(i)
      enddo
      h(1)=h(2)                                 ! boundary for both
      h(nx)=h(nx-1)                             !
      if(mod(n,2).eq.0) then
      write(10,'(100e14.3)') (h(i),i=1,nx)
      write(11,'(100e14.3)') (q(i),i=1,nx)
      endif
      enddo
      stop
      end

Figure 1. Багшийн бодсон тооцооны үр дүн. Эхний зураг нь зарцуулга, дараагых нь усны түвшний өөрчлөлт

Figure 2. 3-н хэмжээстээр давалгааны шилжилтийг харвал

Энэ бол миний бичсэн Фортран код. Гэхдээ үр дүн жаахан өөр байгаа.
! Computational hydraulics Section 8
! Kinematic wave Chapter 6
! pp.30 eq(6.1),eq(6.3)
! Finite differential method
      parameter(g=9.81,pi=3.141592)             ! [m]
      parameter(wp=5000)                        ! inciden wave period
      parameter(B=200,cf=0.004,si=1.0e-4)       ! width [m]
      parameter(nt=2000,dt=5.0)                     !
      parameter(nx=100,dx=100.0)
       dimension h(nx),v(nx),a(nx),R(nx)
      do i=1,nx ! initial water depth
       h(i)=5.0
      enddo
      open(10,file='water1.dat')                 ! for data storage
      open(11,file='q1.dat')                     ! for data storage
      do n=1,nt                                 ! temporal change
      time=dt*n                                 ! time
            h(1)=5.0+1.5*sin(2.0*pi*time/wp)          ! wave
      do i=1,nx
       va=sqrt(1/cf)
       vb=sqrt(B*h(1)/(2*h(1)+B))
       vc=sqrt(g*si)
       v(i)=va*vb*vc
       write(*,*) i,g,si,cf,v(i) !;pause
      enddo
      do i=2,nx-1
      rh=-(dt/dx)*(h(i)-h(i-1))             ! continuity equation (6.2)
      h(i)=v(i)*rh+h(i)
      enddo
      h(1)=h(2)                                 ! boundary for both
      if(mod(n,2).eq.0) then
      write(10,'(100e14.3)') (h(i),i=1,nx)
      write(11,'(100e14.3)') (v(i),i=1,nx)
      endif
      enddo
      stop
      end


Figure 3. Зарцуулгыг тодорхйололгүй хурдыг тодорхойлж түүнийгээ ашиглан усны түвшний хэлбэлзлийг тооцсон болно.

Өмнөх хэсгийг Төгсгөлөг ялгаварын ил арга хэсгээс уншина уу.

No comments:

Post a Comment