!MATERIAL¶
تعریف خواص ماده
اگر خواص به دما وابسته باشند، میتوان برای هر دمای متناظر دادهها را بهصورت جدول وارد کرد.
خط 1
| پارامتر | |
|---|---|
NAME | نام ماده (الزامی) |
ITEM | تعداد آیتمهای خواص (اختیاری؛ در صورت حذف، «1» در نظر گرفته میشود) |
INPUT | نام فایل خارجی (اختیاری) |
| نام پارامتر | مقدار پارامتر | توضیح |
|---|---|---|
NAME | <name> | نام ماده |
ITEM | <ITEMnum> | تعداد آیتمهای خواص تعریفشده توسط کاربر |
INPUT | <filename> | نام فایل خارجی (اختیاری)؛ میتوان همزمان با خط 2 به بعد نیز استفاده کرد |
خط 2 و بعد از آن
(خط 2) !ITEM=1, SUBITEM=<k>
(خط 3) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(خط 4) 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 | مقدار خاصیت (بدون وابستگی به دما) |
نکته:
- تکراری بودن نام ماده خطا ایجاد میکند.
- اگر
MATERIALارجاعشده با گزینه!SECTIONتعریف نشده باشد، خطا ایجاد میشود.- اگر خواص برای هر المان با پارامتر
MATITEMدر گزینه!ELEMENTوارد شده باشند، آن مقادیر اولویت دارند. در این حالت مقادیر خواصی که با گزینه!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
نکته:
- در تحلیل مودال نمیتوان از مادهٔ وابسته به دما استفاده کرد.
تحلیل هدایت حرارتی¶
برای المانهای link، plane، solid و plate سهبعدی
!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.
برای المان interface
در هدر !SECTION تعریف میشود. (داده ماده لازم نیست)
(مثال)
در !SECTION بالا، پارامترهای gap برای المانهای interface متعلق به گروه با نام GAP تعریف شدهاند.
- پارامتر 1: عرض gap
- پارامتر 2: ضریب انتقال حرارت gap
- پارامتر 3: ضریب تابش gap 1
- پارامتر 4: ضریب تابش gap 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