Skip to content

Subrutini zinazohusiana na mgeuko elastoplastiki (uyield.f90)

Subrutini hizi hutumika kukokotoa matriki ya ugumu elastoplastiki na urejeshaji wa ramani ya mkazo. Unapotumia kitendakazi cha kutiririka kilichofafanuliwa na mtumiaji, kwanza weka !PLASTIC, YIELD=USER kwenye faili ya ingizo na uingize konstanti za nyenzo zinazohitajika, kisha unda kitendakazi uElastoPlasticNumStatus pamoja na subrutini uElastoPlasticMatrix na uBackwardEuler.

(1) Kitendakazi kinachorudisha idadi ya vigezo halisi vya hali

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Safu inayohifadhi konstanti za nyenzo (1-100: konstanti za nyenzo zilizofafanuliwa na mfumo, 101-200: konstanti za nyenzo zilizofafanuliwa na mtumiaji)

(2) Subrutini ya kukokotoa matriki ya ugumu elastoplastiki

  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: Safu inayohifadhi konstanti za nyenzo (1-100: konstanti za nyenzo zilizofafanuliwa na mfumo, 101-200: konstanti za nyenzo zilizofafanuliwa na mtumiaji)
  • stress: Mkazo wa pili wa Piola-Kirchhoff
  • istat: Kigezo cha hali cha nambari kamili
  • fstat: Safu ya vigezo halisi vya hali
  • plstrain: Mnyumbuko wa plastiki mwanzoni mwa hatua ndogo ya sasa
  • D: Matriki ya elastoplastiki
  • temp: Halijoto
  • hdflag: Hukokotoa vipengele vyote (0), vipengele vya deviatoric pekee (1), au vipengele vya ujazo pekee (2)

(3) Subrutini ya kukokotoa urejeshaji wa ramani ya mkazo

  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: Safu inayohifadhi konstanti za nyenzo (1-100: konstanti za nyenzo zilizofafanuliwa na mfumo, 101-200: konstanti za nyenzo zilizofafanuliwa na mtumiaji)
  • stress: Mkazo wa pili wa Piola-Kirchhoff uliopatikana kama mkazo wa majaribio kwa kudhani mgeuko elastiki
  • plstrain: Mnyumbuko wa plastiki mwanzoni mwa hatua ndogo ya sasa
  • istat: Kigezo cha hali cha nambari kamili
  • fstat: Safu ya vigezo halisi vya hali
  • temp: Halijoto
  • hdflag: Hukokotoa vipengele vyote (0), vipengele vya deviatoric pekee (1), au vipengele vya ujazo pekee (2)