براہِ راست مواد پر جائیں

عنصر نمبرنگ نظام اور شکلی تفاعل لائبریری

شکلی تفاعل اور محدود عنصری تقریب میں متعارف شکلی تفاعل \(N_\alpha^e(\boldsymbol{r})\) کی مخصوص شکل ہر عنصر کی قسم کے لحاظ سے مختلف ہوتی ہے۔ اس باب میں FrontISTR کے فراہم کردہ عنصری گروپوں کو تین ہندسوں کے عنصر قسم نمبر سے درجہ بند کیا گیا ہے اور تمام عناصر کو یکساں طور پر سنبھالنے کے لیے شکلی تفاعل لائبریری کا انٹرفیس دکھایا گیا ہے۔ سہ بُعدی سالڈ عناصر کے طبیعی نظامِ محددات اور شکلی تفاعل کی مخصوص صورتیں، نیز ثانوی عناصر کے درمیانی نوڈ کی ترتیب کی تبدیلی سہ بُعدی سالڈ عناصر کے شکلی تفاعل میں، اور عنصر کی قسم منتخب کرنے کی رہنمائی عنصر لائبریری (افعال) میں دی گئی ہے۔

عناصر کی درجہ بندی اور نام گذاری کے قواعد

FrontISTR میں عنصر کی قسم تین ہندسوں کے نمبر سے شناخت کی جاتی ہے۔ ہر ہندسے کا مفہوم درج ذیل ہے۔

  • پہلا ہندسہ (عنصری گروپ): 1=خطی عنصر/ٹرس، 2=مستوی عنصر، 3=سالڈ عنصر، 5=انٹرفیس عنصر، 6=بیم عنصر، 7=شیل عنصر۔
  • دوسرا ہندسہ (بنیادی شکل): عنصری گروپ کے اندر ہندسی شکل (مثلث، چوکور، چہار سطحی، سہ گوش منشور، شش سطحی) میں فرق کرتا ہے۔
  • تیسرا ہندسہ (درجۂ استقرا): 1=اولی (صرف کونے کے نوڈ)، 2=ثانوی (درمیانی نوڈ سمیت)۔ استثنا کے طور پر دو نوڈ والا ٹرس عنصر نمبر 301 ہے۔

فراہم کردہ عناصر کو عنصری گروپ کے لحاظ سے ذیل کی جدول میں دکھایا گیا ہے۔

عنصری گروپ عنصر کی قسم نوڈ کی تعداد وضاحت
خطی عنصر 111 2 2 نوڈ لنک عنصر (تناؤ کے تجزیے میں قابلِ استعمال نہیں)
112 3 3 نوڈ لنک عنصر (تناؤ کے تجزیے میں قابلِ استعمال نہیں)
مستوی عنصر 231 3 3 نوڈ اولی مثلثی عنصر
232 6 6 نوڈ ثانوی مثلثی عنصر
241 4 4 نوڈ اولی چوکور عنصر
242 8 8 نوڈ ثانوی چوکور عنصر (Serendipity خاندان)
سالڈ عنصر 301 2 2 نوڈ ٹرس عنصر
341 4 4 نوڈ اولی چہار سطحی عنصر
342 10 10 نوڈ ثانوی چہار سطحی عنصر
351 6 6 نوڈ اولی سہ گوش منشوری عنصر
352 15 15 نوڈ ثانوی سہ گوش منشوری عنصر
361 8 8 نوڈ اولی شش سطحی عنصر
362 20 20 نوڈ ثانوی شش سطحی عنصر (Serendipity خاندان)
انٹرفیس عنصر 541 4×2 4 نوڈ اولی چوکور سطح عنصر (تناؤ کے تجزیے میں قابلِ استعمال نہیں)
542 8×2 8 نوڈ ثانوی چوکور سطح عنصر (تناؤ کے تجزیے میں قابلِ استعمال نہیں)
بیم عنصر 611 2 2 نوڈ برنولی-اویلر بیم عنصر (ہر نوڈ 6 درجاتِ آزادی)
641 2×2 2 نوڈ برنولی-اویلر بیم عنصر (ہر نوڈ 3 درجاتِ آزادی، مخلوط درجاتِ آزادی کے لیے)
شیل عنصر 731 3 MITC3 مثلثی شیل عنصر (ہر نوڈ 6 درجاتِ آزادی)
741 4 MITC4 چوکور شیل عنصر (ہر نوڈ 6 درجاتِ آزادی)
743 9 MITC9 چوکور شیل عنصر (ہر نوڈ 6 درجاتِ آزادی)
761 3×2 MITC3 مثلثی شیل عنصر (ہر نوڈ 3 درجاتِ آزادی، مخلوط درجاتِ آزادی کے لیے)
781 4×2 MITC4 چوکور شیل عنصر (ہر نوڈ 3 درجاتِ آزادی، مخلوط درجاتِ آزادی کے لیے)

اولی شش سطحی عنصر 361 کی متعدد فارمولیشنیں (مکمل تکمل، غیر ہم آہنگ، B-bar، F-bar) ہیں، جنہیں تجزیاتی کنٹرول سے منتخب کیا جاتا ہے۔ تفصیل کے لیے اعلیٰ کارکردگی کی عنصری فارمولیشنیں ملاحظہ کریں۔

بیم عنصر 641 اور شیل عناصر 761/781 ایسی فارمولیشنیں ہیں جن سے 6 درجاتِ آزادی رکھنے والے ساختی عناصر کو اسی نوڈ پر 3 درجاتِ آزادی رکھنے والے سالڈ عناصر سے جوڑا جاتا ہے؛ ایک ساختی نوڈ کو 3 درجاتِ آزادی رکھنے والے دو نوڈ سے ظاہر کیا جاتا ہے۔ ان کی فارمولیشن خود متعلقہ 6 درجاتِ آزادی والے نسخوں (611، 731، 741) جیسی ہی ہے۔

شکلی تفاعل لائبریری

عنصری حساب کی روٹینیں (سختی میٹرکس اور داخلی قوت ویکٹر کی تشکیل) ہر عنصر کی قسم کے لیے الگ روٹین نہیں رکھتیں؛ اس کے بجائے عنصر کی قسم نمبر fetype کو دلیل کے طور پر لینے والے یکساں انٹرفیس کے ذریعے شکلی تفاعل لائبریری کو بلایا جاتا ہے۔ elementInfo ماڈیول (fistr1/src/lib/element/element.f90) درج ذیل فنکشن فراہم کرتا ہے۔

  • NumOfQuadPoints(fetype): عنصر کی قسم کے لیے تکملی نقاط کی تعداد \(n_q\) لوٹاتا ہے۔
  • getQuadPoint(fetype, np, pos): تکملی نقطہ \(i\) کے طبیعی محددات \(\boldsymbol{r}_i\) لوٹاتا ہے۔
  • getWeight(fetype, np): تکملی نقطہ \(i\) کا وزن \(w_i\) لوٹاتا ہے۔
  • getShapeFunc(fetype, r, N): طبیعی محددات \(\boldsymbol{r}\) پر شکلی تفاعل کی اقدار \(N_\alpha^e(\boldsymbol{r})\) لوٹاتا ہے۔
  • getShapeDeriv(fetype, r, dN): شکلی تفاعل کے طبیعی محدداتی مشتقات \(\partial N_\alpha^e/\partial \boldsymbol{r}\) لوٹاتا ہے۔
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): عنصر نوڈ کے محددات \(\boldsymbol{X}^e\) دے کر طبیعی محددات کے لحاظ سے مشتقات \(\partial N_\alpha^e/\partial \boldsymbol{x}\) اور جیکوبین محدد \(J\) لوٹاتا ہے۔
  • getNumberOfSubface(fetype)، getSubFace(fetype, k, ...): عنصر کی حدی سطحوں کی تعداد اور ہر سطح بنانے والے نوڈ نمبرز لوٹاتے ہیں۔ سطحی بوجھ اور تماسی سطح بنانے میں استعمال ہوتے ہیں۔

ہر فنکشن اندرونی طور پر عنصر کی قسم نمبر کے مطابق شاخ بناتا ہے اور ہر عنصر کی قسم کے لیے فراہم کردہ زیریں ماڈیول (tet4n.f90, tet10n.f90, prism6n.f90, prism15n.f90, hex8n.f90, hex20n.f90, tri3n.f90, tri6n.f90, quad4n.f90, quad8n.f90, quad9n.f90, line2n.f90, line3n.f90) کی شکلی تفاعل اور شکلی تفاعل مشتق سب روٹین کو بلاتا ہے۔ تکملی نقاط کے محددات اور اوزان کی عددی جدولیں quadrature.f90 میں یکجا ہیں۔ نئی عنصر قسم شامل کرنے کے لیے متعلقہ زیریں ماڈیول نافذ کریں اور اسے elementInfo کے ہر فنکشن کی شاخ میں شامل کریں۔

ثانوی مثلثی عنصر میں درمیانی نوڈ کی ترتیب کی تبدیلی

ثانوی مثلثی عنصر 232 میں HEC-MW میش اِن پٹ قالب (جس میں پہلے کونے کے نوڈ عنصر کے گرد ترتیب دیے جاتے ہیں، پھر کناروں 1-2، 2-3، ... کے درمیانی نوڈ) اور عنصر لائبریری کے شکلی تفاعل کی فرض کردہ FrontISTR اندرونی ترتیب کے درمیان درمیانی نوڈ کی ترتیب مختلف ہے۔ دونوں قالبوں کا یہ فرق میش پڑھنے کے فوراً بعد بلائے جانے والے hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 اور hecmw2fstr_connect_conv.c) سے دور کیا جاتا ہے، جو تبدیلی جدول Table232 کے مطابق چھ نوڈ کو \(\{1,2,3,6,4,5\}\) کی ترتیب میں دوبارہ رکھتا ہے۔ چونکہ تبدیلی براہِ راست عنصر کنیکٹیویٹی رکھنے والی سرنی پر کی جاتی ہے، اس کے بعد عنصر لائبریری کی تمام کالوں میں FrontISTR کی اندرونی نوڈ ترتیب استعمال ہوتی ہے۔ نتیجہ اخراج کے وقت معکوس تبدیلی fstr2hecmw_mesh_conv سے HEC-MW قالب بحال کر کے لکھا جاتا ہے، اس لیے صارف کو اِن پٹ اور آؤٹ پٹ دونوں میں صرف HEC-MW قالب کا خیال رکھنا ہوتا ہے۔

سہ بُعدی سالڈ عناصر 342 (ثانوی چہار سطحی) اور 352 (ثانوی سہ گوش منشوری) میں بھی اسی قسم کی خودکار تبدیلی ہے، جبکہ 362 (ثانوی شش سطحی) میں تبدیلی نہیں۔ ان کی تفصیل سہ بُعدی سالڈ عناصر کے شکلی تفاعل میں ملاحظہ کریں۔ ثانوی مستوی چوکور عنصر 242 اور انٹرفیس عنصر 542 میں HEC-MW اِن پٹ قالب اور اندرونی قالب کی درمیانی نوڈ ترتیب یکساں ہونے کی وجہ سے تبدیلی نہیں کی جاتی۔

متعلقہ موضوعات