Podprogramy pre používateľom definované materiály (umat.f)¶
Poskytuje rozhranie na analýzu deformácie všeobecných materiálov bez ohľadu na to, či sú elastické, hyperelastické alebo elastoplastické. Ak chcete použiť používateľom definovaný materiál, najprv nastavte !USER_MATERIAL vo vstupnom súbore a zadajte požadované materiálové konštanty, potom vytvorte podprogramy uMatlMatrix a uUpdate.
(1) Podprogram na výpočet matice tuhosti¶
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: Názov materiálumatl: Pole uchovávajúce materiálové konštanty (najviac 100)strain: Greenova-Lagrangeova deformáciastress: Druhé Piolovo-Kirchhoffovo napätiefstat: Stavové premennéD: Konštitutívny vzťahdtime: Časový prírastokttime: Celkový čas na začiatku aktuálneho časového prírastkutemperature: Teplota
(2) Podprogram na aktualizáciu deformácie a napätia¶
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: Názov materiálumatl: Pole uchovávajúce materiálové konštanty (najviac 100)strain: Deformáciastress: Druhé Piolovo-Kirchhoffovo napätiefstat: Stavové premennédtime: Časový prírastokttime: Celkový čas na začiatku aktuálneho časového prírastkutemperature: Teplota