Skoči na vsebino

Podprogrami za elastoplastično deformacijo (uyield.f90)

Na voljo so podprogrami za izračun elastoplastične matrike togosti in povratno preslikavo napetosti. Pri uporabi uporabniško definirane funkcije tečenja je treba najprej v vhodni datoteki nastaviti !PLASTIC, YIELD=USER in vnesti potrebne materialne konstante, nato pa ustvariti funkcijo uElastoPlasticNumStatus ter podprograma uElastoPlasticMatrix in uBackwardEuler.

(1) Funkcija, ki vrne število realnih spremenljivk stanja

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Polje za shranjevanje materialnih konstant (1-100: sistemsko definirane materialne konstante, 101-200: uporabniško definirane materialne konstante)

(2) Podprogram za izračun elastoplastične matrike togosti

  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: Polje za shranjevanje materialnih konstant (1-100: sistemsko definirane materialne konstante, 101-200: uporabniško definirane materialne konstante)
  • stress: 2. Piola-Kirchhoffova napetost
  • istat: Celoštevilska spremenljivka stanja
  • fstat: Polje realnih spremenljivk stanja
  • plstrain: Plastična deformacija na začetku trenutnega podkoraka
  • D: Elastoplastična matrika
  • temp: Temperatura
  • hdflag: Izračun vseh komponent (0), samo deviatorskih komponent (1) ali samo volumskih komponent (2)

(3) Podprogram za izračun povratne preslikave napetosti

  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: Polje za shranjevanje materialnih konstant (1-100: sistemsko definirane materialne konstante, 101-200: uporabniško definirane materialne konstante)
  • stress: Poskusna 2. Piola-Kirchhoffova napetost, dobljena ob predpostavki elastične deformacije
  • plstrain: Plastična deformacija na začetku trenutnega podkoraka
  • istat: Celoštevilska spremenljivka stanja
  • fstat: Polje realnih spremenljivk stanja
  • temp: Temperatura
  • hdflag: Izračun vseh komponent (0), samo deviatorskih komponent (1) ali samo volumskih komponent (2)
AI-assisted translation May contain errors Official docs Status