Zum Inhalt

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: Materialname
  • matl: Array zur Speicherung der Materialkonstanten (maximal 100)
  • strain: Green-Lagrange-Dehnung
  • stress: 2. Piola-Kirchhoff-Spannung
  • fstat: Zustandsvariablen
  • D: Konstitutivgleichung
  • dtime: Zeitschrittweite
  • ttime: Gesamtzeit zu Beginn des aktuellen Zeitschritts
  • temperature: 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: Materialname
  • matl: Array zur Speicherung der Materialkonstanten (maximal 100)
  • strain: Dehnung
  • stress: 2. Piola-Kirchhoff-Spannung
  • fstat: Zustandsvariablen
  • dtime: Zeitschrittweite
  • ttime: Gesamtzeit zu Beginn des aktuellen Zeitschritts
  • temperature: Temperatur