សាប់រូទីនសម្រាប់សម្ភារៈកំណត់ដោយអ្នកប្រើ (umat.f)¶
ផ្តល់ចំណុចប្រទាក់សម្រាប់ការវិភាគការខូចទ្រង់ទ្រាយនៃសម្ភារៈទូទៅ មិនថាជាអេលាស្ទិក ហៃពើអេលាស្ទិក ឬអេលាស្តូប្លាស្ទិកឡើយ។ ដើម្បីប្រើសម្ភារៈកំណត់ដោយអ្នកប្រើ ដំបូងកំណត់ !USER_MATERIAL ក្នុងឯកសារបញ្ចូល និងបញ្ចូលថេរសម្ភារៈដែលត្រូវការ បន្ទាប់មកត្រូវបង្កើតសាប់រូទីន uMatlMatrix និង uUpdate។
(1) សាប់រូទីនសម្រាប់គណនាម៉ាទ្រីសរឹង¶
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: ឈ្មោះសម្ភារៈmatl: អារេរក្សាទុកថេរសម្ភារៈ (អតិបរមា 100)strain: ស្ត្រេន Green-Lagrangestress: ស្ត្រេស Piola-Kirchhoff លំដាប់ទី 2fstat: អថេរស្ថានភាពD: សមីការទំនាក់ទំនងសម្ភារៈdtime: ពេលវេលាបន្ថែមttime: ពេលវេលាសរុបនៅដើមពេលវេលាបន្ថែមបច្ចុប្បន្នtemperature: សីតុណ្ហភាព
(2) សាប់រូទីនសម្រាប់ធ្វើបច្ចុប្បន្នភាពស្ត្រេន និងស្ត្រេស¶
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: ឈ្មោះសម្ភារៈmatl: អារេរក្សាទុកថេរសម្ភារៈ (អតិបរមា 100)strain: ស្ត្រេនstress: ស្ត្រេស Piola-Kirchhoff លំដាប់ទី 2fstat: អថេរស្ថានភាពdtime: ពេលវេលាបន្ថែមttime: ពេលវេលាសរុបនៅដើមពេលវេលាបន្ថែមបច្ចុប្បន្នtemperature: សីតុណ្ហភាព