Subrutine pentru deformație elastoplastică (uyield.f90)¶
Sunt furnizate subrutine pentru calculul matricei de rigiditate elastoplastică și pentru maparea de revenire a tensiunii.
Când se utilizează o funcție de curgere definită de utilizator, setați mai întâi !PLASTIC, YIELD=USER în fișierul de intrare,
introduceți constantele de material necesare,
apoi trebuie create funcția uElastoPlasticNumStatus și subrutinele uElastoPlasticMatrix și uBackwardEuler.
(1) Funcție care returnează numărul variabilelor de stare reale¶
matl: Tabou care stochează constantele de material (1-100: constante de material definite de sistem, 101-200: constante de material definite de utilizator)
(2) Subrutină pentru calculul matricei de rigiditate elastoplastică¶
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: Tabou care stochează constantele de material (1-100: constante de material definite de sistem, 101-200: constante de material definite de utilizator)stress: A doua tensiune Piola-Kirchhoffistat: Variabilă de stare întreagăfstat: Tabou de variabile de stare realeplstrain: Deformația plastică la începutul subpasului curentD: Matrice elastoplasticătemp: Temperaturăhdflag: Calculează toate componentele (0), numai componentele deviatorice (1) sau numai componentele volumice (2)
(3) Subrutină pentru calculul mapării de revenire a tensiunii¶
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: Tabou care stochează constantele de material (1-100: constante de material definite de sistem, 101-200: constante de material definite de utilizator)stress: A doua tensiune Piola-Kirchhoff obținută presupunând o deformație elastică pentru tensiunea de încercareplstrain: Deformația plastică la începutul subpasului curentistat: Variabilă de stare întreagăfstat: Tabou de variabile de stare realetemp: Temperaturăhdflag: Calculează toate componentele (0), numai componentele deviatorice (1) sau numai componentele volumice (2)