Felhasználó által definiált anyagokhoz tartozó szubrutinok (umat.f)¶
Általános anyagok alakváltozás-analíziséhez biztosít interfészt, függetlenül attól, hogy rugalmas, hiperelasztikus vagy elasztoplasztikus anyagról van szó.
Felhasználó által definiált anyag használatához először állítsa be az !USER_MATERIAL kulcsszót a bemeneti fájlban, adja meg a szükséges anyagállandókat, majd hozza létre az uMatlMatrix és uUpdate szubrutinokat.
(1) A merevségi mátrixot számító szubrutin¶
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: Anyagnévmatl: Az anyagállandókat tároló tömb (legfeljebb 100)strain: Green-Lagrange-alakváltozásstress: 2. Piola-Kirchhoff-feszültségfstat: ÁllapotváltozókD: Konstitutív összefüggésdtime: Időlépésközttime: Az aktuális időlépésköz kezdetének teljes idejetemperature: Hőmérséklet
(2) Az alakváltozást és feszültséget frissítő számítási szubrutin¶
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: Anyagnévmatl: Az anyagállandókat tároló tömb (legfeljebb 100)strain: Alakváltozásstress: 2. Piola-Kirchhoff-feszültségfstat: Állapotváltozókdtime: Időlépésközttime: Az aktuális időlépésköz kezdetének teljes idejetemperature: Hőmérséklet