Vai al contenuto

Subroutine per materiali definiti dall'utente (umat.f)

Fornisce un'interfaccia per l'analisi della deformazione di materiali generici, indipendentemente dal fatto che siano elastici, iperelastici o elastoplastici. Per utilizzare un materiale definito dall'utente, impostare innanzitutto !USER_MATERIAL nel file di input e inserire le costanti del materiale necessarie, quindi creare le subroutine uMatlMatrix e uUpdate.

(1) Subroutine per il calcolo della matrice di rigidezza

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: Nome del materiale
  • matl: Array che memorizza le costanti del materiale (massimo 100)
  • strain: Deformazione di Green-Lagrange
  • stress: Seconda tensione di Piola-Kirchhoff
  • fstat: Variabili di stato
  • D: Relazione costitutiva
  • dtime: Incremento temporale
  • ttime: Tempo totale all'inizio dell'incremento temporale corrente
  • temperature: Temperatura

(2) Subroutine per l'aggiornamento di deformazione e tensione

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: Nome del materiale
  • matl: Array che memorizza le costanti del materiale (massimo 100)
  • strain: Deformazione
  • stress: Seconda tensione di Piola-Kirchhoff
  • fstat: Variabili di stato
  • dtime: Incremento temporale
  • ttime: Tempo totale all'inizio dell'incremento temporale corrente
  • temperature: Temperatura