Subroutinen für benutzerdefinierte Materialien (umat.f)¶
Bietet eine Schnittstelle für die Verformungsanalyse allgemeiner Materialien, unabhängig davon, ob es sich um elastische, hyperelastische oder elastoplastische Materialien handelt.
Wenn ein benutzerdefiniertes Material verwendet werden soll, muss zunächst in der Eingabedatei !USER_MATERIAL gesetzt und die erforderlichen Materialkonstanten eingegeben werden, und anschließend müssen die Subroutinen uMatlMatrix und uUpdate erstellt werden.
(1) Subroutine zur Berechnung der Steifigkeitsmatrix¶
subroutine uMatlMatrix( mname, matl, strain, stress, fstat, D, dtime, ttime, temperature )
character(len=*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(in) :: stress(6)
real(kind=kreal), intent(in) :: fstat(:)
real(kind=kreal), intent(out) :: D(:,:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: Materialnamematl: Array zur Speicherung der Materialkonstanten (maximal 100)strain: Green-Lagrange-Dehnungstress: 2. Piola-Kirchhoff-Spannungfstat: ZustandsvariablenD: Konstitutivgleichungdtime: Zeitschrittweitettime: Gesamtzeit zu Beginn des aktuellen Zeitschrittstemperature: Temperatur
(2) Subroutine zur Aktualisierungsberechnung von Dehnung und Spannung¶
subroutine uUpdate( mname, matl, strain, stress, fstat, dtime, ttime, temperature )
character(len=\*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(inout) :: stress(6)
real(kind=kreal), intent(inout) :: fstat(:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: Materialnamematl: Array zur Speicherung der Materialkonstanten (maximal 100)strain: Dehnungstress: 2. Piola-Kirchhoff-Spannungfstat: Zustandsvariablendtime: Zeitschrittweitettime: Gesamtzeit zu Beginn des aktuellen Zeitschrittstemperature: Temperatur