!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.
تُستخدم VALm1 عندما تكون درجة الحرارة TEMPm1 أو أقل، وتُستخدم VALmN عندما تكون درجة الحرارة TEMPmN أو أعلى.
[عندما لا تكون خاصية المادة رقم 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> | اسم المادة؛ يقابل MATERIAL في !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
ملاحظة:
- لا يمكن استخدام المواد المعتمدة على درجة الحرارة في التحليل النمطي.
تحليل التوصيل الحراري¶
لعناصر الوصلة والمستوى والمجسم واللوحة ثلاثية الأبعاد
!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> | اسم المادة؛ يقابل MATERIAL في !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 أعلاه معلمات الفجوة لعناصر الواجهة التي تنتمي إلى المجموعة name=GAP.
- المعلمة الأولى: عرض الفجوة
- المعلمة الثانية: معامل انتقال الحرارة عبر الفجوة
- المعلمة الثالثة: معامل إشعاع الفجوة 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