Lewati ke isi

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 material
  • matl: Array yang menyimpan konstanta material (maksimum 100)
  • strain: Regangan Green-Lagrange
  • stress: Tegangan Piola-Kirchhoff kedua
  • fstat: Variabel keadaan
  • D: Relasi konstitutif
  • dtime: Inkremen waktu
  • ttime: Waktu total pada awal inkremen waktu saat ini
  • temperature: 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 material
  • matl: Array yang menyimpan konstanta material (maksimum 100)
  • strain: Regangan
  • stress: Tegangan Piola-Kirchhoff kedua
  • fstat: Variabel keadaan
  • dtime: Inkremen waktu
  • ttime: Waktu total pada awal inkremen waktu saat ini
  • temperature: Temperatur