Salta el contingut

Subrutines relacionades amb la deformació elastoplàstica (uyield.f90)

Es proporcionen subrutines per calcular la matriu de rigidesa elastoplàstica i el return mapping de les tensions. Per utilitzar una funció de fluència definida per l’usuari, primer cal establir !PLASTIC, YIELD=USER al fitxer d’entrada i introduir les constants de material necessàries, i després implementar la funció uElastoPlasticNumStatus i les subrutines uElastoPlasticMatrix i uBackwardEuler .

(1) Funció que retorna el nombre de variables d’estat reals

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: matriu que emmagatzema les constants de material (1–100: constants de material definides pel sistema; 101–200: constants definides per l’usuari)

(2) Subrutina per calcular la matriu de rigidesa elastoplàstica

  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: matriu que emmagatzema les constants de material (1–100: constants de material definides pel sistema; 101–200: constants definides per l’usuari)
  • stress: tensió de 2n Piola-Kirchhoff
  • istat: variable d’estat entera
  • fstat: matriu de variables d’estat reals
  • plstrain: deformació plàstica a l’inici del subpas actual
  • D: matriu elastoplàstica
  • temp: temperatura
  • hdflag: calcula tots els components (0), només els desviadors (1) o només els volumètrics (2)

(3) Subrutina per calcular el return mapping de les tensions

  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: matriu que emmagatzema les constants de material (1–100: constants de material definides pel sistema; 101–200: constants definides per l’usuari)
  • stress: trial stress: tensió de 2n Piola-Kirchhoff obtinguda assumint deformació elàstica
  • plstrain: deformació plàstica a l’inici del subpas actual
  • istat: variable d’estat entera
  • fstat: matriu de variables d’estat reals
  • temp: temperatura
  • hdflag: calcula tots els components (0), només els desviadors (1) o només els volumètrics (2)
AI-assisted translation May contain errors Official docs Status