Podprogramy dla odkształceń sprężysto-plastycznych (uyield.f90)¶
Dostępne są podprogramy do obliczania sprężysto-plastycznej macierzy sztywności oraz mapowania powrotnego naprężeń.
W przypadku używania zdefiniowanej przez użytkownika funkcji plastyczności należy najpierw ustawić !PLASTIC, YIELD=USER w pliku wejściowym i wprowadzić wymagane stałe materiałowe,
następnie funkcja uElastoPlasticNumStatus oraz podprogramy uElastoPlasticMatrix i uBackwardEuler
muszą zostać utworzone.
(1) Funkcja zwracająca liczbę rzeczywistych zmiennych stanu¶
matl: Tablica przechowująca stałe materiałowe (1-100: stałe materiałowe zdefiniowane przez system, 101-200: stałe materiałowe zdefiniowane przez użytkownika)
(2) Podprogram obliczający sprężysto-plastyczną macierz sztywności¶
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: Tablica przechowująca stałe materiałowe (1-100: stałe materiałowe zdefiniowane przez system, 101-200: stałe materiałowe zdefiniowane przez użytkownika)stress: Drugi tensor naprężeń Pioli-Kirchhoffaistat: Całkowitoliczbowa zmienna stanufstat: Tablica rzeczywistych zmiennych stanuplstrain: Odkształcenie plastyczne na początku bieżącego podkrokuD: Macierz sprężysto-plastycznatemp: Temperaturahdflag: Obliczanie wszystkich składowych (0), tylko składowych dewiatorowych (1) albo tylko składowych objętościowych (2)
(3) Podprogram obliczający mapowanie powrotne naprężeń¶
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: Tablica przechowująca stałe materiałowe (1-100: stałe materiałowe zdefiniowane przez system, 101-200: stałe materiałowe zdefiniowane przez użytkownika)stress: Drugi tensor naprężeń Pioli-Kirchhoffa uzyskany przy założeniu odkształcenia sprężystego dla naprężenia próbnegoplstrain: Odkształcenie plastyczne na początku bieżącego podkrokuistat: Całkowitoliczbowa zmienna stanufstat: Tablica rzeczywistych zmiennych stanutemp: Temperaturahdflag: Obliczanie wszystkich składowych (0), tylko składowych dewiatorowych (1) albo tylko składowych objętościowych (2)