Keri sisuni

Elastoplastse deformatsiooni alamprogrammid (uyield.f90)

Elastoplastse jäikusmaatriksi ja pinge tagastuskaardistuse arvutamiseks on olemas alamprogrammid. Kasutaja määratletud voolavusfunktsiooni kasutamisel määrake sisendfailis esmalt !PLASTIC, YIELD=USER ja sisestage vajalikud materjalikonstandid, seejärel tuleb luua funktsioon uElastoPlasticNumStatus ning alamprogrammid uElastoPlasticMatrix ja uBackwardEuler ning need rakendada.

(1) Reaalarvuliste olekumuutujate arvu tagastav funktsioon

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Materjalikonstante salvestav massiiv (1-100: süsteemi määratletud materjalikonstandid, 101-200: kasutaja määratletud materjalikonstandid)

(2) Elastoplastse jäikusmaatriksi arvutamise alamprogramm

  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: Materjalikonstante salvestav massiiv (1-100: süsteemi määratletud materjalikonstandid, 101-200: kasutaja määratletud materjalikonstandid)
  • stress: 2. Piola-Kirchhoffi pinge
  • istat: Täisarvuline olekumuutuja
  • fstat: Reaalarvuliste olekumuutujate massiiv
  • plstrain: Plastiline deformatsioon praeguse alamsammu alguses
  • D: Elastoplastne maatriks
  • temp: Temperatuur
  • hdflag: Arvuta kõik komponendid (0), ainult deviaatorikomponendid (1) või ainult mahukomponendid (2)

(3) Pinge tagastuskaardistuse arvutamise alamprogramm

  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: Materjalikonstante salvestav massiiv (1-100: süsteemi määratletud materjalikonstandid, 101-200: kasutaja määratletud materjalikonstandid)
  • stress: 2. Piola-Kirchhoffi pinge, mis saadakse proovipinge jaoks elastset deformatsiooni eeldades
  • plstrain: Plastiline deformatsioon praeguse alamsammu alguses
  • istat: Täisarvuline olekumuutuja
  • fstat: Reaalarvuliste olekumuutujate massiiv
  • temp: Temperatuur
  • hdflag: Arvuta kõik komponendid (0), ainult deviaatorikomponendid (1) või ainult mahukomponendid (2)
AI-assisted translation May contain errors Official docs Status