Podprogramy dla materiałów definiowanych przez użytkownika (umat.f)¶
Udostępnia interfejs do analizy deformacji materiałów ogólnych, niezależnie od tego, czy są sprężyste, hipersprężyste czy sprężysto-plastyczne.
Aby użyć materiału definiowanego przez użytkownika, należy najpierw ustawić !USER_MATERIAL w pliku wejściowym i wprowadzić wymagane stałe materiałowe, a następnie utworzyć podprogramy uMatlMatrix i uUpdate.
(1) Podprogram do obliczania macierzy sztywności¶
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: Nazwa materiałumatl: Tablica przechowująca stałe materiałowe (maksymalnie 100)strain: Odkształcenie Greena-Lagrange'astress: Drugie naprężenie Pioli-Kirchhoffafstat: Zmienne stanuD: Zależność konstytutywnadtime: Przyrost czasuttime: Całkowity czas na początku bieżącego przyrostu czasutemperature: Temperatura
(2) Podprogram do aktualizacji odkształcenia i naprężenia¶
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: Nazwa materiałumatl: Tablica przechowująca stałe materiałowe (maksymalnie 100)strain: Odkształceniestress: Drugie naprężenie Pioli-Kirchhoffafstat: Zmienne stanudtime: Przyrost czasuttime: Całkowity czas na początku bieżącego przyrostu czasutemperature: Temperatura