Subroutines voor door de gebruiker gedefinieerde materialen (umat.f)¶
Biedt een interface voor vervormingsanalyse van algemene materialen, ongeacht of deze elastisch, hyperelastisch of elastoplastisch zijn.
Om een door de gebruiker gedefinieerd materiaal te gebruiken, stelt u eerst !USER_MATERIAL in het invoerbestand in en voert u de vereiste materiaalconstanten in; vervolgens maakt u de subroutines uMatlMatrix en uUpdate.
(1) Subroutine voor het berekenen van de stijfheidsmatrix¶
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: Materiaalnaammatl: Array waarin materiaalconstanten worden opgeslagen (maximaal 100)strain: Green-Lagrange-rekstress: 2e Piola-Kirchhoff-spanningfstat: ToestandsvariabelenD: Constitutieve relatiedtime: Tijdincrementttime: Totale tijd aan het begin van het huidige tijdincrementtemperature: Temperatuur
(2) Subroutine voor het bijwerken van rek en spanning¶
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: Materiaalnaammatl: Array waarin materiaalconstanten worden opgeslagen (maximaal 100)strain: Rekstress: 2e Piola-Kirchhoff-spanningfstat: Toestandsvariabelendtime: Tijdincrementttime: Totale tijd aan het begin van het huidige tijdincrementtemperature: Temperatuur