사용자 정의 재료용 서브루틴 (umat.f)¶
탄성, 초탄성 또는 탄소성 여부와 관계없이 일반 재료의 변형 해석을 위한 인터페이스를 제공합니다.
사용자 정의 재료를 사용하려면 먼저 입력 파일에 !USER_MATERIAL을 설정하고 필요한 재료 상수를 입력한 다음 uMatlMatrix 및 uUpdate 서브루틴을 작성합니다.
(1) 강성 행렬 계산 서브루틴¶
subroutine uMatlMatrix( mname, matl, strain, stress, fstat, D, dtime, ttime, temperature )
character(len=*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(in) :: stress(6)
real(kind=kreal), intent(in) :: fstat(:)
real(kind=kreal), intent(out) :: D(:,:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: 재료 이름matl: 재료 상수를 저장하는 배열(최대 100개)strain: Green-Lagrange 변형률stress: 제2 Piola-Kirchhoff 응력fstat: 상태 변수D: 구성 관계dtime: 시간 증분ttime: 현재 시간 증분 시작 시점의 총 시간temperature: 온도
(2) 변형률 및 응력 갱신 서브루틴¶
subroutine uUpdate( mname, matl, strain, stress, fstat, dtime, ttime, temperature )
character(len=\*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(inout) :: stress(6)
real(kind=kreal), intent(inout) :: fstat(:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: 재료 이름matl: 재료 상수를 저장하는 배열(최대 100개)strain: 변형률stress: 제2 Piola-Kirchhoff 응력fstat: 상태 변수dtime: 시간 증분ttime: 현재 시간 증분 시작 시점의 총 시간temperature: 온도