কনটেন্টে যান

উপাদান নম্বর ব্যবস্থা ও আকৃতি-ফাংশন লাইব্রেরি

আকৃতি ফাংশন ও সসীম উপাদান আসন্নীকরণ-এ প্রবর্তিত আকৃতি ফাংশন \(N_\alpha^e(\boldsymbol{r})\) উপাদানের ধরনভেদে নির্দিষ্ট রূপে ভিন্ন। এই অধ্যায়ে FrontISTR প্রদত্ত উপাদানসমূহকে 3-অঙ্ক উপাদান-ধরন সংখ্যা দিয়ে শ্রেণিবদ্ধ করা হয়েছে এবং সব উপাদানকে একীভূতভাবে ব্যবহারের জন্য আকৃতি-ফাংশন লাইব্রেরি ইন্টারফেস দেখানো হয়েছে। 3-মাত্রিক সলিড উপাদানের প্রাকৃতিক স্থানাঙ্ক সিস্টেম, আকৃতি ফাংশনের নির্দিষ্ট রূপ এবং 2য়-ক্রম উপাদানের মধ্যবর্তী-নোড অর্ডারিং রূপান্তরের জন্য 3-মাত্রিক সলিড উপাদানের আকৃতি ফাংশন, আর উপাদান ধরন নির্বাচনের নির্দেশিকার জন্য উপাদান লাইব্রেরি (কার্যাবলি) দেখুন।

উপাদানের শ্রেণিবিভাগ ও নামকরণ নিয়ম

FrontISTR-এর উপাদান ধরন 3-অঙ্ক সংখ্যা দ্বারা শনাক্ত করা হয়। প্রতিটি অঙ্কের অর্থ:

  • 1ম অঙ্ক (উপাদান গ্রুপ): 1=লাইন উপাদান/ট্রাস, 2=সমতল উপাদান, 3=সলিড উপাদান, 5=ইন্টারফেস উপাদান, 6=বিম উপাদান, 7=শেল উপাদান।
  • 2য় অঙ্ক (মৌলিক আকৃতি): উপাদান গ্রুপের মধ্যে জ্যামিতি (ত্রিভুজ, চতুর্ভুজ, চতুর্মুখী, প্রিজম, ষড়্মুখী) আলাদা করে।
  • 3য় অঙ্ক (ইন্টারপোলেশন ক্রম): 1=1ম ক্রম (শুধু কোণ নোড), 2=2য় ক্রম (মধ্যবর্তী নোড-সহ)। ব্যতিক্রম হিসেবে 2-নোড ট্রাস উপাদানের সংখ্যা 301।

প্রদত্ত উপাদানগুলো গ্রুপ অনুযায়ী নিচে দেখানো হয়েছে।

উপাদান গ্রুপ উপাদান ধরন নোড সংখ্যা বর্ণনা
লাইন উপাদান 111 2 2-নোড লিংক উপাদান (পীড়ন বিশ্লেষণে ব্যবহারযোগ্য নয়)
112 3 3-নোড লিংক উপাদান (পীড়ন বিশ্লেষণে ব্যবহারযোগ্য নয়)
সমতল উপাদান 231 3 ত্রিভুজাকার 1ম-ক্রম উপাদান
232 6 ত্রিভুজাকার 2য়-ক্রম উপাদান
241 4 চতুর্ভুজ 1ম-ক্রম উপাদান
242 8 চতুর্ভুজ 2য়-ক্রম উপাদান (Serendipity পরিবার)
সলিড উপাদান 301 2 2-নোড ট্রাস উপাদান
341 4 চতুর্মুখী 1ম-ক্রম উপাদান
342 10 চতুর্মুখী 2য়-ক্রম উপাদান
351 6 প্রিজমীয় 1ম-ক্রম উপাদান
352 15 প্রিজমীয় 2য়-ক্রম উপাদান
361 8 ষড়্মুখী 1ম-ক্রম উপাদান
362 20 ষড়্মুখী 2য়-ক্রম উপাদান (Serendipity পরিবার)
ইন্টারফেস উপাদান 541 4×2 চতুর্ভুজ-ফেস 1ম-ক্রম উপাদান (পীড়ন বিশ্লেষণে ব্যবহারযোগ্য নয়)
542 8×2 চতুর্ভুজ-ফেস 2য়-ক্রম উপাদান (পীড়ন বিশ্লেষণে ব্যবহারযোগ্য নয়)
বিম উপাদান 611 2 2-নোড Bernoulli-Euler বিম উপাদান (প্রতি নোড 6 স্বাধীনতার মাত্রা)
641 2×2 2-নোড Bernoulli-Euler বিম উপাদান (প্রতি নোড 3 স্বাধীনতার মাত্রা, মিশ্র-স্বাধীনতার মাত্রা সংযোগের জন্য)
শেল উপাদান 731 3 MITC3 ত্রিভুজাকার শেল উপাদান (প্রতি নোড 6 স্বাধীনতার মাত্রা)
741 4 MITC4 চতুর্ভুজ শেল উপাদান (প্রতি নোড 6 স্বাধীনতার মাত্রা)
743 9 MITC9 চতুর্ভুজ শেল উপাদান (প্রতি নোড 6 স্বাধীনতার মাত্রা)
761 3×2 MITC3 ত্রিভুজাকার শেল উপাদান (প্রতি নোড 3 স্বাধীনতার মাত্রা, মিশ্র-স্বাধীনতার মাত্রা সংযোগের জন্য)
781 4×2 MITC4 চতুর্ভুজ শেল উপাদান (প্রতি নোড 3 স্বাধীনতার মাত্রা, মিশ্র-স্বাধীনতার মাত্রা সংযোগের জন্য)

ষড়্মুখী 1ম-ক্রম উপাদান 361-এর একাধিক ফর্মুলেশন (পূর্ণ সমাকলন, অসামঞ্জস্যপূর্ণ মোড, B-bar, F-bar) আছে এবং বিশ্লেষণ নিয়ন্ত্রণ থেকে নির্বাচন করা হয়। বিস্তারিত উচ্চ-কর্মক্ষম উপাদান প্রণয়ন দেখুন।

বিম উপাদান 641 এবং শেল উপাদান 761/781 হলো এমন ফর্মুলেশন যেখানে 6-স্বাধীনতার মাত্রা কাঠামোগত উপাদানকে 3-স্বাধীনতার মাত্রা সলিড উপাদানের একই নোডে যুক্ত করার জন্য 1টি কাঠামোগত নোডকে 2টি 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-এর প্রতিটি ফাংশনের ব্রাঞ্চে যোগ করলেই হয়।

ত্রিভুজাকার 2য়-ক্রম উপাদানের মধ্যবর্তী-নোড অর্ডারিং রূপান্তর

ত্রিভুজাকার 2য়-ক্রম উপাদান 232-এ HEC-MW মেশ ইনপুট বিন্যাস (কোণ নোডগুলো ঘুরে নেওয়ার পর প্রান্ত 1-2, 2-3, … ক্রমে মধ্যবর্তী নোড সাজানোর রীতি) এবং উপাদান লাইব্রেরির আকৃতি ফাংশন যে FrontISTR অভ্যন্তরীণ বিন্যাস ধরে তার মধ্যবর্তী-নোড অর্ডারিং ভিন্ন। এই পার্থক্য মেশ পঠনের পরপরই ডাকা hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 এবং hecmw2fstr_connect_conv.c) রূপান্তর সারণি Table232 অনুসারে 6টি নোডকে \(\{1,2,3,6,4,5\}\) ক্রমে পুনর্বিন্যাস করে দূর করে। রূপান্তর সরাসরি উপাদান-সংযোগতা সংরক্ষণ অ্যারেতে হয়, তাই পরবর্তী সব উপাদান-লাইব্রেরি কলে FrontISTR অভ্যন্তরীণ নোড অর্ডারিং ব্যবহৃত হয়। ফলাফল আউটপুটের সময় বিপরীত রূপান্তর fstr2hecmw_mesh_conv দিয়ে HEC-MW বিন্যাসে ফিরিয়ে লেখা হয়; ফলে ইনপুট/আউটপুট উভয় ক্ষেত্রেই ব্যবহারকারীকে শুধু HEC-MW বিন্যাস বিবেচনা করতে হয়।

3-মাত্রিক সলিড উপাদান 342 (চতুর্মুখী 2য়-ক্রম) এবং 352 (প্রিজমীয় 2য়-ক্রম)-এও একই ধরনের স্বয়ংক্রিয় রূপান্তর আছে, কিন্তু 362 (ষড়্মুখী 2য়-ক্রম)-এ রূপান্তর নেই। বিস্তারিত 3-মাত্রিক সলিড উপাদানের আকৃতি ফাংশন দেখুন। 2য়-ক্রম চতুর্ভুজ সমতল উপাদান 242 এবং ইন্টারফেস উপাদান 542-এ HEC-MW ইনপুট বিন্যাস ও অভ্যন্তরীণ বিন্যাসের মধ্যবর্তী-নোড অর্ডারিং একই, তাই রূপান্তর করা হয় না।

সংশ্লিষ্ট বিষয়