Kihagyás

Elasztoplasztikus deformációhoz tartozó alprogramok (uyield.f90)

Az elasztoplasztikus merevségi mátrix kiszámítására és a feszültség visszatérítési leképezésére szolgáló alprogramok állnak rendelkezésre. Felhasználó által definiált folyási függvény használatakor először állítsa be a bemeneti fájlban az !PLASTIC, YIELD=USER értéket, és adja meg a szükséges anyagállandókat, majd létre kell hozni az uElastoPlasticNumStatus függvényt, valamint az uElastoPlasticMatrix és uBackwardEuler alprogramokat.

(1) A valós állapotváltozók számát visszaadó függvény

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Anyagállandókat tároló tömb (1-100: rendszer által definiált anyagállandók, 101-200: felhasználó által definiált anyagállandók)

(2) Az elasztoplasztikus merevségi mátrix kiszámítására szolgáló alprogram

  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: Anyagállandókat tároló tömb (1-100: rendszer által definiált anyagállandók, 101-200: felhasználó által definiált anyagállandók)
  • stress: 2. Piola–Kirchhoff-feszültség
  • istat: Egész értékű állapotváltozó
  • fstat: Valós állapotváltozók tömbje
  • plstrain: Képlékeny alakváltozás az aktuális allépés kezdetén
  • D: Elasztoplasztikus mátrix
  • temp: Hőmérséklet
  • hdflag: Az összes komponens (0), csak a deviátoros komponensek (1), vagy csak a térfogati komponensek (2) kiszámítása

(3) Alprogram a feszültség-visszatérítési leképezés kiszámításához

  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: Anyagállandókat tároló tömb (1-100: rendszer által definiált anyagállandók, 101-200: felhasználó által definiált anyagállandók)
  • stress: A próba-feszültséghez rugalmas deformációt feltételezve kapott 2. Piola–Kirchhoff-feszültség
  • plstrain: Képlékeny alakváltozás az aktuális allépés kezdetén
  • istat: Egész értékű állapotváltozó
  • fstat: Valós állapotváltozók tömbje
  • temp: Hőmérséklet
  • hdflag: Az összes komponens (0), csak a deviátoros komponensek (1), vagy csak a térfogati komponensek (2) kiszámítása
AI-assisted translation May contain errors Official docs Status