Gå til innhold

Subrutiner for elastoplastisk deformasjon (uyield.f90)

Det tilbys subrutiner for beregning av den elastoplastiske stivhetsmatrisen og return mapping av spenning. Når en brukerdefinert flytefunksjon brukes, må du først angi !PLASTIC, YIELD=USER i inndatafilen og legge inn de nødvendige materialkonstantene, deretter må funksjonen uElastoPlasticNumStatus og subrutinene uElastoPlasticMatrix og uBackwardEuler opprettes.

(1) Funksjon som returnerer antall reelle tilstandsvariabler

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Matrise som lagrer materialkonstanter (1-100: systemdefinerte materialkonstanter, 101-200: brukerdefinerte materialkonstanter)

(2) Subrutine for beregning av den elastoplastiske stivhetsmatrisen

  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: Matrise som lagrer materialkonstanter (1-100: systemdefinerte materialkonstanter, 101-200: brukerdefinerte materialkonstanter)
  • stress: 2. Piola-Kirchhoff-spenning
  • istat: Heltalls tilstandsvariabel
  • fstat: Matrise med reelle tilstandsvariabler
  • plstrain: Plastisk tøyning ved starten av gjeldende delsteg
  • D: Elastoplastisk matrise
  • temp: Temperatur
  • hdflag: Beregn alle komponenter (0), bare deviatoriske komponenter (1) eller bare volumkomponenter (2)

(3) Subrutine for beregning av return mapping for spenning

  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: Matrise som lagrer materialkonstanter (1-100: systemdefinerte materialkonstanter, 101-200: brukerdefinerte materialkonstanter)
  • stress: 2. Piola-Kirchhoff-spenning oppnådd ved å anta elastisk deformasjon for trial stress
  • plstrain: Plastisk tøyning ved starten av gjeldende delsteg
  • istat: Heltalls tilstandsvariabel
  • fstat: Matrise med reelle tilstandsvariabler
  • temp: Temperatur
  • hdflag: Beregn alle komponenter (0), bare deviatoriske komponenter (1) eller bare volumkomponenter (2)
AI-assisted translation May contain errors Official docs Status