Translation update pending
The Korean translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.
!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
(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 | 물성값(온도 의존 없음) |
참고:
- 재료명이 중복된 경우 오류가 발생한다.
!SECTION옵션에서 참조하는MATERIAL이 정의되어 있지 않은 경우 오류가 발생한다.!ELEMENT옵션에서 매개변수MATITEM을 사용하여 요소별로 물성을 입력한 경우의 값이 우선 사용된다. 이 경우!MATERIAL옵션을 사용하여 입력한 물성값은 사용되지 않는다.!ITEM=m하위 옵션의 수와 매개변수ITEM의 수가 일치하지 않거나 정의되지 않은 하위 옵션이 있는 경우 오류가 발생한다.!ITEM=m하위 옵션은 m이 작은 순서대로 배열하지 않아도 된다.SUBITEM=k하위 옵션과 온도 의존성을 사용하는 경우, 생략한 값은 "0.0"이 된다.- 온도 의존성을 사용하는 경우 온도가 낮은 순서대로 정의해야 한다.
- 온도 의존성을 사용하는 경우 같은 온도를 2회 이상 사용하면 오류가 발생한다.
사용 예
!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의 MATERIAL에 대응 |
| ITEM | <ITEMnum> | 사용자 정의 물성 항목 수(1 이상) <Young_modulus>-----영률(필수) <Poisson_ratio>-------포아송비(필수) <Density>--------------질량 밀도(ITEMnum=2일 때 필수) < Expansion_coeff >--선팽창 계수(ITEMnum=3일 때) |
(예)
!MATERIAL, NAME=M1,
ITEM=3 --- 재료명 M1의 재료에서는 3종의 물성값을 정의한다는 의미
!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
참고:
- 모드 해석에서는 온도 의존성이 있는 재료를 사용할 수 없다.
열전도 해석¶
링크, 평면, 솔리드, 3차원 판 요소의 경우
!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의 MATERIAL에 대응 |
ITEM | <ITEMnum> | 사용자 정의 물성 항목 수(항상 3) <Density>----------밀도 <Specific_heat>----비열 <Conductivity>-----열전도율 <Temperature>------온도 |
(예)
!MATERIAL, NAME=M1,
ITEM=3 --- 재료명 M1의 재료에서는 3종의 물성값을 정의한다는 의미
!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에서는 인터페이스 요소 중 그룹명=GAP에 속하는 요소의 갭 매개변수를 정의한다.
- 제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