ከኤላስቶፕላስቲክ መለወጥ ጋር የተያያዙ ንዑስ ፕሮግራሞች (uyield.f90)¶
የኤላስቶፕላስቲክ ግትርነት ማትሪክስን እና የስትሬስ return mappingን ለማስላት ንዑስ ፕሮግራሞችን ያቀርባል። በተጠቃሚ የተገለጸ የyield ፋንክሽን ለመጠቀም፣ መጀመሪያ በግቤት ፋይሉ ውስጥ !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-Kirchhoff ስትሬስistat: የኢንቲጀር ሁኔታ ተለዋዋጭfstat: የእውነተኛ-ቁጥር ሁኔታ ተለዋዋጮች ድርድርplstrain: በአሁኑ ንዑስ ስቴፕ መጀመሪያ ላይ ያለው ፕላስቲክ ስትሬይንD: ኤላስቶፕላስቲክ ማትሪክስtemp: ሙቀትhdflag: ሁሉንም ክፍሎች (0)፣ ዲቪያቶሪክ ክፍሎችን ብቻ (1)፣ ወይም ቮልዩሜትሪክ ክፍሎችን ብቻ (2) ያስላል
(3) የስትሬስ Return mapping ማስሊያ ንዑስ ፕሮግራም¶
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) ያስላል