Υπορουτίνες για ελαστοπλαστική παραμόρφωση (uyield.f90)¶
Παρέχονται υπορουτίνες για τον υπολογισμό του ελαστοπλαστικού μητρώου δυσκαμψίας και της απεικόνισης επιστροφής τάσης. Όταν χρησιμοποιείται συνάρτηση διαρροής ορισμένη από τον χρήστη, ορίστε πρώτα !PLASTIC, YIELD=USER στο αρχείο εισόδου και εισαγάγετε τις απαιτούμενες σταθερές υλικού, και στη συνέχεια πρέπει να δημιουργηθούν η συνάρτηση uElastoPlasticNumStatus και οι υπορουτίνες uElastoPlasticMatrix και uBackwardEuler.
(1) Συνάρτηση που επιστρέφει τον αριθμό των πραγματικών μεταβλητών κατάστασης¶
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-Kirchhoffistat: Ακέραια μεταβλητή κατάστασης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)