Subroutinen für elastoplastische Verformung (uyield.f90)¶
Für die Berechnung der elastoplastischen Steifigkeitsmatrix und der Spannungsrückführung stehen Subroutinen zur Verfügung.
Bei Verwendung einer benutzerdefinierten Fließfunktion ist zunächst !PLASTIC, YIELD=USER in der Eingabedatei zu setzen und die erforderlichen Materialkonstanten einzugeben;
anschließend müssen die Funktion uElastoPlasticNumStatus sowie die Subroutinen uElastoPlasticMatrix und uBackwardEuler
erstellt werden.
(1) Funktion, die die Anzahl reeller Zustandsvariablen zurückgibt¶
matl: Array zur Speicherung von Materialkonstanten (1-100: systemdefinierte Materialkonstanten, 101-200: benutzerdefinierte Materialkonstanten)
(2) Subroutine zur Berechnung der elastoplastischen Steifigkeitsmatrix¶
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: Array zur Speicherung von Materialkonstanten (1-100: systemdefinierte Materialkonstanten, 101-200: benutzerdefinierte Materialkonstanten)stress: 2. Piola-Kirchhoff-Spannungistat: Ganzzahlige Zustandsvariablefstat: Array reeller Zustandsvariablenplstrain: Plastische Dehnung zu Beginn des aktuellen UnterschrittsD: Elastoplastische Matrixtemp: Temperaturhdflag: Alle Komponenten (0), nur deviatorische Komponenten (1) oder nur volumetrische Komponenten (2) berechnen
(3) Subroutine zur Berechnung der Spannungsrückführung¶
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: Array zur Speicherung von Materialkonstanten (1-100: systemdefinierte Materialkonstanten, 101-200: benutzerdefinierte Materialkonstanten)stress: 2. Piola-Kirchhoff-Spannung, die unter Annahme elastischer Verformung für die Versuchsspannung erhalten wirdplstrain: Plastische Dehnung zu Beginn des aktuellen Unterschrittsistat: Ganzzahlige Zustandsvariablefstat: Array reeller Zustandsvariablentemp: Temperaturhdflag: Alle Komponenten (0), nur deviatorische Komponenten (1) oder nur volumetrische Komponenten (2) berechnen