Μετάβαση στο περιεχόμενο

Υπορουτίνες για ελαστοπλαστική παραμόρφωση (uyield.f90)

Παρέχονται υπορουτίνες για τον υπολογισμό του ελαστοπλαστικού μητρώου δυσκαμψίας και της απεικόνισης επιστροφής τάσης. Όταν χρησιμοποιείται συνάρτηση διαρροής ορισμένη από τον χρήστη, ορίστε πρώτα !PLASTIC, YIELD=USER στο αρχείο εισόδου και εισαγάγετε τις απαιτούμενες σταθερές υλικού, και στη συνέχεια πρέπει να δημιουργηθούν η συνάρτηση uElastoPlasticNumStatus και οι υπορουτίνες uElastoPlasticMatrix και uBackwardEuler.

(1) Συνάρτηση που επιστρέφει τον αριθμό των πραγματικών μεταβλητών κατάστασης

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: Πίνακας που αποθηκεύει σταθερές υλικού (1-100: σταθερές υλικού ορισμένες από το σύστημα, 101-200: σταθερές υλικού ορισμένες από τον χρήστη)

(2) Υπορουτίνα για τον υπολογισμό του ελαστοπλαστικού μητρώου δυσκαμψίας

  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: Πίνακας που αποθηκεύει σταθερές υλικού (1-100: σταθερές υλικού ορισμένες από το σύστημα, 101-200: σταθερές υλικού ορισμένες από τον χρήστη)
  • stress: Δεύτερη τάση Piola-Kirchhoff
  • istat: Ακέραια μεταβλητή κατάστασης
  • fstat: Πίνακας πραγματικών μεταβλητών κατάστασης
  • plstrain: Πλαστική παραμόρφωση στην αρχή του τρέχοντος υποβήματος
  • D: Ελαστοπλαστικό μητρώο
  • temp: Θερμοκρασία
  • hdflag: Υπολογισμός όλων των συνιστωσών (0), μόνο των αποκλινουσών συνιστωσών (1) ή μόνο των ογκομετρικών συνιστωσών (2)

(3) Υπορουτίνα για τον υπολογισμό της απεικόνισης επιστροφής τάσης

  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: Πίνακας που αποθηκεύει σταθερές υλικού (1-100: σταθερές υλικού ορισμένες από το σύστημα, 101-200: σταθερές υλικού ορισμένες από τον χρήστη)
  • stress: Δεύτερη τάση Piola-Kirchhoff που προκύπτει θεωρώντας ελαστική παραμόρφωση για τη δοκιμαστική τάση
  • plstrain: Πλαστική παραμόρφωση στην αρχή του τρέχοντος υποβήματος
  • istat: Ακέραια μεταβλητή κατάστασης
  • fstat: Πίνακας πραγματικών μεταβλητών κατάστασης
  • temp: Θερμοκρασία
  • hdflag: Υπολογισμός όλων των συνιστωσών (0), μόνο των αποκλινουσών συνιστωσών (1) ή μόνο των ογκομετρικών συνιστωσών (2)
AI-assisted translation May contain errors Official docs Status