Bỏ qua

Chương trình con liên quan đến biến dạng đàn dẻo (uyield.f90)

Cung cấp các chương trình con để tính ma trận độ cứng đàn dẻo và return mapping của ứng suất. Khi sử dụng hàm chảy do người dùng định nghĩa, trước tiên cần thiết lập !PLASTIC, YIELD=USER 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 hàm uElastoPlasticNumStatus và các chương trình con uElastoPlasticMatrixuBackwardEuler.

(1) Hàm trả về số lượng biến trạng thái kiểu số thực

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Mảng lưu các hằng số vật liệu (1-100: hằng số vật liệu do hệ thống định nghĩa, 101-200: hằng số vật liệu do người dùng định nghĩa)

(2) Chương trình con tính ma trận độ cứng đàn dẻo

  subroutine uElastoPlasticMatrix( matl, stress, istat, fstat, plstrain, D, temp, hdflag )
    real(kind=kreal),   intent(in)  :: matl(:)
    real(kind=kreal),   intent(in)  :: stress(6)
    integer(kind=kint), intent(in)  :: istat
    real(kind=kreal),   intent(in)  :: fstat(:)
    real(kind=kreal),   intent(in)  :: plstrain
    real(kind=kreal),   intent(out) :: D(:,:)
    real(kind=kreal),   intent(in)  :: temp
    integer(kind=kint), intent(in)  :: hdflag
  • matl: Mảng lưu các hằng số vật liệu (1-100: hằng số vật liệu do hệ thống định nghĩa, 101-200: hằng số vật liệu do người dùng định nghĩa)
  • stress: Ứng suất Piola-Kirchhoff bậc hai
  • istat: Biến trạng thái kiểu số nguyên
  • fstat: Mảng biến trạng thái kiểu số thực
  • plstrain: Biến dạng dẻo tại thời điểm bắt đầu bước con hiện tại
  • D: Ma trận đàn dẻo
  • temp: Nhiệt độ
  • hdflag: Tính toàn bộ thành phần (0), chỉ thành phần lệch (1), hoặc chỉ thành phần thể tích (2)

(3) Chương trình con tính Return mapping của ứng suất

  subroutine uBackwardEuler( matl, stress, plstrain, istat, fstat, temp, hdflag )
    real(kind=kreal),   intent(in)    :: matl(:)
    real(kind=kreal),   intent(inout) :: stress(6)
    real(kind=kreal),   intent(in)    :: plstrain
    integer(kind=kint), intent(inout) :: istat
    real(kind=kreal),   intent(inout) :: fstat(:)
    real(kind=kreal),   intent(in)    :: temp
    integer(kind=kint), intent(in)    :: hdflag
  • matl: Mảng lưu các hằng số vật liệu (1-100: hằng số vật liệu do hệ thống định nghĩa, 101-200: hằng số vật liệu do người dùng định nghĩa)
  • stress: Trial stress, tức ứng suất Piola-Kirchhoff bậc hai thu được khi giả thiết biến dạng đàn hồi
  • plstrain: Biến dạng dẻo tại thời điểm bắt đầu bước con hiện tại
  • istat: Biến trạng thái kiểu số nguyên
  • fstat: Mảng biến trạng thái kiểu số thực
  • temp: Nhiệt độ
  • hdflag: Tính toàn bộ thành phần (0), chỉ thành phần lệch (1), hoặc chỉ thành phần thể tích (2)
AI-assisted translation May contain errors Official docs Status