!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> تک تعریف دہرائیں
subپیرامیٹر (!ITEM کے لیے) | |
|---|---|
SUBITEM | ہر خاصیت کی مد میں متعین ذیلی خصوصیت کی مدات کی تعداد |
| (اختیاری؛ نہ دینے پر 1) |
| subپیرامیٹر کا نام | پیرامیٹر قدر | وضاحت |
|---|---|---|
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>----- Young کا معاملِ لچک (لازمی) <Poisson_ratio>------- Poisson کی نسبت (لازمی) <Density>-------------- کمیتی کثافت (ITEMnum=2 پر لازمی) < Expansion_coeff >-- خطی حرارتی پھیلاؤ کا عددی سر (ITEMnum=3 پر) |
(مثال)
!MATERIAL, NAME=M1,
ITEM=3 --- مادّہ M1 کے لیے تین قسم کی خاصیت کی قدریں متعین کی جاتی ہیں
!ITEM=1, SUBITEM=2 --- !ITEM=1 میں Young کا معاملِ لچک اور Poisson کی نسبت متعین کریں (لازمی)
4000.0, 0.3
!ITEM=2 --- !ITEM=2 میں کمیتی کثافت متعین کریں (ITEM=2 پر لازمی)
8.0102E-0
!ITEM=3 --- !ITEM=3 میں خطی حرارتی پھیلاؤ کا عددی سر متعین کریں
1.0E-5
نوٹ:
- موڈل تجزیے میں درجۂ حرارت پر منحصر مادّہ استعمال نہیں کیا جا سکتا۔
حرارت ترسیل کا تجزیہ¶
لنک، سطحی، ٹھوس اور سہ ابعادی پلیٹ عناصر کے لیے
!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
حوالہ¶
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