Pereiti prie turinio

Elastoplastinės deformacijos paprogramės (uyield.f90)

Pateikiamos paprogramės elastoplastinio standumo matricai ir įtempių grąžinimo atvaizdavimui skaičiuoti. Naudojant naudotojo apibrėžtą takumo funkciją, pirmiausia įvesties faile nustatykite !PLASTIC, YIELD=USER ir įveskite reikalingas medžiagos konstantas, tada turi būti sukurtos funkcija uElastoPlasticNumStatus ir paprogramės uElastoPlasticMatrix bei uBackwardEuler.

(1) Funkcija, grąžinanti realiųjų būsenos kintamųjų skaičių

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: medžiagos konstantas saugantis masyvas (1-100: sistemos apibrėžtos medžiagos konstantos, 101-200: naudotojo apibrėžtos medžiagos konstantos)

(2) Elastoplastinio standumo matricos skaičiavimo paprogramė

  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: medžiagos konstantas saugantis masyvas (1-100: sistemos apibrėžtos medžiagos konstantos, 101-200: naudotojo apibrėžtos medžiagos konstantos)
  • stress: 2-asis Piola-Kirchhoff įtempis
  • istat: sveikasis būsenos kintamasis
  • fstat: realiųjų būsenos kintamųjų masyvas
  • plstrain: plastinė deformacija dabartinio požingsnio pradžioje
  • D: elastoplastinė matrica
  • temp: temperatūra
  • hdflag: skaičiuoti visas komponentes (0), tik deviatorines komponentes (1) arba tik tūrines komponentes (2)

(3) Įtempių grąžinimo atvaizdavimo skaičiavimo paprogramė

  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: medžiagos konstantas saugantis masyvas (1-100: sistemos apibrėžtos medžiagos konstantos, 101-200: naudotojo apibrėžtos medžiagos konstantos)
  • stress: 2-asis Piola-Kirchhoff įtempis, gautas bandomajam įtempiui darant tampriosios deformacijos prielaidą
  • plstrain: plastinė deformacija dabartinio požingsnio pradžioje
  • istat: sveikasis būsenos kintamasis
  • fstat: realiųjų būsenos kintamųjų masyvas
  • temp: temperatūra
  • hdflag: skaičiuoti visas komponentes (0), tik deviatorines komponentes (1) arba tik tūrines komponentes (2)
AI-assisted translation May contain errors Official docs Status