معادلات آب کم عمق

معادلات آب کم عمق

PDF

معادلات آب کم عمق
معرفی
معادلات آب کم عمق اغلب برای مدل‌سازی جریان سیال اقیانوس‌شناسی و جوی استفاده می‌شود. مدل‌های چنین سیستم‌هایی منجر به پیش‌بینی مناطقی می‌شوند که در نهایت تحت تأثیر آلودگی، فرسایش ساحلی و ذوب شدن یخ‌های قطبی قرار می‌گیرند.
مدل‌سازی جامع چنین پدیده‌هایی با استفاده از توصیف‌های فیزیکی مانند معادلات ناویر-استوکس، به دلیل مقیاس حوزه‌های مدل‌سازی و همچنین از طریق حل سطوح آزاد، اغلب می‌تواند مشکل‌ساز باشد. معادلات آب کم عمق، که تعدادی نمایش از آنها وجود دارد، توصیف آسان تری از چنین پدیده هایی ارائه می دهد.
این مدل 1 بعدی نشست یک موج را بر روی یک بستر متغیر به عنوان تابعی از زمان بررسی می کند. موج اولیه و شکل بستر با روابط ریاضی نشان داده می شود به طوری که به راحتی می توان پارامترهایی مانند دامنه موج یا شکل بستر را تغییر داد.
این مثال از معادلات آب کم عمق Saint-Venant استفاده می کند که به شرح زیر است:
و
که در آن z ضخامت لایه آب (m)، v سرعت (m/s)، g ثابت گرانش (m/s 2 ) و ν ویسکوزیته سینماتیکی (m2 / s) است. تعریف ضخامت لایه آب، z ،  −  f است ، که در آن s و f معیارهای شکل 1 زیر هستند. برای جزئیات بیشتر به رفرنس مراجعه کنید. 1 .
شکل 1: بخش عمودی نمایانگر از طریق حوزه سیال که بستر دریاچه و سطح آب را نشان می دهد.
تثبیت مصنوعی
با گذشت زمان، جریان ناپیوستگی هایی ایجاد می کند که به عنوان پرش های هیدرولیکی شناخته می شوند. از تثبیت مصنوعی برای جایگزینی جهش ها با جبهه های شیب دار استفاده کنید که می توانند روی شبکه حل شوند. امواج با دامنه کوچک روی آب ساکن در عمق z با سرعت حرکت می کنند . حداکثر سرعت انتشار برای امواج آب است.
محلول را با افزودن ویسکوزیته مصنوعی انتخاب شده برای ایجاد عدد رینولدز سلول با وحدت مرتبه تثبیت کنید. برای انجام این کار، عبارت tune فاز h   را به ویسکوزیته سینماتیکی ν اضافه کنید . در اینجا، tune یک پارامتر تنظیم O(1) و h اندازه عنصر محلی است. شما سهم را به عبارت واگرایی قانون حفاظت اضافه می کنید تا بر سرعت ضربه تأثیر نگذارد. اصلاح در اندازه عنصر مرتبه اول است.
تعریف مدل
این برنامه یک مثال ساده از آب کم عمق را در یک کانال با توپوگرافی پایین نشان داده شده در شکل 1 مطالعه می کند . به تفاوت مقیاس بین جهت x و  توجه کنید .
شکل 2: پروفیل بستر دریا، f ، استفاده شده در مدل.
محدودیت ها (  =  0 ) در هر دو انتها اعمال می شوند، در حالی که فیزیک با معادلات بالا توضیح داده شده است. شرط اولیه یک پروفایل موج است که عبارت زیر آن را تعریف می کند:
که در آن f عبارت تحلیلی برای پروفایل بستر دریا است ( شکل 2 را ببینید ). ارتفاع سطح آب z + z f است ، در حالی که شکل 3 z + z f را نشان می دهد .
شکل 3: نیمرخ اولیه سطح آب، + z f ، و نیمرخ بستر دریا، f .
نتایج و بحث
شبیه سازی به مدت 60 ثانیه اجرا می شود. شکل 4 سطح آب و شیب بستر دریا را در شش زمان خروجی به سمت شروع شبیه سازی نشان می دهد.
شکل 4: سطح آب و شیب بستر دریا در شش زمان خروجی. بازه زمانی از t = 0 تا t = 15 در مراحل 3 ثانیه است.
شبیه سازی به وضوح تأثیر توپوگرافی بستر دریا را بر ارتفاع سطح آب نشان می دهد. یکی دیگر از تجسم های جالب نتایج، یک انیمیشن است که با استفاده از COMSOL Multiphysics به راحتی ایجاد می شود.
نکاتی درباره پیاده سازی COMSOL
روش مدل‌سازی با استفاده از رابط PDE فرم عمومی با دو متغیر وابسته: Z و V ساده است . به راحتی می توان عباراتی را تعریف کرد، مانند عبارتی که نمایه موج اولیه، 0 را توصیف می کند ، به عنوان یک متغیر در مدل.
ارجاع
1. O. Pironneau, Finite Element Methods for Fluids , John Wiley & Sons, 1989.
مسیر کتابخانه برنامه: COMSOL_Multiphysics/Equation_Based/Shallow_water equations
دستورالعمل مدلسازی
از منوی File ، New را انتخاب کنید .
جدید
در پنجره جدید ، روی  Model  Wizard کلیک کنید .
مدل جادوگر
1
در پنجره Model  Wizard ، روی  1D کلیک کنید .
2
در درخت انتخاب  فیزیک ، ریاضیات>  رابط های PDE>  فرم عمومی  PDE  (g) را انتخاب کنید .
3
روی افزودن کلیک کنید .
4
 روی Add  Dependent  Variable کلیک کنید .
5
در جدول متغیرهای وابسته ، تنظیمات زیر را وارد کنید:
 
ز
V
6
 روی مطالعه کلیک کنید .
7
در درخت انتخاب  مطالعه ، General  Studies>Time  Dependent را انتخاب کنید .
8
 روی Done کلیک کنید .
ریشه
1
در پنجره Model  Builder ، روی گره ریشه کلیک کنید.
2
در پنجره تنظیمات گره ریشه ، بخش Unit  System را پیدا کنید .
3
از لیست سیستم واحد  ، هیچکدام را انتخاب کنید .
از آنجایی که متغیرهای وابسته، Z و V ابعاد متفاوتی دارند، راحت است که پشتیبانی واحد را خاموش کنید و به جای آن واحدها را با دست پیگیری کنید.
تعاریف جهانی
پارامترهای 1
1
در پنجره Model  Builder ، در قسمت Global  Definitions روی Parameters  1 کلیک کنید .
2
در پنجره تنظیمات برای پارامترها ، بخش پارامترها را پیدا کنید .
3
در جدول تنظیمات زیر را وارد کنید:
 
نام
اصطلاح
ارزش
شرح
nu1
1e-6
1E-6
ویسکوزیته سینماتیکی (m^2/s)
x0
6
6
موقعیت خط الراس بستر دریا (متر)
آ
0.005
0.005
ارتفاع خط الراس بستر دریا (متر)
k1
0.0015
0.0015
پارامتر شیب بستر دریا
اهنگ
0.1
0.1
پارامتر تنظیم
هندسه 1
فاصله 1 (i1)
1
در پنجره Model  Builder ، در قسمت Component   (comp1) روی Geometry  1 کلیک راست کرده و Interval را انتخاب کنید .
2
در پنجره تنظیمات برای فاصله ، قسمت فاصله را بیابید .
3
در جدول تنظیمات زیر را وارد کنید:
 
مختصات
0
10
4
 روی Build  All  Objects کلیک کنید .
تعاریف
متغیرهای 1
1
در نوار ابزار صفحه اصلی ، روی  متغیرها کلیک کنید و متغیرهای محلی  را انتخاب کنید .
2
در پنجره تنظیمات برای متغیرها ، بخش متغیرها را پیدا کنید .
3
در جدول تنظیمات زیر را وارد کنید:
 
نام
اصطلاح
شرح
Zf
a*exp(-(x-x0)^2)+k1*x
پروفایل بستر دریا
dZfdx
d(Zf,x)
مشخصات بستر دریا، مشتق x
Zs
Z+Zf
سطح سطح دریا
Z0
0.02-Zf+0.005*exp(-(x-3)^2)
مشخصات عمق اولیه آب
vphase
abs(V)+sqrt(g_const*Z)
حداکثر سرعت انتشار موج
نه
nu1+vphase*h*tune
ویسکوزیته سینماتیکی موثر
در اینجا g_const یک ثابت از پیش تعریف شده برای شتاب گرانش است. با خاموش بودن پشتیبانی واحد، فقط مقدار عددی را در واحدهای SI می گیرد.
فرم عمومی PDE (G)
فرم عمومی PDE 1
1
در پنجره Model  Builder ، در قسمت Component   (comp1)>General  Form  PDE  (g) روی General  Form  PDE  1 کلیک کنید .
2
در پنجره تنظیمات برای فرم عمومی  PDE ، بخش Conservative Flux را پیدا کنید .
3
در آرایه فیلد متنی Γ ، V*Z را در ردیف اول تایپ کنید.
4
در آرایه فیلد متنی Γ ، -nu*Vx را در ردیف دوم تایپ کنید.
5
قسمت Source  Term را پیدا کنید . در آرایه فیلد متنی f ، 0 را در ردیف اول تایپ کنید.
6
در آرایه فیلد متنی f ، -g_const*(Zx+dZfdx)-V*Vx+nu*Vx*Zx/Z را در ردیف دوم تایپ کنید.
مقادیر اولیه 1
1
در پنجره Model  Builder ، روی مقادیر اولیه  1 کلیک کنید .
2
در پنجره تنظیمات برای مقادیر اولیه  ، قسمت مقادیر اولیه را پیدا کنید .
3
در قسمت متن Z ، Z0 را تایپ کنید .
محدودیت 1
1
در نوار ابزار Physics ، روی  Boundaries کلیک کنید و Constraint را انتخاب کنید .
2
در پنجره Graphics کلیک کنید و سپس Ctrl+A را فشار دهید تا هر دو مرز انتخاب شوند.
3
در پنجره تنظیمات برای Constraint ، قسمت Constraint را پیدا کنید .
4
در آرایه فیلد متنی R ، -V را در ردیف دوم تایپ کنید.
مش 1
لبه 1
در نوار ابزار Mesh ، روی  Edge کلیک کنید .
اندازه
1
در پنجره Model  Builder ، روی Size کلیک کنید .
2
در پنجره تنظیمات برای اندازه ، قسمت اندازه عنصر  را پیدا کنید .
3
روی دکمه Custom کلیک کنید .
4
قسمت پارامترهای اندازه عنصر  را پیدا کنید . در قسمت متن حداکثر اندازه عنصر ، 0.05 را تایپ کنید .
5
 روی ساخت  همه کلیک کنید .
مطالعه 1
مرحله 1: وابسته به زمان
1
در پنجره Model  Builder ، در بخش مطالعه  1 ، روی Step  1:  Time  Dependent کلیک کنید .
2
در پنجره تنظیمات مربوط به زمان  وابسته ، قسمت تنظیمات مطالعه  را پیدا کنید .
3
در قسمت متن زمان خروجی  ، range(0,60) را تایپ کنید .
4
از لیست Tolerance ، User  controlled را انتخاب کنید .
5
در قسمت متنی Relative  tolerance ، 1e-5 را تایپ کنید .
راه حل 1 (sol1)
1
در نوار ابزار مطالعه ، روی  Show  Default  Solver کلیک کنید .
2
در پنجره Model  Builder ، گره Solution   (sol1) را گسترش دهید ، سپس روی Time-Dependent  Solver  1 کلیک کنید .
3
در پنجره تنظیمات برای حل وابسته به زمان  ، برای گسترش بخش تحمل مطلق کلیک کنید .
4
از لیست روش تحمل  ، دستی را انتخاب کنید .
5
در قسمت متنی Absolute  tolerance ، 1e-7 را تایپ کنید .
6
در نوار ابزار مطالعه ،  روی محاسبه کلیک کنید .
نتایج
گروه طرح 1 بعدی 1
1
در پنجره تنظیمات برای گروه طرح 1 بعدی  ، قسمت Legend را پیدا کنید .
2
از لیست موقعیت ، پایین  سمت راست را انتخاب کنید .
نمودار خطی 1
1
در پنجره Model  Builder ، گره 1D  Plot  Group  1 را گسترش دهید ، سپس روی Line  Graph  1 کلیک کنید .
2
در پنجره تنظیمات برای نمودار خط  ، بخش داده را پیدا کنید .
3
از فهرست مجموعه داده ، مطالعه  1/راه حل   (sol1) را انتخاب کنید .
4
از لیست انتخاب زمان  ، از لیست را انتخاب کنید .
5
در لیست بارها  ، 0 را انتخاب کنید .
6
روی Replace  Expression در گوشه سمت راست بالای بخش y-Axis  Data کلیک کنید . از منو، Component   (comp1)>Definitions>Variables>Zf  –  Sea  bed  profile را انتخاب کنید .
7
برای گسترش بخش Legends کلیک کنید . تیک Show  legends را انتخاب کنید .
8
از فهرست Legends ، Manual را انتخاب کنید .
9
در جدول تنظیمات زیر را وارد کنید:
 
افسانه ها
Zf
10
در نوار ابزار 1D Plot Group 1 ، روی  Plot کلیک کنید .
جالب ترین بخش نتایج با نگاه کردن به متغیر جهانی Z s مربوط به توپوگرافی سطح در زمان های مختلف نسبت به توپوگرافی پایین به دست می آید.
نمودار خط 2
1
روی Results>1D  Plot  Group  1> Line  Graph  کلیک راست کرده و Duplicate را انتخاب کنید .
2
در پنجره تنظیمات برای نمودار خط  ، روی Replace Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component (comp1)>Definitions>Variables>Zs – Sea level level را انتخاب کنید .
3
قسمت Legends را پیدا کنید . در جدول تنظیمات زیر را وارد کنید:
 
افسانه ها
Zs (t = 0)
4
در نوار ابزار 1D Plot Group 1 ، روی  Plot کلیک کنید .
5
قسمت Data را پیدا کنید . 3 را در لیست Times  (s) انتخاب کنید .
6
قسمت Legends را پیدا کنید . در جدول تنظیمات زیر را وارد کنید:
 
افسانه ها
Zs (t = 3 s)
7
در نوار ابزار 1D Plot Group 1 ، روی  Plot کلیک کنید .
8
قسمت Data را پیدا کنید . 6 را در لیست Times  (s) انتخاب کنید .
9
قسمت Legends را پیدا کنید . در جدول تنظیمات زیر را وارد کنید:
 
افسانه ها
Zs (t = 6 s)
10
در نوار ابزار 1D Plot Group 1 ، روی  Plot کلیک کنید .
11
قسمت Data را پیدا کنید . 9 را در لیست Times  (s) انتخاب کنید .
12
قسمت Legends را پیدا کنید . در جدول تنظیمات زیر را وارد کنید:
 
افسانه ها
Zs (t = 9 ثانیه)
13
در نوار ابزار 1D Plot Group 1 ، روی  Plot کلیک کنید .
14
قسمت Data را پیدا کنید . در لیست بارها  ، 12 را انتخاب کنید .
15
قسمت Legends را پیدا کنید . در جدول تنظیمات زیر را وارد کنید:
 
افسانه ها
Zs (t = 12 s)
16
در نوار ابزار 1D Plot Group 1 ، روی  Plot کلیک کنید .
17
قسمت Data را پیدا کنید . در لیست Times  (s) 15 را انتخاب کنید .
18
قسمت Legends را پیدا کنید . در جدول تنظیمات زیر را وارد کنید:
 
افسانه ها
Zs (t = 15 ثانیه)
19
در نوار ابزار 1D Plot Group 1 ، روی  Plot کلیک کنید .