Subrutin untuk Material yang Ditentukan Pengguna (umat.f)¶
Menyediakan antarmuka untuk analisis deformasi material umum, tanpa bergantung pada apakah material tersebut elastis, hiperelastis, atau elastoplastis.
Untuk menggunakan material yang ditentukan pengguna, pertama-tama tetapkan !USER_MATERIAL dalam file input dan masukkan konstanta material yang diperlukan, lalu buat subrutin uMatlMatrix dan uUpdate.
(1) Subrutin untuk Menghitung Matriks Kekakuan¶
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: Nama materialmatl: Array yang menyimpan konstanta material (maksimum 100)strain: Regangan Green-Lagrangestress: Tegangan Piola-Kirchhoff keduafstat: Variabel keadaanD: Relasi konstitutifdtime: Inkremen waktuttime: Waktu total pada awal inkremen waktu saat initemperature: Temperatur
(2) Subrutin untuk Memperbarui Regangan dan Tegangan¶
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: Nama materialmatl: Array yang menyimpan konstanta material (maksimum 100)strain: Reganganstress: Tegangan Piola-Kirchhoff keduafstat: Variabel keadaandtime: Inkremen waktuttime: Waktu total pada awal inkremen waktu saat initemperature: Temperatur