Ga naar inhoud

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

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • 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-spanning
  • istat: Gehele toestandsvariabele
  • fstat: Array van reële toestandsvariabelen
  • plstrain: Plastische rek aan het begin van de huidige substap
  • D: Elastoplastische matrix
  • temp: Temperatuur
  • hdflag: 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 nemen
  • plstrain: Plastische rek aan het begin van de huidige substap
  • istat: Gehele toestandsvariabele
  • fstat: Array van reële toestandsvariabelen
  • temp: Temperatuur
  • hdflag: Bereken alle componenten (0), alleen deviatorische componenten (1) of alleen volumetrische componenten (2)
AI-assisted translation May contain errors Official docs Status