ซับรูทีนที่เกี่ยวข้องกับการเปลี่ยนรูปอีลาสโตพลาสติก (uyield.f90)¶
มีซับรูทีนสำหรับคำนวณเมทริกซ์ความแข็งอีลาสโตพลาสติกและการแม็ปกลับ (return mapping) ของความเค้น เมื่อใช้ฟังก์ชันครากที่ผู้ใช้กำหนด ให้ตั้งค่า !PLASTIC, YIELD=USER ในไฟล์อินพุตและป้อนค่าคงที่ของวัสดุที่จำเป็นก่อน จากนั้นฟังก์ชัน uElastoPlasticNumStatus และซับรูทีน uElastoPlasticMatrix กับ uBackwardEuler จำเป็นต้องสร้างขึ้น
(1) ฟังก์ชันที่คืนจำนวนตัวแปรสถานะชนิดจำนวนจริง¶
matl: อาร์เรย์สำหรับเก็บค่าคงที่ของวัสดุ (1-100: ค่าคงที่ของวัสดุที่ระบบกำหนด, 101-200: ค่าคงที่ของวัสดุที่ผู้ใช้กำหนด)
(2) ซับรูทีนคำนวณเมทริกซ์ความแข็งอีลาสโตพลาสติก¶
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: อาร์เรย์สำหรับเก็บค่าคงที่ของวัสดุ (1-100: ค่าคงที่ของวัสดุที่ระบบกำหนด, 101-200: ค่าคงที่ของวัสดุที่ผู้ใช้กำหนด)stress: ความเค้น 2nd Piola-Kirchhoffistat: ตัวแปรสถานะชนิดจำนวนเต็มfstat: อาร์เรย์ของตัวแปรสถานะชนิดจำนวนจริงplstrain: ความเครียดพลาสติก ณ จุดเริ่มต้นของซับสเต็ปปัจจุบันD: เมทริกซ์อีลาสโตพลาสติกtemp: อุณหภูมิhdflag: คำนวณทุกองค์ประกอบ (0), เฉพาะองค์ประกอบเบี่ยงเบน (1), หรือเฉพาะองค์ประกอบเชิงปริมาตร (2)
(3) ซับรูทีนคำนวณการแม็ปกลับของความเค้น¶
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: อาร์เรย์สำหรับเก็บค่าคงที่ของวัสดุ (1-100: ค่าคงที่ของวัสดุที่ระบบกำหนด, 101-200: ค่าคงที่ของวัสดุที่ผู้ใช้กำหนด)stress: ความเค้น 2nd Piola-Kirchhoff ที่ได้โดยสมมติการเปลี่ยนรูปแบบยืดหยุ่นสำหรับความเค้นทดลองplstrain: ความเครียดพลาสติก ณ จุดเริ่มต้นของซับสเต็ปปัจจุบันistat: ตัวแปรสถานะชนิดจำนวนเต็มfstat: อาร์เรย์ของตัวแปรสถานะชนิดจำนวนจริงtemp: อุณหภูมิhdflag: คำนวณทุกองค์ประกอบ (0), เฉพาะองค์ประกอบเบี่ยงเบน (1), หรือเฉพาะองค์ประกอบเชิงปริมาตร (2)