Slaan oor na inhoud

Subroetines vir elastoplastiese vervorming (uyield.f90)

Subroetines word verskaf om die elastoplastiese styfheidsmatriks en spanningsterugkartering te bereken. Wanneer 'n gebruikergedefinieerde vloeifunksie gebruik word, stel eers !PLASTIC, YIELD=USER in die invoerlêer en voer die vereiste materiaalkonstantes in; daarna moet die funksie uElastoPlasticNumStatus en die subroetines uElastoPlasticMatrix en uBackwardEuler geskep word.

(1) Funksie wat die aantal reële toestandveranderlikes teruggee

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: skikking wat materiaalkonstantes stoor (1–100: stelselgedefinieerde materiaalkonstantes, 101–200: gebruikergedefinieerde materiaalkonstantes)

(2) Subroetine vir die berekening van die elastoplastiese styfheidsmatriks

  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: skikking wat materiaalkonstantes stoor (1–100: stelselgedefinieerde materiaalkonstantes, 101–200: gebruikergedefinieerde materiaalkonstantes)
  • stress: 2de Piola-Kirchhoff-spanning
  • istat: heelgetal-toestandveranderlike
  • fstat: skikking van reële toestandveranderlikes
  • plstrain: plastiese rek aan die begin van die huidige substap
  • D: elastoplastiese matriks
  • temp: temperatuur
  • hdflag: bereken alle komponente (0), slegs deviatoriese komponente (1), of slegs volumetriese komponente (2)

(3) Subroetine vir spanningsterugkartering

  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: skikking wat materiaalkonstantes stoor (1–100: stelselgedefinieerde materiaalkonstantes, 101–200: gebruikergedefinieerde materiaalkonstantes)
  • stress: 2de Piola-Kirchhoff-spanning wat verkry word deur elastiese vervorming vir die proefspanning te veronderstel
  • plstrain: plastiese rek aan die begin van die huidige substap
  • istat: heelgetal-toestandveranderlike
  • fstat: skikking van reële toestandveranderlikes
  • temp: temperatuur
  • hdflag: bereken alle komponente (0), slegs deviatoriese komponente (1), of slegs volumetriese komponente (2)
AI-assisted translation May contain errors Official docs Status