Preskočiť na obsah

Podprogramy súvisiace s elastoplastickou deformáciou (uyield.f90)

K dispozícii sú podprogramy na výpočet elastoplastickej matice tuhosti a return mapping napätia. Pri použití používateľom definovanej funkcie klzu najprv nastavte vo vstupnom súbore !PLASTIC, YIELD=USER a zadajte potrebné materiálové konštanty, potom je potrebné vytvoriť funkciu uElastoPlasticNumStatus, podprogram uElastoPlasticMatrix a uBackwardEuler.

(1) Funkcia vracajúca počet reálnych stavových premenných

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Pole na uchovanie materiálových konštánt (1-100: systémom definované materiálové konštanty, 101-200: používateľom definované materiálové konštanty)

(2) Podprogram na výpočet elastoplastickej matice tuhosti

  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: Pole na uchovanie materiálových konštánt (1-100: systémom definované materiálové konštanty, 101-200: používateľom definované materiálové konštanty)
  • stress: 2. Piola-Kirchhoffovo napätie
  • istat: Celočíselná stavová premenná
  • fstat: Pole reálnych stavových premenných
  • plstrain: Plastické pretvorenie na začiatku aktuálneho čiastkového kroku
  • D: Elastoplastická matica
  • temp: Teplota
  • hdflag: Vypočítať všetky zložky (0), iba deviatorické zložky (1) alebo iba objemové zložky (2)

(3) Podprogram na výpočet return mapping napätia

  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: Pole na uchovanie materiálových konštánt (1-100: systémom definované materiálové konštanty, 101-200: používateľom definované materiálové konštanty)
  • stress: Skúšobné 2. Piola-Kirchhoffovo napätie získané za predpokladu elastickej deformácie
  • plstrain: Plastické pretvorenie na začiatku aktuálneho čiastkového kroku
  • istat: Celočíselná stavová premenná
  • fstat: Pole reálnych stavových premenných
  • temp: Teplota
  • hdflag: Vypočítať všetky zložky (0), iba deviatorické zložky (1) alebo iba objemové zložky (2)
AI-assisted translation May contain errors Official docs Status