بهینه سازی توپولوژی و تأیید حالت آکوستیک در یک اتاق دو بعدی
معرفی
این آموزش استفاده از بهینه سازی توپولوژی در آکوستیک را معرفی می کند. هدف از بهینه سازی یافتن توزیع بهینه مواد (جامد یا هوا) در یک حوزه طراحی معین، در اینجا سقف یک اتاق دو بعدی است که میانگین سطح فشار صوت را در یک منطقه هدف به حداقل می رساند. بهینه سازی برای یک فرکانس منفرد انجام می شود. طراحی بهینه شده توپولوژی بیشتر به یک هندسه تبدیل می شود و نتایج بهینه سازی با استفاده از مرزهای سخت صدا تأیید می شود. برای دستورالعملهایی در مورد نحوه انجام بهینهسازی برای باند فرکانسی، آموزش بهینهسازی شکل شاخ را ببینید.
این مدل از کار MB Dühring، O. Sigmund و J. Søndergaard Jensen الهام گرفته شده است ( مراجعه 1 ).
توجه: این برنامه به ماژول آکوستیک و ماژول بهینه سازی نیاز دارد.

شکل 1: طرح اولیه دارای یک گره فشار در لبه دامنه هدف است.
تعریف مدل
اتاق با منبع نقطه ای تک قطبی خارج می شود. سطح فشار اولیه صدا در شکل 1 نشان داده شده است . هدف به حداقل رساندن میانگین سطح فشار صوت در حوزه دایره ای نشان داده شده در شکل است. بهینه سازی مجاز به توزیع مواد در بالای اتاق (لایه ای از سقف) است. دامنه بالا محدود شده است که حداقل از 85٪ هوا تشکیل شده باشد، اما هیچ محدودیت دیگری وجود ندارد، بنابراین مواد لازم نیست به مرز بالایی متصل شوند.
حل کننده بهینه سازی مبتنی بر گرادیان، در ماژول بهینه سازی، به طور پیش فرض مشتقات تابع هدف را از طریق حل یک معادله الحاقی ارزیابی می کند . این روش مستلزم آن است که مشتق نمادین هر تابع غیرتحلیلی به روشی خاص انتخاب شود. رفتار پیشفرض توابع مرکب abs(z) و conj(z) که معمولاً برای بدست آوردن یک تابع هدف با ارزش واقعی استفاده میشوند، برگرداندن مشتق موازی به محور واقعی است. با این حال، این رفتار برای روش الحاقی مناسب نیست، جایی که به تعاریف نیاز دارید
(1)

در واقع میتوان مشتقات نمادین توابع داخلی را در COMSOL Multiphysics بازتعریف کرد، اما در این مورد استفاده از تابع ویژه
realdot ( z 1 , z 2 ) راحتتر است که به عنوان واقعی ارزیابی میشود ( z 1 ·conj ( z 2 )) اما طبق رابطه 1 متمایز می شود .
realdot ( z 1 , z 2 ) راحتتر است که به عنوان واقعی ارزیابی میشود ( z 1 ·conj ( z 2 )) اما طبق رابطه 1 متمایز می شود .
این مدل از ویژگی مدل چگالی برای حل مسئله بهینه سازی توپولوژی با استفاده از روش چگالی استفاده می کند. این بدان معنی است که هندسه به طور ضمنی با استفاده از پارامترهای مواد غیر فیزیکی تعریف می شود. مقدار محلی یک پارامتر ماده معین توسط مقدار محلی یک میدان متغیر کنترلی، θc که بین صفر و یک محدود شده است، با صفر مربوط به مقداری ماده جامد و یک به هوا تعیین میشود.
در زمینه بهینهسازی توپولوژی صوتی، درون یابی چگالی معکوس و مدول حجمی به صورت خطی رایج است، یعنی:
(2)

که ρ1 و K1 به ترتیب چگالی و مدول حجیم آلومینیوم هستند، در حالی که ρ2 و K2 خواص هوا هستند . هر جا که θ برابر با یک باشد، از خواص هوا استفاده می شود. θ ضریب حجم ماده است که به میدان متغیر کنترل، θc ، از طریق یک مرحله فیلتر کردن و طرح ریزی مرتبط است. بهینه سازی توپولوژی یک پرتو MBB را ببینیدبرای جزئیات در کتابخانه برنامه ماژول بهینه سازی مدل کنید. تفاوت اصلی این است که این مدل از محدودیت های فرز برای کاهش آزادی طراحی استفاده می کند. بهینهسازی توپولوژی صوتی میتواند به تغییرات کوچک طراحی حساس باشد، که به راحتی میتواند در طول پس پردازش نتایج بهینهسازی توپولوژی رخ دهد. برای کاهش این مسائل، یک استراتژی ادامه در شیب طرح ریزی β اعمال می شود . بنابراین، این مدل دنباله ای از مسائل بهینه سازی را حل می کند که از یک شیب طرح ریزی کم شروع می شود و با استفاده از نتایج بهینه سازی قبلی، بهینه سازی را با مقادیر بالاتر آغاز می کند.
نتایج و بحث
بهینهسازی توپولوژی با جابجایی یک گره فشار به داخل دامنه، به کاهش زیادی از میانگین سطح فشار صوت در حوزه هدف دست مییابد. نتیجه بهینه سازی توپولوژی بیشتر با استفاده از مجموعه داده فیلتر به یک جزء جدید منتقل می شود. در این مرحله یک هندسه جامد از راه حل بهینه شده تولید می شود. این باعث می شود که گره کمی جابجا شود، اما همچنان همانطور که در شکل 2 نشان داده شده است، از دامنه عبور می کند .

شکل 2: سطح فشار صوت پس از انتقال نتیجه بهینه سازی به یک جزء جدید با استفاده از مرزهای سخت صدا رسم می شود.
مقدار تابع هدف برای طیف وسیعی از فرکانس ها برای طراحی اولیه و همچنین طراحی بهینه شده توپولوژی (هم قبل و هم بعد از مرحله تأیید) محاسبه می شود. نمودار در شکل 3 رسم شده است . این نشان می دهد که هدف تنها در یک باند فرکانسی باریک در اطراف فرکانس بهینه سازی بهبود یافته است. به نظر نمی رسد مرحله تأیید باعث تغییر قابل توجه تابع هدف شود.

شکل 3: تابع هدف به عنوان تابعی از فرکانس برای طرح های اولیه و توپولوژی بهینه شده رسم شده است.
نکاتی درباره پیاده سازی COMSOL
این مدل از محدودیتهای فرز برای کاهش آزادی طراحی استفاده میکند، اما این همچنین باعث میشود که تابع هدف بدتر از آزادی طراحی بیشتر باشد.
ارجاع
1. MB Dühring، O. Sigmund و JS Jensen، بهینه سازی دستگاه های صوتی، نوری و اپتوالاستیک ، کیلوگرم. لینگبی، دانمارک: دانشگاه فنی دانمارک (DTU)، گزارش ویژه DCAMM شماره S109، 2009.
مسیر کتابخانه برنامه: Acoustics_Module/Optimization/topology_optimization_2d_room
دستورالعمل مدلسازی
از منوی File ، New را انتخاب کنید .
جدید
در پنجره جدید ، روی
Model Wizard کلیک کنید .

مدل جادوگر
1 | در پنجره Model Wizard روی ![]() |
2 | در درخت Select Physics ، Acoustics>Pressure Acoustics>Pressure Acoustics، Frequency Domain (acpr) را انتخاب کنید . |
3 | روی افزودن کلیک کنید . |
4 | ![]() |
5 | در درخت انتخاب مطالعه ، General Studies>Frequency Domain را انتخاب کنید . |
6 | ![]() |
تعاریف جهانی
پارامترهای 1
می توانید پارامترهای فهرست شده در زیر را تایپ کنید یا آنها را از topology_optimization_2d_room_parameters.txt بارگیری کنید .
1 | در پنجره Model Builder ، در قسمت Global Definitions روی Parameters 1 کلیک کنید . |
2 | در پنجره تنظیمات برای پارامترها ، بخش پارامترها را پیدا کنید . |
3 | در جدول تنظیمات زیر را وارد کنید: |
نام | اصطلاح | ارزش | شرح |
f0 | 34.5[Hz] | 34.5 هرتز | فرکانس برای بهینه سازی |
دبلیو | 18[m] | 18 متر | عرض اتاق |
اچ | 9[m] | 9 متر | ارتفاع اتاق |
dH | 1[m] | 1 متر | طراحی ارتفاع دامنه |
غارت | 1[m] | 1 متر | شعاع دامنه هدف |
قدرت | 16[m] | 16 متر | دامنه هدف X مختصات |
رول | 2[m] | 2 متر | دامنه هدف y مختصات |
rho1 | 1.204 [kg/m^3] | 1.204 کیلوگرم بر متر مکعب | تراکم هوا |
K1 | 141.921e3 [Pa] | 1.4192E5 Pa | مدول حجم هوا |
rho2 | 2643.0 [kg/m^3] | 2643 کیلوگرم بر متر مکعب | چگالی آلومینیوم |
K2 | 68.7 [GPa] | 6.87E10 Pa | مدول حجیم آلومینیومی |
ولفرک | 0.85 | 0.85 | کسر حجمی دامنه را طراحی کنید |
alpha_K | 0.001 | 0.001 | ضریب میرایی |
hmax | 0.3 | 0.3 | حداکثر اندازه عنصر |
rmin | 0.1 * hmax | 0.03 | حداقل اندازه عنصر |
بتا | 32 | 32 | شیب پروجکشن |
هندسه 1
مستطیل 1 (r1)
1 | در نوار ابزار Geometry ، روی ![]() |
2 | در پنجره تنظیمات برای Rectangle ، بخش Size and Shape را پیدا کنید . |
3 | در قسمت متن Width ، W را تایپ کنید . |
4 | در قسمت متن ارتفاع ، H را تایپ کنید . |
5 | برای گسترش بخش لایه ها کلیک کنید . در جدول تنظیمات زیر را وارد کنید: |
نام لایه | ضخامت (متر) |
لایه 1 | dH |
6 | تیک Layers on bottom را پاک کنید . |
7 | تیک Layers on top را انتخاب کنید . |
دایره 1 (c1)
1 | در نوار ابزار Geometry ، روی ![]() |
2 | در پنجره تنظیمات دایره ، بخش اندازه و شکل را پیدا کنید . |
3 | در قسمت متن Radius ، Rob را تایپ کنید . |
4 | قسمت Position را پیدا کنید . در قسمت متن x ، xob را تایپ کنید . |
5 | در قسمت متن y ، yob را تایپ کنید . |
6 | قسمت Selections of Resulting Entities را پیدا کنید . تیک گزینه Resulting objects selection را انتخاب کنید . |
نقطه 1 (pt1)
1 | در نوار ابزار هندسه ، روی ![]() |
2 | در پنجره تنظیمات برای Point ، بخش Point را پیدا کنید . |
3 | در قسمت متن x ، 2 را تایپ کنید . |
4 | در قسمت متن y ، 2 را تایپ کنید . |
5 | قسمت Selections of Resulting Entities را پیدا کنید . تیک گزینه Resulting objects selection را انتخاب کنید . |
فرم اتحادیه (فین)
1 | در پنجره Model Builder ، روی Form Union (fin) کلیک کنید . |
2 | در پنجره تنظیمات Form Union/Assembly ، روی ![]() |
دامنه طراحی
1 | در نوار ابزار Geometry ، روی ![]() |
2 | در پنجره تنظیمات برای انتخاب کادر ، Design Domain را در قسمت نوشتار Label تایپ کنید . |
3 | قسمت Box Limits را پیدا کنید . در قسمت حداقل متن y ، H-dH/2 را تایپ کنید . |
آکوستیک فشار، دامنه فرکانس (ACPR)
آکوستیک فشار 1
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1)>Pressure Acoustics، Frequency Domain (acpr) روی Pressure Acoustics 1 کلیک کنید . |
2 | در پنجره تنظیمات برای آکوستیک فشار ، بخش مدل آکوستیک فشار را پیدا کنید . |
3 | از لیست Specify ، مدول حجمی و چگالی را انتخاب کنید . |
4 | از لیست K ، User defined را انتخاب کنید . در قسمت متن مرتبط، K1*(1+alpha_K*i) را تایپ کنید . |
5 | از لیست ρ ، User defined را انتخاب کنید . در قسمت متن مرتبط، rho1 را تایپ کنید . |
منبع نقطه ای تک قطبی 1
1 | در نوار ابزار Physics ، روی ![]() |
2 | در پنجره تنظیمات برای منبع نقطه مونوپول ، بخش انتخاب نقطه را پیدا کنید . |
3 | از لیست انتخاب ، نقطه 1 را انتخاب کنید . |
4 | قسمت Point Source را پیدا کنید . در قسمت متن Q S ، 0.02 را تایپ کنید . |
مش 1
مثلثی رایگان 1
در نوار ابزار Mesh ، روی
Free Triangular کلیک کنید .

سایز 1
1 | روی Free Triangular 1 کلیک راست کرده و Size را انتخاب کنید . |
2 | در پنجره تنظیمات برای اندازه ، قسمت انتخاب موجودیت هندسی را پیدا کنید . |
3 | از لیست سطح نهاد هندسی ، دامنه را انتخاب کنید . |
4 | از لیست انتخاب ، Design Domain را انتخاب کنید . |
5 | برای گسترش بخش پارامترهای اندازه عنصر کلیک کنید . بخش اندازه عنصر را پیدا کنید . روی دکمه Custom کلیک کنید . |
6 | قسمت پارامترهای اندازه عنصر را پیدا کنید . |
7 | کادر انتخاب حداکثر اندازه عنصر را انتخاب کنید . در قسمت متن مرتبط، hmax/2 را تایپ کنید . |
سایز ۲
1 | در پنجره Model Builder ، روی Free Triangular 1 کلیک راست کرده و Size را انتخاب کنید . |
2 | در پنجره تنظیمات برای اندازه ، قسمت انتخاب موجودیت هندسی را پیدا کنید . |
3 | از لیست سطح نهاد هندسی ، نقطه را انتخاب کنید . |
4 | از لیست انتخاب ، نقطه 1 را انتخاب کنید . |
5 | بخش اندازه عنصر را پیدا کنید . روی دکمه Custom کلیک کنید . |
6 | قسمت پارامترهای اندازه عنصر را پیدا کنید . |
7 | کادر انتخاب حداکثر اندازه عنصر را انتخاب کنید . در قسمت متن مرتبط، 0.1*hmax را تایپ کنید . |
اندازه
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1)>Mesh 1 روی Size کلیک کنید . |
2 | در پنجره تنظیمات برای اندازه ، کلیک کنید تا بخش پارامترهای اندازه عنصر گسترش یابد . |
3 | در قسمت حداکثر اندازه عنصر ، hmax را تایپ کنید . |
4 | ![]() |
تعاریف
تابع هدف
1 | در نوار ابزار تعاریف ، روی ![]() |
2 | در پنجره تنظیمات برای Domain Probe ، Objective Function را در قسمت نوشتار Label تایپ کنید . |
3 | در قسمت متن نام متغیر ، obj را تایپ کنید . |
4 | بخش انتخاب منبع را پیدا کنید . از لیست انتخاب ، دایره 1 را انتخاب کنید . |
عملگر realdot تحلیلی است، بنابراین اگر از آن برای تعریف کاوشگر استفاده کنیم، می توان از آن به عنوان تابع هدف بدون فعال کردن تقسیم متغیرهای پیچیده استفاده کرد.
5 | قسمت Expression را پیدا کنید . در قسمت متن Expression ، 0.5*realdot(p,p)/acpr.pref_SPL^2 را تایپ کنید . |
مطالعه 1
مرحله 1: دامنه فرکانس
1 | در پنجره Model Builder ، در بخش مطالعه 1 ، روی مرحله 1: دامنه فرکانس کلیک کنید . |
2 | در پنجره تنظیمات دامنه فرکانس ، بخش تنظیمات مطالعه را پیدا کنید . |
3 | ![]() |
4 | در کادر محاورهای Range ، 24 را در قسمت متن شروع تایپ کنید . |
5 | در قسمت متن Step ، 0.1 را تایپ کنید . |
6 | در قسمت متن توقف ، 42 را تایپ کنید . |
7 | روی Replace کلیک کنید . |
8 | در پنجره تنظیمات برای دامنه فرکانس ، برای گسترش بخش Results while Solving کلیک کنید . |
9 | از لیست Probes ، هیچکدام را انتخاب کنید . |
10 | در پنجره Model Builder ، روی Study 1 کلیک کنید . |
11 | در پنجره تنظیمات برای مطالعه ، Study 1 – Initial Design را در قسمت نوشتار Label تایپ کنید . |
12 | در نوار ابزار صفحه اصلی ، ![]() |
نتایج
فشار صوتی (acpr)
1 | در پنجره Settings for 2D Plot Group ، بخش Data را پیدا کنید . |
2 | از لیست مقدار پارامتر (فرکانس (Hz)) ، 34.5 را انتخاب کنید . |
3 | در نوار ابزار فشار صوتی (acpr) ، روی ![]() |
سطح فشار صدا (ACPR)
1 | در پنجره Model Builder ، روی Sound Pressure Level (acpr) کلیک کنید . |
2 | در پنجره Settings for 2D Plot Group ، بخش Data را پیدا کنید . |
3 | از لیست مقدار پارامتر (فرکانس (Hz)) ، 34.5 را انتخاب کنید . |
4 | در نوار ابزار Sound Pressure Level (acpr) ، روی ![]() |
5 | ![]() |
فشار آکوستیک (acpr)، سطح فشار صدا (acpr)
1 | در پنجره Model Builder ، در بخش Results ، روی Ctrl کلیک کنید تا فشار صوتی (acpr) و سطح فشار صدا (acpr) را انتخاب کنید . |
2 | کلیک راست کرده و Group را انتخاب کنید . |
مطالعه 1 – طراحی اولیه
در پنجره تنظیمات گروه ، Study 1 – Initial Design را در قسمت نوشتار Label تایپ کنید .
جزء 1 (COMP1)
بهینه سازی توپولوژی را با افزودن یک مدل چگالی تنظیم کنید و چگالی معکوس و مدول حجم معکوس را به صورت خطی درون یابی کنید.
تراکم مدل 1 (dtopo1)
1 | در نوار ابزار تعاریف ، روی ![]() |
2 | در پنجره تنظیمات برای مدل چگالی ، قسمت انتخاب موجودیت هندسی را پیدا کنید . |
3 | از لیست انتخاب ، Design Domain را انتخاب کنید . |
4 | قسمت Filtering را پیدا کنید . از لیست R min ، User defined را انتخاب کنید . |
5 | در قسمت متن، hmax را تایپ کنید . |
از محدودیت های فرز برای محدود کردن آزادی طراحی استفاده کنید.
6 | برای گسترش بخش Milling کلیک کنید . از لیست محدودیت های آسیاب ، Enabled را انتخاب کنید . |
7 | در جدول تنظیمات زیر را وارد کنید: |
ایکس | Y |
0 | -1 |
8 | بخش Projection را پیدا کنید . از لیست نوع Projection ، طرح تانژانت Hyperbolic را انتخاب کنید . |
9 | در قسمت متن β ، بتا را تایپ کنید . |
10 | بخش Interpolation را پیدا کنید . از لیست نوع درون یابی ، خطی را انتخاب کنید . |
11 | قسمت Control Variable Discretization را پیدا کنید . از لیست ترتیب عناصر ، Constant را انتخاب کنید . |
12 | قسمت Control Variable Initial Value را پیدا کنید . در قسمت متن θ 0 ، 1 را تایپ کنید . |
مرز مواد تجویز شده 1
1 | در نوار ابزار تعاریف ، روی ![]() |
2 | فقط مرز 4 را انتخاب کنید. |
تعاریف
طراحی متغیرهای دامنه
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1) روی Definitions کلیک راست کرده و Variables را انتخاب کنید . |
2 | در پنجره تنظیمات برای متغیرها ، Design Domain Variables را در قسمت نوشتار Label تایپ کنید . |
3 | قسمت انتخاب موجودیت هندسی را پیدا کنید . از لیست سطح نهاد هندسی ، دامنه را انتخاب کنید . |
4 | از لیست انتخاب ، Design Domain را انتخاب کنید . |
5 | قسمت Variables را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
نام | اصطلاح | واحد | شرح |
put_inv | 1/(1/rho2+dtopo1.theta_p*(1/rho1-1/rho2)) | کیلوگرم بر متر مکعب | طراحی تراکم دامنه |
Kd_inv | 1/(1/K2+dtopo1.theta_p*(1/K1-1/K2)) | پا | مدول حجمی دامنه را طراحی کنید |
آکوستیک فشار، دامنه فرکانس (ACPR)
آکوستیک فشار (حوزه طراحی)
1 | در نوار ابزار Physics ، روی ![]() |
2 | در پنجره تنظیمات برای آکوستیک فشار ، فشار آکوستیک (دامنه طراحی) را در قسمت نوشتار برچسب تایپ کنید . |
3 | قسمت انتخاب دامنه را پیدا کنید . از لیست انتخاب ، Design Domain را انتخاب کنید . |
4 | بخش مدل آکوستیک فشار را پیدا کنید . از لیست Specify ، مدول حجمی و چگالی را انتخاب کنید . |
5 | از لیست K ، User defined را انتخاب کنید . در قسمت متن مرتبط، Kd_inv*(1+alpha_K*i) را تایپ کنید . |
6 | از لیست ρ ، User defined را انتخاب کنید . در قسمت متن مرتبط، rhod_inv را تایپ کنید . |
ویژگی را در مطالعه اول غیرفعال کنید.
مطالعه 1 – طراحی اولیه
مرحله 1: دامنه فرکانس
1 | در پنجره Model Builder ، در مطالعه 1 – Initial Design، روی Step 1: Frequency Domain کلیک کنید . |
2 | در پنجره تنظیمات برای دامنه فرکانس ، قسمت Physics and Variables Selection را پیدا کنید . |
3 | تیک Modify model configuration for study step را انتخاب کنید . |
4 | در درخت، Component 1 (comp1)> Pressure Acoustics، Frequency Domain (acpr)> Pressure Acoustics (Design Domain) را انتخاب کنید . |
5 | ![]() |
اضافه کردن مطالعه
1 | در نوار ابزار Home ، روی ![]() |
2 | به پنجره Add Study بروید . |
3 | زیربخش مطالعات را پیدا کنید . در درخت انتخاب مطالعه ، General Studies>Frequency Domain را انتخاب کنید . |
4 | روی Add Study در نوار ابزار پنجره کلیک کنید . |
5 | در نوار ابزار Home ، روی ![]() |
مطالعه 2
مرحله 1: دامنه فرکانس
1 | در پنجره تنظیمات دامنه فرکانس ، بخش تنظیمات مطالعه را پیدا کنید . |
2 | در قسمت متن فرکانس ها ، f0 را تایپ کنید . |
بهینه سازی توپولوژی
1 | در نوار ابزار مطالعه ، روی ![]() |
2 | در پنجره تنظیمات برای بهینه سازی توپولوژی ، بخش Optimization Solver را پیدا کنید . |
3 | در قسمت حداکثر تعداد تکرار ، 50 را تایپ کنید . |
4 | روی Add Expression در گوشه سمت راست بالای بخش Objective Function کلیک کنید . از منو، Component 1 (comp1)>Definitions>comp1.obj – Objective Function را انتخاب کنید . |
5 | قسمت Objective Function را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | شرح |
log10(comp1.obj) | دامنه هدف SPL |
6 | روی Add Expression در گوشه سمت راست بالای بخش Constraints کلیک کنید . از منو، Component 1 (comp1)>Definitions>Density Model 1>Global>comp1.dtopo1.theta_avg – میانگین ضریب حجم مواد را انتخاب کنید . |
7 | قسمت Constraints را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | کران پایین | کران بالا |
comp1.dtopo1.theta_avg | ولفرک |
8 | قسمت Output while Solving را پیدا کنید . از لیست Probes ، هیچکدام را انتخاب کنید . |
مطالعه را آغاز کنید تا یک طرح برای استفاده در حین حل ایجاد کنید.
9 | در نوار ابزار مطالعه ، ![]() |
نتایج
فشار آکوستیک (acpr) 1، سطح فشار صدا (acpr) 1
در پنجره Model Builder ، در بخش Results ، روی Ctrl کلیک کنید تا Acoustic Pressure (acpr) 1 و Sound Pressure Level (acpr) 1 را انتخاب کنید .
فشار آکوستیک (acpr) 1
روی Topology Optimization بکشید و رها کنید .
مطالعه 2 – بهینه سازی توپولوژی
1 | در پنجره Model Builder ، در زیر Results روی Topology Optimization کلیک کنید . |
2 | در پنجره تنظیمات گروه ، Study 2 – Topology Optimization را در قسمت نوشتار Label تایپ کنید . |
سطح 1
1 | در پنجره Model Builder ، گره Threshold را گسترش دهید ، سپس روی Surface 1 کلیک کنید . |
2 | در پنجره تنظیمات برای Surface ، روی Replace Expression در گوشه سمت راست بالای بخش Expression کلیک کنید . از منو، Component 1 (comp1)>Pressure Acoustics، Frequency Domain>Pressure and sound presion level>acpr.Lp_t – Total Pressure sound – dB را انتخاب کنید . |
3 | قسمت Coloring and Style را پیدا کنید . از فهرست رنگآمیزی ، جدول رنگ را انتخاب کنید . |
مطالعه 2
بهینه سازی توپولوژی
1 | در پنجره Model Builder ، در زیر مطالعه 2، روی Topology Optimization کلیک کنید . |
2 | در پنجره تنظیمات برای بهینه سازی توپولوژی ، بخش خروجی هنگام حل را پیدا کنید . |
3 | کادر Plot را انتخاب کنید . |
4 | از لیست گروه Plot ، آستانه را انتخاب کنید . |
برای کاهش زمان محاسباتی از حلگر جدا استفاده کنید .
تنظیمات حل کننده
در پنجره Model Builder ، گره Study 2>Solver Configurations را گسترش دهید .
راه حل 2 (sol2)
1 | در پنجره Model Builder ، گره Study 2>Solver Configurations>Solution 2 (sol2)>Optimization Solver 1 را گسترش دهید . |
2 | روی Stationary 1 کلیک راست کرده و Segregated را انتخاب کنید . |
3 | در پنجره تنظیمات برای Segregated ، بخش General را پیدا کنید . |
4 | از لیست تکنیک پایان ، Iterations را انتخاب کنید . |
5 | روی Segregated 1 کلیک راست کرده و دو بار Segregated Step را انتخاب کنید . |
6 | در پنجره Settings برای Segregated Step ، در قسمت Label گزینه Optimization را تایپ کنید . |
7 | قسمت General را پیدا کنید . در لیست متغیرها ، ضریب حجم مواد آسیاب (comp1.dtopo1.theta_m1) و فشار (comp1.p) را انتخاب کنید . |
8 | در قسمت متغیرها ، ![]() |
9 | در پنجره Model Builder ، در قسمت Study 2>Solver Configurations>Solution 2 (sol2)> Optimization Solver 1>Stationary 1>Segregated 1 روی Segregated Step 1 کلیک کنید . |
10 | در پنجره Settings برای Segregated Step ، Milling را در قسمت نوشتار Label تایپ کنید . |
11 | قسمت General را پیدا کنید . در قسمت متغیرها ، روی ![]() |
12 | در کادر محاوره ای افزودن ، ضریب حجم مواد آسیاب (comp1.dtopo1.theta_m1) را در لیست متغیرها انتخاب کنید . |
13 | روی OK کلیک کنید . |
14 | در پنجره Model Builder ، در قسمت Study 2>Solver Configurations>Solution 2 (sol2)> Optimization Solver 1>Stationary 1>Segregated 1 روی Segregated Step 2 کلیک کنید . |
15 | در پنجره تنظیمات برای مرحله جدا شده ، Acoustics را در قسمت متن برچسب تایپ کنید . |
16 | قسمت General را پیدا کنید . در قسمت متغیرها ، روی ![]() |
17 | در کادر محاوره ای افزودن ، فشار (comp1.p) را در لیست متغیرها انتخاب کنید . |
18 | روی OK کلیک کنید . |
19 | در پنجره Model Builder ، روی Study 2 کلیک کنید . |
20 | در پنجره تنظیمات برای مطالعه ، Study 2 – Topology Optimization را در قسمت نوشتار Label تایپ کنید . |
21 | بخش تنظیمات مطالعه را پیدا کنید . تیک Generate defaults defaults را پاک کنید . |
از یک Sweep پارامتریک برای انجام ادامه در پارامتر شیب طرح بتا استفاده کنید .
جاروی پارامتریک
1 | در نوار ابزار مطالعه ، روی ![]() |
2 | در پنجره تنظیمات برای جابجایی پارامتری ، بخش تنظیمات مطالعه را پیدا کنید . |
3 | ![]() |
4 | در جدول تنظیمات زیر را وارد کنید: |
نام پارامتر | لیست مقادیر پارامتر | واحد پارامتر |
بتا (شیب طرح ریزی) | 4 8 16 32 |
5 | قسمت Output while Solving را پیدا کنید . از لیست Probes ، هیچکدام را انتخاب کنید . |
6 | برای گسترش بخش تنظیمات پیشرفته کلیک کنید . گزینه استفاده مجدد از مرحله قبل را انتخاب کنید . |
7 | در نوار ابزار مطالعه ، ![]() |
ریشه
یک مطالعه برای تولید طیف برای طراحی بهینه شده توپولوژی اضافه کنید.
اضافه کردن مطالعه
1 | در نوار ابزار مطالعه ، روی ![]() |
2 | به پنجره Add Study بروید . |
3 | زیربخش مطالعات را پیدا کنید . در درخت انتخاب مطالعه ، General Studies>Frequency Domain را انتخاب کنید . |
4 | روی Add Study در نوار ابزار پنجره کلیک کنید . |
5 | در نوار ابزار مطالعه ، روی ![]() |
مطالعه 3
مرحله 1: دامنه فرکانس
1 | در پنجره تنظیمات دامنه فرکانس ، بخش Results When Solving را پیدا کنید . |
2 | از لیست Probes ، هیچکدام را انتخاب کنید . |
3 | قسمت Physics and Variables Selection را پیدا کنید . در جدول، کادر حل برای بهینه سازی توپولوژی (کامپوننت 1) را پاک کنید . |
4 | برای گسترش بخش Values of Dependent Variables کلیک کنید . مقادیر متغیرهای حل نشده را برای بخش فرعی پیدا کنید . از لیست تنظیمات ، کنترل کاربر را انتخاب کنید . |
5 | از لیست روش ، راه حل را انتخاب کنید . |
6 | از لیست مطالعه ، مطالعه 2 – بهینه سازی توپولوژی ، دامنه فرکانس را انتخاب کنید . |
7 | بخش تنظیمات مطالعه را پیدا کنید . روی Range کلیک کنید . ![]() |
8 | در کادر محاورهای Range ، 24 را در قسمت متن شروع تایپ کنید . |
9 | در قسمت متن Step ، 0.1 را تایپ کنید . |
10 | در قسمت متن توقف ، 42 را تایپ کنید . |
11 | روی Replace کلیک کنید . |
12 | در پنجره Model Builder ، روی Study 3 کلیک کنید . |
13 | در پنجره تنظیمات برای مطالعه ، Study 3 – Optimized Spectrum را در قسمت نوشتار Label تایپ کنید . |
14 | بخش تنظیمات مطالعه را پیدا کنید . تیک Generate defaults defaults را پاک کنید . |
15 | در نوار ابزار مطالعه ، ![]() |
نتایج
برای تجسم تابع هدف به عنوان تابعی از فرکانس، یک گروه طرح 1 بعدی اضافه کنید.
مقایسه پاسخ
1 | در نوار ابزار صفحه اصلی ، روی ![]() |
2 | در پنجره تنظیمات برای گروه طرح 1 بعدی ، مقایسه پاسخ را در قسمت نوشتار برچسب تایپ کنید . |
3 | برای گسترش بخش عنوان کلیک کنید . از لیست نوع عنوان ، دستی را انتخاب کنید . |
4 | در قسمت متن عنوان ، SPL را در Objective Domain تایپ کنید . |
جهانی 1
1 | روی Response Comparison کلیک راست کرده و Global را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، روی Add Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (comp1)>Definitions>obj – Objective Function را انتخاب کنید . |
3 | قسمت y-Axis Data را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
10*log10(obj) | طراحی اولیه |
4 | برای گسترش بخش Coloring and Style کلیک کنید . از لیست Width ، 2 را انتخاب کنید . |
جهانی 2
1 | روی Global 1 کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، بخش داده را پیدا کنید . |
3 | از فهرست مجموعه داده ، مطالعه 3 – طیف بهینه شده /راه حل 8 (sol8) را انتخاب کنید . |
4 | قسمت y-Axis Data را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
10*log10(obj) | بهینه سازی توپولوژی |
برای تأیید اینکه نتیجه بهینهسازی قابل اعتماد است، جزء دوم را با مرزهای سخت اضافه کنید.
فیلتر کنید
هندسه صادراتی صاف تر می شود، اگر ضریب حجم مواد آسیاب به جای ضریب حجم مواد (پیش بینی شده) استفاده شود.
1 | در پنجره Model Builder ، گره Results>Datasets را گسترش دهید ، سپس روی Filter کلیک کنید . |
2 | در پنجره تنظیمات برای فیلتر ، بخش Expression را پیدا کنید . |
3 | در قسمت Expression text if(isdefined(dtopo1.theta_m)، dtopo1.theta_m، 1) را تایپ کنید . |
4 | بخش ارزیابی را پیدا کنید . از فهرست هموارسازی ، Inside Material domains را انتخاب کنید . |
5 | تیک استفاده از مشتقات را انتخاب کنید . |
6 | ![]() |
7 | روی Results>Datasets>Filter کلیک راست کرده و Create Mesh Part را انتخاب کنید . |
مش قسمت 1
واردات 1
1 | در پنجره تنظیمات برای واردات ، بخش واردات را پیدا کنید . |
2 | روی Import کلیک کنید . |
3 | ![]() |
4 | در پنجره Model Builder ، روی Mesh Part 1 راست کلیک کرده و Create Geometry را انتخاب کنید . |
فیزیک را اضافه کنید
1 | در نوار ابزار Home ، روی ![]() |
2 | به پنجره Add Physics بروید . |
3 | در درخت، Acoustics>Pressure Acoustics>Pressure Acoustics، Frequency Domain (acpr) را انتخاب کنید . |
4 | رابط های فیزیک را در زیربخش مطالعه پیدا کنید . در جدول، کادرهای حل برای مطالعه 1 – طراحی اولیه ، مطالعه 2 – بهینه سازی توپولوژی و مطالعه 3 – طیف بهینه شده را پاک کنید . |
5 | روی Add to Component 2 در نوار ابزار پنجره کلیک کنید . |
6 | در نوار ابزار Home ، روی ![]() |
آکوستیک فشار، دامنه فرکانس 2 (ACPR2)
آکوستیک فشار 1
1 | در پنجره Model Builder ، در قسمت Component 2 (comp2)>Pressure Acoustics، Frequency Domain 2 (acpr2) روی Pressure Acoustics 1 کلیک کنید . |
2 | در پنجره تنظیمات برای آکوستیک فشار ، بخش مدل آکوستیک فشار را پیدا کنید . |
3 | از لیست Specify ، مدول حجمی و چگالی را انتخاب کنید . |
4 | از لیست K ، User defined را انتخاب کنید . در قسمت متن مرتبط، K1*(1+alpha_K*i) را تایپ کنید . |
5 | از لیست ρ ، User defined را انتخاب کنید . در قسمت متن مرتبط، rho1 را تایپ کنید . |
منبع نقطه ای تک قطبی 1
1 | در نوار ابزار Physics ، روی ![]() |
2 | در پنجره تنظیمات برای منبع نقطه مونوپول ، بخش انتخاب نقطه را پیدا کنید . |
3 | از لیست انتخاب ، نقطه 1 (وارد کردن 1) را انتخاب کنید . |
4 | قسمت Point Source را پیدا کنید . در قسمت متن Q S ، 0.02 را تایپ کنید . |
مش 2
مثلثی رایگان 1
در نوار ابزار Mesh ، روی
Free Triangular کلیک کنید .

سایز 1
1 | روی Free Triangular 1 کلیک راست کرده و Size را انتخاب کنید . |
2 | در پنجره تنظیمات برای اندازه ، قسمت انتخاب موجودیت هندسی را پیدا کنید . |
3 | از لیست سطح نهاد هندسی ، نقطه را انتخاب کنید . |
4 | از لیست انتخاب ، نقطه 1 (وارد کردن 1) را انتخاب کنید . |
5 | بخش اندازه عنصر را پیدا کنید . روی دکمه Custom کلیک کنید . |
6 | قسمت پارامترهای اندازه عنصر را پیدا کنید . |
7 | کادر انتخاب حداکثر اندازه عنصر را انتخاب کنید . در قسمت متن مرتبط، 0.1*hmax را تایپ کنید . |
اندازه
1 | در پنجره Model Builder ، در قسمت Component 2 (comp2)>Mesh 2 روی Size کلیک کنید . |
2 | در پنجره تنظیمات برای اندازه ، قسمت پارامترهای اندازه عنصر را پیدا کنید . |
3 | در قسمت حداکثر اندازه عنصر ، hmax را تایپ کنید . |
4 | ![]() |
تعاریف (COMP2)
تابع هدف
1 | در نوار ابزار تعاریف ، روی ![]() |
2 | در پنجره تنظیمات برای Domain Probe ، Objective Function را در قسمت نوشتار Label تایپ کنید . |
3 | در قسمت متن نام متغیر ، obj را تایپ کنید . |
4 | بخش انتخاب منبع را پیدا کنید . از لیست انتخاب ، دایره 1 (وارد کردن 1) را انتخاب کنید . |
5 | قسمت Expression را پیدا کنید . در قسمت متن Expression ، 0.5*realdot(p2,p2)/acpr2.pref_SPL^2 را تایپ کنید . |
اضافه کردن مطالعه
1 | در نوار ابزار Home ، روی ![]() |
2 | به پنجره Add Study بروید . |
3 | زیربخش مطالعات را پیدا کنید . در درخت انتخاب مطالعه ، General Studies>Frequency Domain را انتخاب کنید . |
4 | رابط های فیزیک را در زیربخش مطالعه پیدا کنید . در جدول، کادر حل را برای فشار آکوستیک، دامنه فرکانس (acpr) پاک کنید . |
5 | روی Add Study در نوار ابزار پنجره کلیک کنید . |
6 | در پنجره Model Builder ، روی گره ریشه کلیک کنید. |
7 | در نوار ابزار Home ، روی ![]() |
مطالعه 4
مرحله 1: دامنه فرکانس
1 | در پنجره تنظیمات دامنه فرکانس ، بخش Results When Solving را پیدا کنید . |
2 | از لیست Probes ، هیچکدام را انتخاب کنید . |
3 | قسمت Physics and Variables Selection را پیدا کنید . در جدول، کادر حل برای بهینه سازی توپولوژی (کامپوننت 1) را پاک کنید . |
4 | بخش تنظیمات مطالعه را پیدا کنید . روی Range کلیک کنید . ![]() |
5 | در کادر محاورهای Range ، 24 را در قسمت متن شروع تایپ کنید . |
6 | در قسمت متن Step ، 0.1 را تایپ کنید . |
7 | در قسمت متن توقف ، 42 را تایپ کنید . |
8 | روی Replace کلیک کنید . |
9 | در پنجره Model Builder ، روی Study 4 کلیک کنید . |
10 | در پنجره تنظیمات برای مطالعه ، Study 4 – Verification را در قسمت نوشتار Label تایپ کنید . |
11 | در نوار ابزار صفحه اصلی ، ![]() |
نتایج
بهینه سازی توپولوژی
در پنجره Model Builder ، در قسمت Results روی Topology Optimization کلیک راست کرده و Delete را انتخاب کنید .
فشار آکوستیک (acpr2)، سطح فشار صدا (acpr2)
1 | در پنجره Model Builder ، در بخش Results ، روی Ctrl کلیک کنید تا فشار صوتی (acpr2) و سطح فشار صدا (acpr2) را انتخاب کنید . |
2 | کلیک راست کرده و Group را انتخاب کنید . |
مطالعه 4 – تأیید
در پنجره تنظیمات گروه ، Study 4 – Verification را در قسمت نوشتار Label تایپ کنید .
فشار آکوستیک (acpr2)
1 | در پنجره Model Builder ، روی Acoustic Pressure (acpr2) کلیک کنید . |
2 | در پنجره Settings for 2D Plot Group ، بخش Data را پیدا کنید . |
3 | از لیست مقدار پارامتر (فرکانس (Hz)) ، 34.5 را انتخاب کنید . |
4 | در نوار ابزار فشار صوتی (acpr2) ، روی ![]() |
سطح فشار صدا (acpr2)
1 | در پنجره Model Builder ، روی Sound Pressure Level (acpr2) کلیک کنید . |
2 | در پنجره Settings for 2D Plot Group ، بخش Data را پیدا کنید . |
3 | از لیست مقدار پارامتر (فرکانس (Hz)) ، 34.5 را انتخاب کنید . |
4 | در نوار ابزار Sound Pressure Level (acpr2) ، روی ![]() |
5 | ![]() |
جهانی 3
1 | در پنجره Model Builder ، در Results>Response Comparison روی Global 2 کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، بخش داده را پیدا کنید . |
3 | از لیست مجموعه داده ، مطالعه 4 – تأیید / راه حل 9 (7) (sol9) را انتخاب کنید . |
4 | قسمت y-Axis Data را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
10*log10(obj) | صدا مرزهای سخت |
انتقال به مرزهای سخت صدا باعث می شود که طیف کمی جابجا شود. موقعیت فرکانس بهینه سازی را رسم کنید تا ببینید که این منجر به یک تابع هدف کمی بالاتر می شود.
جهانی 4
1 | روی Global 3 کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، بخش y-Axis Data را پیدا کنید . |
3 | در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
10*log10(obj) | فرکانس بهینه سازی |
4 | قسمت x-Axis Data را پیدا کنید . از لیست Parameter ، Expression را انتخاب کنید . |
5 | در قسمت متن Expression ، f0 را تایپ کنید . |
6 | قسمت Coloring and Style را پیدا کنید . از لیست رنگ ، سیاه را انتخاب کنید . |
7 | در نوار ابزار مقایسه پاسخ ، روی ![]() |
8 | ![]() |