Preskoči na sadržaj

Potprogrami za elastoplastičnu deformaciju (uyield.f90)

Dostupni su potprogrami za izračun elastoplastične matrice krutosti i povratno preslikavanje naprezanja. Pri uporabi korisnički definirane funkcije tečenja najprije postavite !PLASTIC, YIELD=USER u ulaznoj datoteci i unesite potrebne konstante materijala, a zatim implementirajte funkciju uElastoPlasticNumStatus i potprograme uElastoPlasticMatrix i uBackwardEuler mora biti stvara se.

(1) Funkcija koja vraća broj realnih varijabli stanja

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Polje koje pohranjuje konstante materijala (1-100: sistemski definirane konstante materijala, 101-200: korisnički definirane konstante materijala)

(2) Potprogram za izračun elastoplastične matrice krutosti

  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: Polje koje pohranjuje konstante materijala (1-100: sistemski definirane konstante materijala, 101-200: korisnički definirane konstante materijala)
  • stress: Drugo Piola-Kirchhoffovo naprezanje
  • istat: Cjelobrojna varijabla stanja
  • fstat: Polje realnih varijabli stanja
  • plstrain: Plastična deformacija na početku trenutačnog podkoraka
  • D: Elastoplastična matrica
  • temp: Temperatura
  • hdflag: Izračunaj sve komponente (0), samo devijatorske komponente (1) ili samo volumetrijske komponente (2)

(3) Potprogram za izračun povratnog preslikavanja naprezanja

  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: Polje koje pohranjuje konstante materijala (1-100: sistemski definirane konstante materijala, 101-200: korisnički definirane konstante materijala)
  • stress: Drugo Piola-Kirchhoffovo naprezanje dobiveno pretpostavkom elastične deformacije za probno naprezanje
  • plstrain: Plastična deformacija na početku trenutačnog podkoraka
  • istat: Cjelobrojna varijabla stanja
  • fstat: Polje realnih varijabli stanja
  • temp: Temperatura
  • hdflag: Izračunaj sve komponente (0), samo devijatorske komponente (1) ili samo volumetrijske komponente (2)
AI-assisted translation May contain errors Official docs Status