विषय पर बढ़ें

Elastoplastic Deformation के लिए Subroutines (uyield.f90)

Elastoplastic stiffness matrix और stress return mapping की गणना के लिए subroutines उपलब्ध हैं। User-defined yield function का उपयोग करते समय पहले input file में !PLASTIC, YIELD=USER सेट करें और आवश्यक material constants दर्ज करें, फिर function uElastoPlasticNumStatus तथा subroutines uElastoPlasticMatrix और uBackwardEuler बनाने होते हैं।

(1) Real state variables की संख्या लौटाने वाला function

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Material constants रखने वाला array (1-100: system-defined material constants, 101-200: user-defined material constants)

(2) Elastoplastic stiffness matrix की गणना के लिए subroutine

  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: Material constants रखने वाला array (1-100: system-defined material constants, 101-200: user-defined material constants)
  • stress: 2nd Piola-Kirchhoff stress
  • istat: Integer state variable
  • fstat: Real state variables का array
  • plstrain: वर्तमान substep के प्रारंभ में plastic strain
  • D: Elastoplastic matrix
  • temp: Temperature
  • hdflag: सभी components की गणना (0), केवल deviatoric components (1), या केवल volumetric components (2)

(3) Stress return mapping calculation के लिए subroutine

  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: Material constants रखने वाला array (1-100: system-defined material constants, 101-200: user-defined material constants)
  • stress: Trial stress के लिए elastic deformation मानकर प्राप्त 2nd Piola-Kirchhoff stress
  • plstrain: वर्तमान substep के प्रारंभ में plastic strain
  • istat: Integer state variable
  • fstat: Real state variables का array
  • temp: Temperature
  • hdflag: सभी components की गणना (0), केवल deviatoric components (1), या केवल volumetric components (2)