!MATERIAL¶
পদার্থের ধর্ম সংজ্ঞা
পদার্থের ধর্ম তাপমাত্রানির্ভর হলে সংশ্লিষ্ট প্রতিটি তাপমাত্রার জন্য টেবিল আকারে ইনপুট দেওয়া যায়।
প্রথম লাইন
| প্যারামিটার | |
|---|---|
NAME | পদার্থের নাম (আবশ্যিক) |
ITEM | ধর্মের আইটেম সংখ্যা (ঐচ্ছিক; বাদ দিলে 1) |
INPUT | বাহ্যিক ফাইলের নাম (ঐচ্ছিক) |
| প্যারামিটারের নাম | প্যারামিটারের মান | বিষয়বস্তু |
|---|---|---|
NAME | <name> | পদার্থের নাম |
ITEM | <ITEMnum> | ব্যবহারকারী-সংজ্ঞায়িত ধর্মের আইটেম সংখ্যা |
INPUT | <filename> | বাহ্যিক ফাইলের নাম (ঐচ্ছিক); দ্বিতীয় ও পরবর্তী লাইনের সঙ্গে ব্যবহার করা যায় |
দ্বিতীয় ও পরবর্তী লাইন
(২য় লাইন) !ITEM=1, SUBITEM=<k>
(৩য় লাইন) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(৪র্থ লাইন) VAL1-2-1, VAL1-2-2, … VAL1-2-k, TEMP1-2
...
(L+2তম লাইন)VAL1-L-1, VAL1-L-2, … VAL1-L-k, TEMP1-L
এরপর !ITEM=<ITEMnum> পর্যন্ত একইভাবে সংজ্ঞা পুনরাবৃত্তি করুন
সাব-প্যারামিটার (!ITEM-এর জন্য) | |
|---|---|
SUBITEM | প্রতিটি ধর্মের আইটেমে সংজ্ঞায়িত সাব-ধর্ম আইটেমের সংখ্যা |
| (ঐচ্ছিক; বাদ দিলে 1) |
| সাব-প্যারামিটারের নাম | প্যারামিটারের মান | বিষয়বস্তু |
|---|---|---|
SUBITEM | <subITEMnum> | ব্যবহারকারী-সংজ্ঞায়িত সাব-ধর্ম আইটেমের সংখ্যা |
【m-তম ধর্ম তাপমাত্রানির্ভর হলে】
তাপমাত্রানির্ভর টেবিলে Nটি আইটেম থাকলে নিচের মতো ইনপুট দিন:
!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
| চলকের নাম | অ্যাট্রিবিউট | বিষয়বস্তু |
|---|---|---|
| VALmn-k | R | ধর্মের মান (তাপমাত্রানির্ভর) |
| TEMPmn | R | সংশ্লিষ্ট তাপমাত্রা |
TEMPm1 < TEMPm2 < ... < TEMPmN হতে হবে।
তাপমাত্রা TEMPm1-এর কম বা সমান হলে VALm1 এবং TEMPmN-এর বেশি বা সমান হলে VALmN ব্যবহৃত হয়।
【m-তম ধর্ম তাপমাত্রানির্ভর না হলে】
| চলকের নাম | অ্যাট্রিবিউট | বিষয়বস্তু |
|---|---|---|
| VALmn-k | R | ধর্মের মান (তাপমাত্রানির্ভর নয়) |
নোট:
- পদার্থের নাম ডুপ্লিকেট হলে ত্রুটি হবে।
!SECTIONঅপশনে উল্লেখিতMATERIALসংজ্ঞায়িত না থাকলে ত্রুটি হবে।!ELEMENTঅপশনেMATITEMপ্যারামিটার ব্যবহার করে প্রতিটি উপাদানের ধর্ম ইনপুট দিলে সেই মান অগ্রাধিকার পাবে। এ ক্ষেত্রে!MATERIALঅপশনে ইনপুট করা ধর্মের মান ব্যবহার করা হবে না।!ITEM=mসাব-অপশনের সংখ্যা ওITEMপ্যারামিটারের সংখ্যা সামঞ্জস্যপূর্ণ না হলে, অথবা কোনো প্রয়োজনীয় সাব-অপশন সংজ্ঞায়িত না থাকলে ত্রুটি হবে।!ITEM=mসাব-অপশনগুলো m-এর ছোট থেকে বড় ক্রমে সাজানো বাধ্যতামূলক নয়।SUBITEM=kসাব-অপশন ও তাপমাত্রা নির্ভরতা ব্যবহার করলে বাদ দেওয়া মান 0.0 হিসেবে ধরা হয়।- তাপমাত্রা নির্ভরতা ব্যবহার করলে তাপমাত্রাগুলো নিম্ন থেকে উচ্চ ক্রমে সংজ্ঞায়িত করতে হবে।
- একই তাপমাত্রা দুই বা তার বেশি বার ব্যবহার করলে ত্রুটি হবে।
ব্যবহারের উদাহরণ
!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 তাপমাত্রা-নির্ভর নয়
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0
!MATERIAL, NAME= COPPER আইটেমের সংখ্যা = 1 (পূর্বনির্ধারিত মান)
!ITEM=1 তাপমাত্রা-নির্ভর নয়
80.0
ভুল ব্যবহারের উদাহরণ
উদাহরণ 1【ITEM প্যারামিটার ও !ITEM=m সাব-অপশনের সংখ্যা সামঞ্জস্যপূর্ণ নয়-1】
উদাহরণ 2【ITEM প্যারামিটার ও !ITEM=m সাব-অপশনের সংখ্যা সামঞ্জস্যপূর্ণ নয়-2】
ইলাস্টিক স্ট্যাটিক বিশ্লেষণ ও মোডাল বিশ্লেষণ¶
!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
| প্যারামিটারের নাম | প্যারামিটারের মান | বিষয়বস্তু |
|---|---|---|
| NAME | <name> | পদার্থের নাম; !SECTION-এর পদার্থের সঙ্গে সম্পর্কিত |
| ITEM | <ITEMnum> | ব্যবহারকারী-সংজ্ঞায়িত ধর্মের আইটেম সংখ্যা (1 বা বেশি) <Young_modulus>-----ইয়ংয়ের মডুলাস (আবশ্যিক) <Poisson_ratio>-------পয়সনের অনুপাত (আবশ্যিক) <Density>--------------ভর ঘনত্ব (ITEMnum=2 হলে আবশ্যিক) < Expansion_coeff >--রৈখিক তাপীয় প্রসারণ সহগ (ITEMnum=3 হলে) |
(উদাহরণ)
!MATERIAL, NAME=M1,
ITEM=3 --- পদার্থ M1-এর জন্য তিন ধরনের ধর্মের মান সংজ্ঞায়িত করা হয়
!ITEM=1, SUBITEM=2 --- !ITEM=1 এ ইয়ংয়ের মডুলাস ও পয়সনের অনুপাত সংজ্ঞায়িত করুন (আবশ্যিক)
4000.0, 0.3
!ITEM=2 --- !ITEM=2 এ ভর ঘনত্ব সংজ্ঞায়িত করুন (ITEM=2 হলে আবশ্যিক)
8.0102E-0
!ITEM=3 --- !ITEM=3 এ রৈখিক তাপীয় প্রসারণ সহগ সংজ্ঞায়িত করুন
1.0E-5
নোট:
- মোডাল বিশ্লেষণে তাপমাত্রা-নির্ভর পদার্থ ব্যবহার করা যায় না।
তাপ পরিবহন বিশ্লেষণ¶
লিংক, প্লেন, সলিড এবং 3D প্লেট উপাদানের ক্ষেত্রে
!MATERIAL, NAME=<name>, ITEM=3
!ITEM=1, SUBITEM=2
<Density>, <Temperature>
!ITEM=2, SUBITEM=2
<Specific_heat>, <Temperature>
!ITEM=3, SUBITEM=2
<Conductivity>, <Temperature>
| প্যারামিটারের নাম | প্যারামিটারের মান | বিষয়বস্তু |
|---|---|---|
NAME | <name> | পদার্থের নাম; !SECTION-এর পদার্থের সঙ্গে সম্পর্কিত |
ITEM | <ITEMnum> | ব্যবহারকারী-সংজ্ঞায়িত ধর্মের আইটেম সংখ্যা (সবসময় 3) <Density>----------ঘনত্ব <Specific_heat>----বিশিষ্ট তাপ <Conductivity>-----তাপ পরিবাহিতা <Temperature>------তাপমাত্রা |
(উদাহরণ)
!MATERIAL, NAME=M1,
ITEM=3 --- পদার্থ M1-এর জন্য তিন ধরনের ধর্মের মান সংজ্ঞায়িত করা হয়
!ITEM=1, SUBITEM=1 --- !ITEM=1 এ ঘনত্ব ও তাপমাত্রা সংজ্ঞায়িত করুন (আবশ্যিক)
7850., 300.
7790., 500.
7700., 800.
!ITEM=2, SUBITEM=1 --- !ITEM=2 এ বিশিষ্ট তাপ ও তাপমাত্রা সংজ্ঞায়িত করুন (আবশ্যিক)
0.465, 300.
0.528, 500.
0.622, 800.
!ITEM=3 --- !ITEM=3 এ তাপ পরিবাহিতা ও তাপমাত্রা সংজ্ঞায়িত করুন (আবশ্যিক)
43., 300.
38.6, 500.
27.7, 800.
ইন্টারফেস উপাদানের ক্ষেত্রে
!SECTION হেডারে সংজ্ঞায়িত করুন। (পদার্থ ডেটা প্রয়োজন নেই)
(উদাহরণ)
উপরের !SECTION-এ ইন্টারফেস উপাদানের জন্য গ্যাপ গ্রুপে থাকা উপাদানগুলোর গ্যাপ প্যারামিটার সংজ্ঞায়িত করা হয়েছে।
- 1ম প্যারামিটার: গ্যাপের প্রস্থ
- 2য় প্যারামিটার: গ্যাপ তাপ স্থানান্তর সহগ
- 3য় প্যারামিটার: গ্যাপ রেডিয়েশন সহগ 1
- 4র্থ প্যারামিটার: গ্যাপ রেডিয়েশন সহগ 2
রেফারেন্স¶
program TEST
use hecmw
implicit REAL*8 (A-H,O-Z)
type (hecmwT_local_mesh) :: hecMESH
!C
!C !MATERIAL, NAME=SUS304, ITEM=3
!C !ITEM=1, SUBITEM= 3
!C 100.0, 200.0, 300.0, 0.00
!C 101.0, 210.0, 301.0, 1.00
!C 102.0, 220.0, 302.0, 2.00
!C 103.0, 230.0, 303.0, 3.00
!C !ITEM=3, SUBITEM= 2
!C 1000.0, , 0.00
!C 1001.0, 1., 1.00
!C 1002.0, 2., 2.00
!C 1003.0, 3., 3.00
!C !ITEM=2
!C 5000.0
!C
!C !MATERIAL, NAME=FEC, ITEM=2
!C !ITEM=1, SUBITEM= 3
!C 2100.0, 2200.0, 2300.0, 0.00
!C 2101.0, 2210.0, 2301.0, 1.00
!C 2102.0, 2220.0, 2302.0, 2.00
!C 2103.0, 2230.0, 2303.0, 3.00
!C 3103.0, 3230.0, 2304.0, 4.00
!C !ITEM=2
!C 6000.0, 10.0
!C 6500.0, 30.0
!C
hecMESH%material%n_mat = 2
nn= hecMESH%material%n_mat
allocate (hecMESH%material%mat_name(nn))
hecMESH%material%mat_name(1)= 'SUS304'
hecMESH%material%mat_name(2)= 'FEC'
nn= hecMESH%material%n_mat
allocate (hecMESH%material%mat_ITEM_index(0:nn))
hecMESH%material%mat_ITEM_index(0)= 0
hecMESH%material%mat_ITEM_index(1)= 3
hecMESH%material%mat_ITEM_index(2)= hecMESH%material%mat_ITEM_index(1) + 2
hecMESH%material%n_mat_ITEM= hecMESH%material%mat_ITEM_index(hecMESH%material%n_mat)
nn= hecMESH%material%n_mat_ITEM
allocate (hecMESH%material%mat_subITEM_index(0:nn))
hecMESH%material%mat_subITEM_index(0)= 0
hecMESH%material%mat_subITEM_index(1)= 3
hecMESH%material%mat_subITEM_index(2)= hecMESH%material%mat_subITEM_index(1) + 1
hecMESH%material%mat_subITEM_index(3)= hecMESH%material%mat_subITEM_index(2) + 2
hecMESH%material%mat_subITEM_index(4)= hecMESH%material%mat_subITEM_index(3) + 3
hecMESH%material%mat_subITEM_index(5)= hecMESH%material%mat_subITEM_index(4) + 1
hecMESH%material%n_mat_subITEM=
& hecMESH%material%mat_subITEM_index(hecMESH%material%n_mat_ITEM)
nn= hecMESH%material%n_mat_subITEM
allocate (hecMESH%material%mat_TABLE_index(0:nn))
hecMESH%material%mat_TABLE_index( 0)= 0
hecMESH%material%mat_TABLE_index( 1)= 4
hecMESH%material%mat_TABLE_index( 2)= hecMESH%material%mat_TABLE_index( 1) + 4
hecMESH%material%mat_TABLE_index( 3)= hecMESH%material%mat_TABLE_index( 2) + 4
hecMESH%material%mat_TABLE_index( 4)= hecMESH%material%mat_TABLE_index( 3) + 1
hecMESH%material%mat_TABLE_index( 5)= hecMESH%material%mat_TABLE_index( 4) + 4
hecMESH%material%mat_TABLE_index( 6)= hecMESH%material%mat_TABLE_index( 5) + 4
hecMESH%material%mat_TABLE_index( 7)= hecMESH%material%mat_TABLE_index( 6) + 5
hecMESH%material%mat_TABLE_index( 8)= hecMESH%material%mat_TABLE_index( 7) + 5
hecMESH%material%mat_TABLE_index( 9)= hecMESH%material%mat_TABLE_index( 8) + 5
hecMESH%material%mat_TABLE_index(10)= hecMESH%material%mat_TABLE_index( 9) + 2
hecMESH%material%n_mat_TABLE=
& hecMESH%material%mat_TABLE_index(hecMESH%material%n_mat_subITEM)
nn= hecMESH%material%n_mat_TABLE
allocate (hecMESH%material%mat_VAL (nn))
allocate (hecMESH%material%mat_TEMP(nn))
hecMESH%material%mat_VAL = 0.d0
hecMESH%material%mat_TEMP= 0.d0
hecMESH%material%mat_VAL ( 1)= 100.0d0
hecMESH%material%mat_TEMP( 1)= 0.0d0
hecMESH%material%mat_VAL ( 2)= 101.0d0
hecMESH%material%mat_TEMP( 2)= 1.0d0
hecMESH%material%mat_VAL ( 3)= 102.0d0
hecMESH%material%mat_TEMP( 3)= 2.0d0
hecMESH%material%mat_VAL ( 4)= 103.0d0
hecMESH%material%mat_TEMP( 4)= 3.0d0
hecMESH%material%mat_VAL ( 5)= 200.0d0
hecMESH%material%mat_TEMP( 5)= 0.0d0
hecMESH%material%mat_VAL (13)= 5000.0d0
hecMESH%material%mat_VAL (14)= 1000.0d0
hecMESH%material%mat_TEMP (14)= 0.0d0
hecMESH%material%mat_VAL (15)= 1001.0d0
hecMESH%material%mat_TEMP (15)= 1.0d0
hecMESH%material%mat_VAL (16)= 1002.0d0
hecMESH%material%mat_TEMP (16)= 2.0d0
hecMESH%material%mat_VAL (17)= 1003.0d0
hecMESH%material%mat_TEMP (17)= 3.0d0
hecMESH%material%mat_VAL (18)= 0.0d0
hecMESH%material%mat_TEMP (18)= 0.0d0
hecMESH%material%mat_VAL (19)= 1.0d0
hecMESH%material%mat_TEMP (19)= 1.0d0
hecMESH%material%mat_VAL (20)= 2.0d0
hecMESH%material%mat_TEMP (20)= 2.0d0
hecMESH%material%mat_VAL (21)= 3.0d0
hecMESH%material%mat_TEMP (21)= 3.0d0
hecMESH%material%mat_VAL (22)= 2100.0d0
hecMESH%material%mat_TEMP (22)= 0.0d0
hecMESH%material%mat_VAL (23)= 2101.0d0
hecMESH%material%mat_TEMP (23)= 1.0d0
hecMESH%material%mat_VAL (24)= 2102.0d0
hecMESH%material%mat_TEMP (24)= 2.0d0
hecMESH%material%mat_VAL (25)= 2103.0d0
hecMESH%material%mat_TEMP (25)= 3.0d0
hecMESH%material%mat_VAL (26)= 3103.0d0
hecMESH%material%mat_TEMP (26)= 4.0d0
write (*,'(a,i10)') '%n_mat_ITEM ', hecMESH%material%n_mat_ITEM
write (*,'(a,i10)') '%n_mat_subITEM', hecMESH%material%n_mat_subITEM
write (*,'(a,i10)') '%n_mat_TABLE ', hecMESH%material%n_mat_TABLE
end program TEST