Vai al contenuto

Subroutine per la deformazione elastica (uelastic.f90)

Sono fornite subroutine per calcolare la matrice di rigidezza elastica e aggiornare la tensione nei problemi elastici e iperelastici. Per utilizzare una relazione costitutiva elastica o iperelastica definita dall’utente, impostare innanzitutto !ELASTIC, TYPE=USER o !HYPERELASTIC, TYPE=USER nel file di input e inserire le costanti del materiale richieste, quindi implementare le subroutine uElasticMatrix e uElasticUpdate.

(1) Subroutine per il calcolo della matrice di rigidezza elastica

subroutine uElasticMatrix( matl, strain, D )
    REAL(KIND=kreal), INTENT(IN) :: matl(:)
    REAL(KIND=kreal), INTENT(IN) :: strain(6)
    REAL(KIND=kreal), INTENT(OUT) :: D(6,6)
  • matl: Array che memorizza le costanti del materiale (massimo 100)
  • strain: Deformazione di Green-Lagrange
  • D: Matrice elastica

(2) Subroutine per il calcolo della tensione

subroutine uElasticUpdate ( matl, strain, stress )
    REAL(KIND=kreal), INTENT(IN) :: matl(:)
    REAL(KIND=kreal), INTENT(IN) :: strain(6)
    REAL(KIND=kreal), INTENT(OUT) :: stress(6)
  • matl: Array che memorizza le costanti del materiale (massimo 100)
  • strain: Deformazione di Green-Lagrange
  • stress: Tensione