Chương trình con cho vật liệu do người dùng định nghĩa (umat.f)¶
Cung cấp giao diện cho phân tích biến dạng của vật liệu tổng quát, bất kể vật liệu là đàn hồi, siêu đàn hồi hay đàn hồi-dẻo.
Để sử dụng vật liệu do người dùng định nghĩa, trước tiên đặt !USER_MATERIAL trong tệp đầu vào và nhập các hằng số vật liệu cần thiết, sau đó tạo các chương trình con uMatlMatrix và uUpdate.
(1) Chương trình con tính ma trận độ cứng¶
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: Tên vật liệumatl: Mảng lưu các hằng số vật liệu (tối đa 100)strain: Biến dạng Green-Lagrangestress: Ứng suất Piola-Kirchhoff bậc 2fstat: Các biến trạng tháiD: Quan hệ cấu thànhdtime: Gia số thời gianttime: Tổng thời gian tại thời điểm bắt đầu gia số thời gian hiện tạitemperature: Nhiệt độ
(2) Chương trình con cập nhật biến dạng và ứng suất¶
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: Tên vật liệumatl: Mảng lưu các hằng số vật liệu (tối đa 100)strain: Biến dạngstress: Ứng suất Piola-Kirchhoff bậc 2fstat: Các biến trạng tháidtime: Gia số thời gianttime: Tổng thời gian tại thời điểm bắt đầu gia số thời gian hiện tạitemperature: Nhiệt độ