معرفی
معادلات آب کم عمق اغلب برای مدلسازی جریان سیال اقیانوسشناسی و جوی استفاده میشود. مدلهای چنین سیستمهایی منجر به پیشبینی مناطقی میشوند که در نهایت تحت تأثیر آلودگی، فرسایش ساحلی و ذوب شدن یخهای قطبی قرار میگیرند.
مدلسازی جامع چنین پدیدههایی با استفاده از توصیفهای فیزیکی مانند معادلات ناویر-استوکس، به دلیل مقیاس حوزههای مدلسازی و همچنین از طریق حل سطوح آزاد، اغلب میتواند مشکلساز باشد. معادلات آب کم عمق، که تعدادی نمایش از آنها وجود دارد، توصیف آسان تری از چنین پدیده هایی ارائه می دهد.
این مدل 1 بعدی نشست یک موج را بر روی یک بستر متغیر به عنوان تابعی از زمان بررسی می کند. موج اولیه و شکل بستر با روابط ریاضی نشان داده می شود به طوری که به راحتی می توان پارامترهایی مانند دامنه موج یا شکل بستر را تغییر داد.
این مثال از معادلات آب کم عمق Saint-Venant استفاده می کند که به شرح زیر است:
و
که در آن z ضخامت لایه آب (m)، v سرعت (m/s)، g ثابت گرانش (m/s 2 ) و ν ویسکوزیته سینماتیکی (m2 / s) است. تعریف ضخامت لایه آب، z ، z s − z f است ، که در آن z s و z f معیارهای شکل 1 زیر هستند. برای جزئیات بیشتر به رفرنس مراجعه کنید. 1 .
شکل 1: بخش عمودی نمایانگر از طریق حوزه سیال که بستر دریاچه و سطح آب را نشان می دهد.
تثبیت مصنوعی
با گذشت زمان، جریان ناپیوستگی هایی ایجاد می کند که به عنوان پرش های هیدرولیکی شناخته می شوند. از تثبیت مصنوعی برای جایگزینی جهش ها با جبهه های شیب دار استفاده کنید که می توانند روی شبکه حل شوند. امواج با دامنه کوچک روی آب ساکن در عمق z با سرعت حرکت می کنند . حداکثر سرعت انتشار برای امواج آب است.
محلول را با افزودن ویسکوزیته مصنوعی انتخاب شده برای ایجاد عدد رینولدز سلول با وحدت مرتبه تثبیت کنید. برای انجام این کار، عبارت tune v فاز h را به ویسکوزیته سینماتیکی ν اضافه کنید . در اینجا، tune یک پارامتر تنظیم O(1) و h اندازه عنصر محلی است. شما سهم را به عبارت واگرایی قانون حفاظت اضافه می کنید تا بر سرعت ضربه تأثیر نگذارد. اصلاح در اندازه عنصر مرتبه اول است.
تعریف مدل
این برنامه یک مثال ساده از آب کم عمق را در یک کانال با توپوگرافی پایین نشان داده شده در شکل 1 مطالعه می کند . به تفاوت مقیاس بین جهت x و y توجه کنید .
شکل 2: پروفیل بستر دریا، z f ، استفاده شده در مدل.
محدودیت ها ( v = 0 ) در هر دو انتها اعمال می شوند، در حالی که فیزیک با معادلات بالا توضیح داده شده است. شرط اولیه یک پروفایل موج است که عبارت زیر آن را تعریف می کند:
که در آن z f عبارت تحلیلی برای پروفایل بستر دریا است ( شکل 2 را ببینید ). ارتفاع سطح آب z + z f است ، در حالی که شکل 3 z 0 + z f را نشان می دهد .
شکل 3: نیمرخ اولیه سطح آب، z 0 + z f ، و نیمرخ بستر دریا، z f .
نتایج و بحث
شبیه سازی به مدت 60 ثانیه اجرا می شود. شکل 4 سطح آب و شیب بستر دریا را در شش زمان خروجی به سمت شروع شبیه سازی نشان می دهد.
شکل 4: سطح آب و شیب بستر دریا در شش زمان خروجی. بازه زمانی از t = 0 تا t = 15 در مراحل 3 ثانیه است.
شبیه سازی به وضوح تأثیر توپوگرافی بستر دریا را بر ارتفاع سطح آب نشان می دهد. یکی دیگر از تجسم های جالب نتایج، یک انیمیشن است که با استفاده از COMSOL Multiphysics به راحتی ایجاد می شود.
نکاتی درباره پیاده سازی COMSOL
روش مدلسازی با استفاده از رابط PDE فرم عمومی با دو متغیر وابسته: Z و V ساده است . به راحتی می توان عباراتی را تعریف کرد، مانند عبارتی که نمایه موج اولیه، z 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 1 (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 1 (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 1 (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/راه حل 1 (sol1) را انتخاب کنید .
|
4
|
از لیست انتخاب زمان ، از لیست را انتخاب کنید .
|
5
|
در لیست بارها ، 0 را انتخاب کنید .
|
6
|
روی Replace Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (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 1 کلیک راست کرده و Duplicate را انتخاب کنید .
|
2
|
در پنجره تنظیمات برای نمودار خط ، روی Replace Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (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 کلیک کنید .
|