گره Usage Condition ( ) شرطی را قرار می دهد که فرزندان خود را فعال یا غیرفعال می کند. میتوانید از این شرط در زمینههای مختلفی استفاده کنید – به عنوان مثال، برای تعاریف متغیر تحت یک ویژگی یا برای حلکننده و پیشفرض مش. نوع شرایطی که می توانید استفاده کنید بین زمینه ها متفاوت است زیرا برخی از شرایط را نمی توان در همه زمینه ها ارزیابی کرد.
به طور کلی، برای افزودن یک شرط استفاده ، روی یک گره راست کلیک کرده و آن را از منوی زمینه اضافه کنید.
گره های Component Link می توانند تحت یک گره Usage Condition با این محدودیت وجود داشته باشند که گره Component هدف هیچ ورودی، بخش یا سایر گروه های ورودی کاربر را اضافه نمی کند. اگر این کار را کرد، پیام خطا ظاهر می شود.
|
پنجره تنظیمات دارای یک بخش است. توضیحات همه شرایط ممکن را پوشش می دهد، اما برخی از آنها بر اساس زمینه قابل مشاهده نیستند.
شرایط استفاده
یک شرط را انتخاب کنید : صریح ، و شرط ، یا شرط . برای And شرط و یا شرط یک شرط استفاده را تعریف می کنند که به عنوان یک عملیات بولی ( و یا یا ) بین سایر شرایط استفاده ارزیابی می شود. شرایط استفاده را به لیست شرایط ورودی اضافه کنید . برای هر انتخابی، گزینه Invert condition را انتخاب کنید تا کل شرط معکوس شود.
تنظیمات زیر برای یک شرط واضح است .
محدود به ابعاد فضایی
برای فعال کردن یک شرط در بعد هندسه استفاده شده توسط مدل در Model Builder، کادر بررسی Restrict to space dimension را انتخاب کنید . یکی از موارد زیر را اضافه کنید: 0D ، 3D ، 2D ، تقارن محوری (2D) ، 1D ، و تقارن محوری (1D) .
محدود به سطوح موجودیت هندسی
برای فعال کردن یک شرط در سطح موجودیت هندسی زمینه، که میتواند سطح موجودیت یک ویژگی باشد، کادر انتخاب محدود به سطوح موجودات هندسی را انتخاب کنید . سطوح مجاز عبارتند از: جهانی ، دامنه ، مرز ، لبه و نقطه .
برای نتایج و پیشفرضهای مش، چک باکس Restrict to Enity ابعاد نامیده میشود و دارای گزینههای Volume ، Surface ، Line ، Point و Global است .
محدود به انواع مطالعه
برای فعال کردن یک شرط در نوع مطالعه ای که در حال حاضر برای آن حل شده است، کادر بررسی محدودیت برای انواع مطالعه را انتخاب کنید . این برای شرایط استفاده تحت ویژگیها ، ویژگیها ، پیشفرضهای مطالعه و حلکننده ، و پیشفرضهای نتایج قابل اعمال است . یک مثال رایج زمانی است که می خواهید نتیجه یک مشتق زمانی را تعریف کنید مانند:
زمان مشتق (A)
در انواع مطالعات وابسته به زمان اما
iomega*A
در انواع مطالعه دامنه فرکانس. مهم ترین انواع مطالعه عبارتند از Stationary , Time Dependent , Frequency Domain , Eigenfrequency , Eigenvalue . جایگزین های دیگری نیز وجود دارد، اما برخی از آنها به مجوزها یا ماژول های اضافی نیاز دارند.
انواع مراحل مطالعه و مطالعه در کتابچه راهنمای مرجع مولتیفیزیک COMSOL
|
ورودی کاربر
این بخش به ورودی های کاربر در ویژگی والد، ویژگی والد یا برخی از ویژگی ها بستگی دارد. تیک گزینه User input را انتخاب کنید تا موارد زیر را وارد کنید.
گزینه ای را از لیست ورودی کاربر مشخص کنید : با مرجع ، بر اساس نام یا در عبارت انتخاب کنید .
اگر شرایط استفاده تحت یک ویژگی یا ویژگی است که ممکن است حاوی ورودیهای کاربر دیگری باشد، با مراجعه را انتخاب کنید تا مستقیماً به هر یک از ورودیهای کاربر توسط در لیست مراجعه کنید. گزینه ای را از لیست From انتخاب کنید : ورودی کاربر از این ویژگی (پیش فرض) یا ورودی کاربر از این ویژگی . برای ورودی کاربر از این ویژگی ، ویژگی حاوی ورودی کاربر را در فیلد وارد کنید. سپس ورودی کاربر و شرط ورودی کاربر را انتخاب کنید . گزینه های موجود به ورودی کاربر اشاره شده بستگی دارد، اما این شرط می تواند بررسی کند که ورودی کاربر فعال است یا اینکهورودی کاربر دارای هر یک از مقادیر مشخصی است که در این صورت آنها را در جدول مقادیر وارد کنید .
برای وارد کردن نام در قسمت ورودی کاربر ، بر اساس نام را انتخاب کنید . گزینه ای را از لیست From انتخاب کنید : ورودی کاربر از این ویژگی (پیش فرض)، ورودی کاربر از این مرحله مطالعه ، یا ورودی کاربر از این ویژگی . برای ورودی کاربر از این ویژگی ، ویژگی حاوی ورودی کاربر را در فیلد وارد کنید. همچنین شرایط ورودی کاربر را همانطور که در بالا توضیح داده شد انتخاب کنید.
برای شرایط استفاده در پیشفرضهای مطالعه و حلکننده ، پیشفرضهای نتیجه ، و پیشفرضهای مش ، گزینه By name تنها راه برای ارجاع به ورودی کاربر است. علاوه بر این، آنها فقط می توانند به ورودی کاربر تحت یک ویژگی مراجعه کنند، بنابراین چنین انتخابی نیز وجود ندارد. در عوض، گزینه ای برای انتخاب نوع شرط در لیست شرط وجود دارد . گزینه User input in ویژگی شرایط استفاده را در ورودی کاربر تحت یک ویژگی فعال می کند. با گزینه Feature is active ، اگر یک ویژگی فعال از نوع خاصی وجود داشته باشد، شرط استفاده درست است. شما نوع را در قسمت Feature type مشخص می کنید . انتخاب کنیداگر میخواهید در صورتی که ویژگی تعریف نشده باشد، بهجای ارسال یک خطا، اگر میخواهید شرط انجام نشده در نظر گرفته شود، شرط برای مراجع تعریفنشده برآورده نشده است.
In express را به عنوان ابزاری کلی که می تواند بیانی از روابط و عملگرهای بولی را که در قسمت متن Condition وارد می شوند، ارزیابی کند، انتخاب کنید . همچنین از برخی توابع و نامهای خاص پشتیبانی میکند که در جدول زیر خلاصه شدهاند:
نحو
|
شرح
|
<cond 1> && <cond 2>
|
منطقی و بین شرایط.
|
<cond 1> || <cond 2>
|
منطقی یا بین شرایط.
|
!<cond>
|
منطقی شرط نیست
|
<مقدار 1> == <مقدار 2>
|
اگر مقادیر برابر باشند درست است.
|
<مقدار 1> != <مقدار 2>
|
اگر مقادیر متفاوت باشند درست است.
|
isActive(<ورودی>)
|
وضعیت فعال ورودی داده شده
|
حاوی (<آرایه>، <مقدار>)
|
اگر مقدار در آرایه داده شده وجود داشته باشد صحیح است.
|
{<مقدار 1>، <مقدار 2>، …}
|
آرایه ای از مقادیر.
|
“<string>”
|
مقدار رشته.
|
[par.]<نام ورودی>
|
مقدار از یک ورودی در ویژگی یا ویژگی فعلی. پیشوند par اختیاری است.
|
[par.]<property>.<نام ورودی>
|
مقدار از یک ورودی در ویژگی. پیشوند par اختیاری است.
|
[par]..<نام ورودی>
|
مقدار از یک ورودی در ویژگی والد. پیشوند par اختیاری است.
|
arg. <نام استدلال>
|
ارزش از یک ارزیابی استدلال.
|
entity.sdim
|
بعد فضا را به صورت یک عدد صحیح برمی گرداند.
|
entity.edim
|
سطح موجودیت هندسی ویژگی فیزیک فعلی را به صورت یک عدد صحیح برمیگرداند.
|
entity.is متقارن محور
|
درست است اگر هندسه فعلی متقارن محوری باشد (2 بعدی یا 1 بعدی)،
|
<int 1> + <int 2>*<int 3>
|
عبارت عدد صحیح ساده (پشتیبانی از: + , – , * , / و % ).
|
(<cond 1> || <cond 2>) && <cond 3>
|
از پرانتز برای لغو اولویت استفاده کنید.
|
isStudyStep(<گام 1>،
<گام 2>) |
درست است اگر مرحله مطالعه فعلی حل شده برای یک مرحله مطالعه <مرحله 1> یا یک مرحله مطالعه <مرحله 2> باشد (مثلاً “Stationary” یا “Transient” . شناسه مرحله مطالعه همان است که در هنگام ایجاد استفاده می شود. مراحل مطالعه جدید از API خارجی.
|
قوانین خاصی برای این عبارات وجود دارد که با عبارات تانسور معمولی متفاوت است:
•
|
پیشوند par پیشوند پیش فرض است و در برخی شرایط می توان آن را حذف کرد. ورودی با نام par باید با par.par قابل دسترسی باشد .
|
•
|
همه مقادیر رشته باید در داخل علامت نقل قول (‘) تایپ شوند، مگر اینکه عدد باشند. عددی که درون گیومه قرار دارد با خود عدد متفاوت است (برای مثال، ‘1’ == 1 نادرست است).
|
•
|
یک ورودی بولی می تواند به عنوان یک شرط عمل کند که true یا false را برمی گرداند و می تواند مستقیماً در عبارات منطقی استفاده شود. ورودی های بولی به ترتیب از مقادیر 0 و 1 برای false و true استفاده می کنند، بنابراین یک ورودی بولی به عنوان یک شرط معادل عبارت <input> == 1 است .
|
•
|
اپراتور isActive فقط در گره های شرایط استفاده مجاز است. استفاده از عملگر در زمینه دیگری منجر به خطا می شود.
|
•
|
تنها پیشوندهای مجاز par , arg و entity هستند . همه پیشوندهای دیگر شناسایی نمی شوند و به احتمال زیاد باعث خطای ورودی ناشناخته می شوند.
|
عبارات پیچیده با چندین ورودی ممکن است به دلیل زنجیره طولانی مدیریت رویداد منجر به عملکرد ضعیف برای به روز رسانی رابط کاربری شود. منطق پیچیده فعال-غیرفعال کردن نیز ممکن است کاربر را گیج کند.
|
چک باکس Require input is active به طور پیش فرض انتخاب شده است. این فقط زمانی قابل استفاده است که یک ورودی کاربر را مشخص کنید تا با مرجع یا نام بررسی شود، نه برای عبارات. در صورت انتخاب، شرط فعالسازی تنها در صورتی صادق است که ورودی کاربر بررسیشده نیز مطابق با شرایط فعالسازی آن فعال باشد. برای عبارات، می توانید با استفاده از عملگر isActive به منطق معادل دست پیدا کنید .
فیلد مورد نیاز
این بخش برای شرایط استفاده در پیش فرض های مطالعه و حل کننده در دسترس است . وقتی کادر فیلد Require را انتخاب می کنید ، می توانید یک مرجع متغیر وابسته و یک کمیت فیزیکی را مشخص کنید. برای اطلاعات بیشتر در مورد این تنظیمات به تعریف متغیر وابسته مراجعه کنید .
تیک گزینه Invert condition را برای وارونه (نفی) شرط تعریف شده انتخاب کنید .
شرایط استفاده
گره Usage Condition ( ) شرطی را قرار می دهد که فرزندان خود را فعال یا غیرفعال می کند. میتوانید از این شرط در زمینههای مختلفی استفاده کنید – به عنوان مثال، برای تعاریف متغیر تحت یک ویژگی یا برای حلکننده و پیشفرض مش. نوع شرایطی که می توانید استفاده کنید بین زمینه ها متفاوت است زیرا برخی از شرایط را نمی توان در همه زمینه ها ارزیابی کرد.
به طور کلی، برای افزودن یک شرط استفاده ، روی یک گره راست کلیک کرده و آن را از منوی زمینه اضافه کنید.
گره های Component Link می توانند تحت یک گره Usage Condition با این محدودیت وجود داشته باشند که گره Component هدف هیچ ورودی، بخش یا سایر گروه های ورودی کاربر را اضافه نمی کند. اگر این کار را کرد، پیام خطا ظاهر می شود.
|
پنجره تنظیمات دارای یک بخش است. توضیحات همه شرایط ممکن را پوشش می دهد، اما برخی از آنها بر اساس زمینه قابل مشاهده نیستند.
شرایط استفاده
یک شرط را انتخاب کنید : صریح ، و شرط ، یا شرط . برای And شرط و یا شرط یک شرط استفاده را تعریف می کنند که به عنوان یک عملیات بولی ( و یا یا ) بین سایر شرایط استفاده ارزیابی می شود. شرایط استفاده را به لیست شرایط ورودی اضافه کنید . برای هر انتخابی، گزینه Invert condition را انتخاب کنید تا کل شرط معکوس شود.
تنظیمات زیر برای یک شرط واضح است .
محدود به ابعاد فضایی
برای فعال کردن یک شرط در بعد هندسه استفاده شده توسط مدل در Model Builder، کادر بررسی Restrict to space dimension را انتخاب کنید . یکی از موارد زیر را اضافه کنید: 0D ، 3D ، 2D ، تقارن محوری (2D) ، 1D ، و تقارن محوری (1D) .
محدود به سطوح موجودیت هندسی
برای فعال کردن یک شرط در سطح موجودیت هندسی زمینه، که میتواند سطح موجودیت یک ویژگی باشد، کادر انتخاب محدود به سطوح موجودات هندسی را انتخاب کنید . سطوح مجاز عبارتند از: جهانی ، دامنه ، مرز ، لبه و نقطه .
برای نتایج و پیشفرضهای مش، چک باکس Restrict to Enity ابعاد نامیده میشود و دارای گزینههای Volume ، Surface ، Line ، Point و Global است .
محدود به انواع مطالعه
برای فعال کردن یک شرط در نوع مطالعه ای که در حال حاضر برای آن حل شده است، کادر بررسی محدودیت برای انواع مطالعه را انتخاب کنید . این برای شرایط استفاده تحت ویژگیها ، ویژگیها ، پیشفرضهای مطالعه و حلکننده ، و پیشفرضهای نتایج قابل اعمال است . یک مثال رایج زمانی است که می خواهید نتیجه یک مشتق زمانی را تعریف کنید مانند:
زمان مشتق (A)
در انواع مطالعات وابسته به زمان اما
iomega*A
در انواع مطالعه دامنه فرکانس. مهم ترین انواع مطالعه عبارتند از Stationary , Time Dependent , Frequency Domain , Eigenfrequency , Eigenvalue . جایگزین های دیگری نیز وجود دارد، اما برخی از آنها به مجوزها یا ماژول های اضافی نیاز دارند.
انواع مراحل مطالعه و مطالعه در کتابچه راهنمای مرجع مولتیفیزیک COMSOL
|
ورودی کاربر
این بخش به ورودی های کاربر در ویژگی والد، ویژگی والد یا برخی از ویژگی ها بستگی دارد. تیک گزینه User input را انتخاب کنید تا موارد زیر را وارد کنید.
گزینه ای را از لیست ورودی کاربر مشخص کنید : با مرجع ، بر اساس نام یا در عبارت انتخاب کنید .
اگر شرایط استفاده تحت یک ویژگی یا ویژگی است که ممکن است حاوی ورودیهای کاربر دیگری باشد، با مراجعه را انتخاب کنید تا مستقیماً به هر یک از ورودیهای کاربر توسط در لیست مراجعه کنید. گزینه ای را از لیست From انتخاب کنید : ورودی کاربر از این ویژگی (پیش فرض) یا ورودی کاربر از این ویژگی . برای ورودی کاربر از این ویژگی ، ویژگی حاوی ورودی کاربر را در فیلد وارد کنید. سپس ورودی کاربر و شرط ورودی کاربر را انتخاب کنید . گزینه های موجود به ورودی کاربر اشاره شده بستگی دارد، اما این شرط می تواند بررسی کند که ورودی کاربر فعال است یا اینکهورودی کاربر دارای هر یک از مقادیر مشخصی است که در این صورت آنها را در جدول مقادیر وارد کنید .
برای وارد کردن نام در قسمت ورودی کاربر ، بر اساس نام را انتخاب کنید . گزینه ای را از لیست From انتخاب کنید : ورودی کاربر از این ویژگی (پیش فرض)، ورودی کاربر از این مرحله مطالعه ، یا ورودی کاربر از این ویژگی . برای ورودی کاربر از این ویژگی ، ویژگی حاوی ورودی کاربر را در فیلد وارد کنید. همچنین شرایط ورودی کاربر را همانطور که در بالا توضیح داده شد انتخاب کنید.
برای شرایط استفاده در پیشفرضهای مطالعه و حلکننده ، پیشفرضهای نتیجه ، و پیشفرضهای مش ، گزینه By name تنها راه برای ارجاع به ورودی کاربر است. علاوه بر این، آنها فقط می توانند به ورودی کاربر تحت یک ویژگی مراجعه کنند، بنابراین چنین انتخابی نیز وجود ندارد. در عوض، گزینه ای برای انتخاب نوع شرط در لیست شرط وجود دارد . گزینه User input in ویژگی شرایط استفاده را در ورودی کاربر تحت یک ویژگی فعال می کند. با گزینه Feature is active ، اگر یک ویژگی فعال از نوع خاصی وجود داشته باشد، شرط استفاده درست است. شما نوع را در قسمت Feature type مشخص می کنید . انتخاب کنیداگر میخواهید در صورتی که ویژگی تعریف نشده باشد، بهجای ارسال یک خطا، اگر میخواهید شرط انجام نشده در نظر گرفته شود، شرط برای مراجع تعریفنشده برآورده نشده است.
In express را به عنوان ابزاری کلی که می تواند بیانی از روابط و عملگرهای بولی را که در قسمت متن Condition وارد می شوند، ارزیابی کند، انتخاب کنید . همچنین از برخی توابع و نامهای خاص پشتیبانی میکند که در جدول زیر خلاصه شدهاند:
نحو
|
شرح
|
<cond 1> && <cond 2>
|
منطقی و بین شرایط.
|
<cond 1> || <cond 2>
|
منطقی یا بین شرایط.
|
!<cond>
|
منطقی شرط نیست
|
<مقدار 1> == <مقدار 2>
|
اگر مقادیر برابر باشند درست است.
|
<مقدار 1> != <مقدار 2>
|
اگر مقادیر متفاوت باشند درست است.
|
isActive(<ورودی>)
|
وضعیت فعال ورودی داده شده
|
حاوی (<آرایه>، <مقدار>)
|
اگر مقدار در آرایه داده شده وجود داشته باشد صحیح است.
|
{<مقدار 1>، <مقدار 2>، …}
|
آرایه ای از مقادیر.
|
“<string>”
|
مقدار رشته.
|
[par.]<نام ورودی>
|
مقدار از یک ورودی در ویژگی یا ویژگی فعلی. پیشوند par اختیاری است.
|
[par.]<property>.<نام ورودی>
|
مقدار از یک ورودی در ویژگی. پیشوند par اختیاری است.
|
[par]..<نام ورودی>
|
مقدار از یک ورودی در ویژگی والد. پیشوند par اختیاری است.
|
arg. <نام استدلال>
|
ارزش از یک ارزیابی استدلال.
|
entity.sdim
|
بعد فضا را به صورت یک عدد صحیح برمی گرداند.
|
entity.edim
|
سطح موجودیت هندسی ویژگی فیزیک فعلی را به صورت یک عدد صحیح برمیگرداند.
|
entity.is متقارن محور
|
درست است اگر هندسه فعلی متقارن محوری باشد (2 بعدی یا 1 بعدی)،
|
<int 1> + <int 2>*<int 3>
|
عبارت عدد صحیح ساده (پشتیبانی از: + , – , * , / و % ).
|
(<cond 1> || <cond 2>) && <cond 3>
|
از پرانتز برای لغو اولویت استفاده کنید.
|
isStudyStep(<گام 1>،
<گام 2>) |
درست است اگر مرحله مطالعه فعلی حل شده برای یک مرحله مطالعه <مرحله 1> یا یک مرحله مطالعه <مرحله 2> باشد (مثلاً “Stationary” یا “Transient” . شناسه مرحله مطالعه همان است که در هنگام ایجاد استفاده می شود. مراحل مطالعه جدید از API خارجی.
|
قوانین خاصی برای این عبارات وجود دارد که با عبارات تانسور معمولی متفاوت است:
•
|
پیشوند par پیشوند پیش فرض است و در برخی شرایط می توان آن را حذف کرد. ورودی با نام par باید با par.par قابل دسترسی باشد .
|
•
|
همه مقادیر رشته باید در داخل علامت نقل قول (‘) تایپ شوند، مگر اینکه عدد باشند. عددی که درون گیومه قرار دارد با خود عدد متفاوت است (برای مثال، ‘1’ == 1 نادرست است).
|
•
|
یک ورودی بولی می تواند به عنوان یک شرط عمل کند که true یا false را برمی گرداند و می تواند مستقیماً در عبارات منطقی استفاده شود. ورودی های بولی به ترتیب از مقادیر 0 و 1 برای false و true استفاده می کنند، بنابراین یک ورودی بولی به عنوان یک شرط معادل عبارت <input> == 1 است .
|
•
|
اپراتور isActive فقط در گره های شرایط استفاده مجاز است. استفاده از عملگر در زمینه دیگری منجر به خطا می شود.
|
•
|
تنها پیشوندهای مجاز par , arg و entity هستند . همه پیشوندهای دیگر شناسایی نمی شوند و به احتمال زیاد باعث خطای ورودی ناشناخته می شوند.
|
عبارات پیچیده با چندین ورودی ممکن است به دلیل زنجیره طولانی مدیریت رویداد منجر به عملکرد ضعیف برای به روز رسانی رابط کاربری شود. منطق پیچیده فعال-غیرفعال کردن نیز ممکن است کاربر را گیج کند.
|
چک باکس Require input is active به طور پیش فرض انتخاب شده است. این فقط زمانی قابل استفاده است که یک ورودی کاربر را مشخص کنید تا با مرجع یا نام بررسی شود، نه برای عبارات. در صورت انتخاب، شرط فعالسازی تنها در صورتی صادق است که ورودی کاربر بررسیشده نیز مطابق با شرایط فعالسازی آن فعال باشد. برای عبارات، می توانید با استفاده از عملگر isActive به منطق معادل دست پیدا کنید .
فیلد مورد نیاز
این بخش برای شرایط استفاده در پیش فرض های مطالعه و حل کننده در دسترس است . وقتی کادر فیلد Require را انتخاب می کنید ، می توانید یک مرجع متغیر وابسته و یک کمیت فیزیکی را مشخص کنید. برای اطلاعات بیشتر در مورد این تنظیمات به تعریف متغیر وابسته مراجعه کنید .
تیک گزینه Invert condition را برای وارونه (نفی) شرط تعریف شده انتخاب کنید .