Subroutines voor elastoplastische vervorming (uyield.f90)¶
Er zijn subroutines beschikbaar voor het berekenen van de elastoplastische stijfheidsmatrix en de return-mapping van spanning.
Wanneer een door de gebruiker gedefinieerde vloeifunctie wordt gebruikt, stelt u eerst !PLASTIC, YIELD=USER in het invoerbestand in en voert u de vereiste materiaalconstanten in;
vervolgens moeten de functie uElastoPlasticNumStatus en de subroutines uElastoPlasticMatrix en uBackwardEuler
worden aangemaakt.
(1) Functie die het aantal reële toestandsvariabelen retourneert¶
matl: Array waarin materiaalconstanten worden opgeslagen (1-100: door het systeem gedefinieerde materiaalconstanten, 101-200: door de gebruiker gedefinieerde materiaalconstanten)
(2) Subroutine voor het berekenen van de elastoplastische stijfheidsmatrix¶
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: Array waarin materiaalconstanten worden opgeslagen (1-100: door het systeem gedefinieerde materiaalconstanten, 101-200: door de gebruiker gedefinieerde materiaalconstanten)stress: 2e Piola-Kirchhoff-spanningistat: Gehele toestandsvariabelefstat: Array van reële toestandsvariabelenplstrain: Plastische rek aan het begin van de huidige substapD: Elastoplastische matrixtemp: Temperatuurhdflag: Bereken alle componenten (0), alleen deviatorische componenten (1) of alleen volumetrische componenten (2)
(3) Subroutine voor de berekening van de spannings-return-mapping¶
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: Array waarin materiaalconstanten worden opgeslagen (1-100: door het systeem gedefinieerde materiaalconstanten, 101-200: door de gebruiker gedefinieerde materiaalconstanten)stress: 2e Piola-Kirchhoff-spanning die is verkregen door voor de proefspanning elastische vervorming aan te nemenplstrain: Plastische rek aan het begin van de huidige substapistat: Gehele toestandsvariabelefstat: Array van reële toestandsvariabelentemp: Temperatuurhdflag: Bereken alle componenten (0), alleen deviatorische componenten (1) of alleen volumetrische componenten (2)