Podprogramy pro uživatelsky definované materiály (umat.f)¶
Poskytuje rozhraní pro deformační analýzu obecných materiálů bez ohledu na to, zda jsou elastické, hyperelastické nebo elastoplastické.
Chcete-li použít uživatelsky definovaný materiál, nejprve nastavte v souboru vstupu !USER_MATERIAL a zadejte požadované materiálové konstanty a poté vytvořte podprogramy uMatlMatrix a uUpdate.
(1) Podprogram pro 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ázev materiálumatl: Pole uchovávající materiálové konstanty (maximálně 100)strain: Green-Lagrangeovo přetvořenístress: 2. Piola-Kirchhoffovo napětífstat: Stavové proměnnéD: Konstitutivní vztahdtime: Časový přírůstekttime: Celkový čas na začátku aktuálního časového přírůstkutemperature: Teplota
(2) Podprogram pro aktualizaci přetvoření a napětí¶
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ázev materiálumatl: Pole uchovávající materiálové konstanty (maximálně 100)strain: Přetvořenístress: 2. Piola-Kirchhoffovo napětífstat: Stavové proměnnédtime: Časový přírůstekttime: Celkový čas na začátku aktuálního časového přírůstkutemperature: Teplota