Subrutines relacionades amb materials definits per l'usuari (umat.f)¶
Proporciona una interfície per a l'anàlisi de deformació de materials generals, independentment de si són elàstics, hiperelàstics o elastoplàstics. Per utilitzar un material definit per l'usuari, primer cal configurar !USER_MATERIAL al fitxer d'entrada i introduir les constants de material necessàries, i després crear les subrutines uMatlMatrix i uUpdate.
(1) Subrutina per calcular la matriu de rigidesa¶
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: Nom del materialmatl: Matriu que emmagatzema les constants del material (màxim 100)strain: Deformació de Green-Lagrangestress: Segona tensió de Piola-Kirchhofffstat: Variables d'estatD: Relació constitutivadtime: Increment de tempsttime: Temps total al començament de l'increment de temps actualtemperature: Temperatura
(2) Subrutina per actualitzar la deformació i la tensió¶
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: Nom del materialmatl: Matriu que emmagatzema les constants del material (màxim 100)strain: Deformacióstress: Segona tensió de Piola-Kirchhofffstat: Variables d'estatdtime: Increment de tempsttime: Temps total al començament de l'increment de temps actualtemperature: Temperatura