วันศุกร์ที่ 21 เมษายน พ.ศ. 2566

การทำ Loop Flow ใน MIKE Hydro Basin

 ในบทความนี้จะนำเสนอการตั้งค่าแบบจำลอง MIKE Hydro Basin ให้สามารถจำลองการไหลแบบ Loop ได้


เป็นที่รู้กันว่าแบบจำลอง MHB เป็นแบบจำลองที่จำลองการไหลทางเดียว

และเมื่อไหร่ก็ตามที่มีการสร้างลำน้ำที่มีลักษณะเป็นการไหลวนเป็น Loop แบบจำลองจะฟ้อง Error

ซึ่งตรงนี้เป็นข้อจำกัดของแบบจำลอง MHB หรือ สมดุลน้ำทั่วไป


ในอดีตกรณีที่ต้องการจำลองการไหลวนใน MHB จะมีการแนะนำให้ใช้ Water User 

ในการดึงน้ำออกจากท้ายน้ำและส่งคืนน้ำเข้าที่ต้นน้ำ โดยทำคู่ไปกับการใช้ Script 

เข้ามาควบคุมปริมาณน้ำทึ่ดึงออกและส่งคืนให้เท่ากัน

จะเห็นว่าส่วนที่ยากในการทำงานข้างต้นคือการเขียน Scriptเข้ามาควบคุม


อย่างไรก็ตามในแบบจำลอง MHB version ตั้งแต่ 2022 เป็นต้นมา ได้มี feature เพิ่มเติม

โดยมี Control Rule เพิ่มเข้ามา ทำให้การตั้งค่าการไหลวนข้างต้น ไม่จำเป็นต้องพึ่งพาการเขียน Script อีกต่อไป


รูปด้านล่าง เป็นตัวอย่างการตั้งค่าแบบจำลองอย่างง่าย เพื่อทดสอบการตั้งค่า ตามที่กล่าวไว้ข้างต้น


ในตัวอย่างที่ทดสอบการตั้งค่าการสูบน้ำย้อนกลับประกอบด้วยรายละเอียดดังนี้ 

- ลำน้ำ 1 เส้น

- อ่างเก็บน้ำ ใช้ค่า Default ทั้งหมด โดยจะมีระดับเก็บน้ำระหว่าง 534-540 ม. และเริ่มต้นที่ 540

- Water user 1 ทำการบังคับการระบายน้ำของอ่างเก็บน้ำที่ 10 cms

- Water user 2 เป็นตัวส่งน้ำคืนไปทางเหนืออ่างเก็บน้ำ ควบคุมให้มีค่า 0 cms หากระดับน้ำในอ่างสูงกว่า 539 ม. และมีค่า 10 cms เมื่อระดับน้ำในอ่างต่ำกว่า 538 ม.

- Water user 3 เป็นตัวดึงน้ำออกจากท้ายน้ำของอ่าง ตั้งค่าสอดคล้องกับ Water user 2 โดยหากระดับน้ำในอ่างสูงกว่า 539 จะดึงน้ำออก 0 cms และหากระดับน้ำต่ำกว่า 538 จะดึงน้ำออก 10 cms


จาก Water user 2 และ 3 จะเห็นว่าเป็นคู่ Water user ที่ถูกเพิ่มเข้ามา เพื่อจำลองการไหลวนของน้ำในระบบ เทียบได้กับการสูบน้ำกลับ โดยตัวอย่างนี้ ตั้งค่าให้เริ่มมีการสูบจากท้ายน้ำกลับไปยังต้นน้ำที่อัตรา 10 cms เมื่อระดับน้ำในอ่างน้อยกว่า 538 เมตร


อย่างไรก็ตาม ปริมาณการสูบน้ำที่จะเกิดขึ้นได้จริง อาจไม่เท่ากับที่ตั้งค่า ทั้งนี้ขึ้นกับปริมาณน้ำที่มีในช่วงเวลาต่างๆด้วย แต่หากมีน้ำเพียงพอ การสูบน้ำจะเป็นไปตามที่ตั้งค่า


รูปด้านล่าง แสดงการตั้งค่า Sensor เพื่อตรวจสอบระดับน้ำในอ่างเก็บน้ำ สำหรับใช้กับ Coltrol rule 



รูปด้านล่างแสดงตัวอย่างการตั้งค่าใน Control rule สำหรับ Water User 2 ซึ่งเป็นจุดส่งน้ำคืนไปต้นน้ำ โดยจะมี 2 เกณฑ์ คือกรณีระดับน้ำสูงกว่า 539 และต่ำกว่า 538



ส่วนรูปด้านล่าง แสดงผลคำนวณ ซึ่งในกรณีที่ช่วงแรก Return Flow (เส้นน้ำเงิน) มีแค่แค่ 5 cms เกิดจากความตั้งใจในการทดสอบค่า Water demand ของ Return Flow ว่าหากมีการกำหนดค่าที่น้อยกว่า Retrun Flow ของจุดนั้น จะส่งผลอย่างไร และพบว่า แม้ Control จะกำหนดให้ส่งน้ำคืน 10 cms แต่ด้วยน้ำไม่พอ การคำนวณก็ให้ค่าเท่ากับปริมาณน้ำที่มีเท่านั้น ซึ่งถือว่าถูกต้อง



สุดท้ายสำหรับผู้ที่สนใจสามารถ Download ไฟล์ Model Setup ที่ใช้ทดสอบการคำนวณนี้

ไปดูตัวอย่างการตั้งค่านี้ได้



2 ความคิดเห็น:

  1. ไม่ระบุชื่อ24 พฤษภาคม 2566 เวลา 01:51

    หากใช้เวอร์ชั่นเก่ากว่า 2022 มีแนวทางเขียน Script การใช้งานเมนูไหนครับ

    ตอบลบ
  2. ไม่ระบุชื่อ24 พฤษภาคม 2566 เวลา 21:30

    ใน MIKE Hydro Basin จะรองรับการเขียน Script ตั้งแต่เวอร์ชั่นแรกๆแล้ว ดังนั้นหากใช้วิธีเขียน script ก็สามารถเชื่อมโยง variable ภายในของ MIKE Hydro Basin กับ Script แล้วบังคับการคำนวณในลักษณะเป็น loop ได้เช่นกันครับ

    ส่วนแนวทางการเขียน script หรือการเขียนโปรแกรมควบคุมแบบจำลอง คงต้องดูจากเอกสารนี้ครับ
    https://manuals.mikepoweredbydhi.help/latest/Water_Resources/MIKEHYDRO_BasinEngine_InterfaceProgrammingGuide.pdf

    ตอบลบ