Gå till innehållet

Subrutiner för användardefinierade material (umat.f)

Tillhandahåller ett gränssnitt för deformationsanalys av allmänna material, oavsett om de är elastiska, hyperelastiska eller elastoplastiska. För att använda ett användardefinierat material anger du först !USER_MATERIAL i indatafilen och matar in de materialkonstanter som krävs, och skapar sedan subrutinerna uMatlMatrix och uUpdate.

(1) Subrutin för beräkning av styvhetsmatrisen

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: Materialnamn
  • matl: Array som lagrar materialkonstanter (högst 100)
  • strain: Green–Lagrange-töjning
  • stress: Andra Piola–Kirchhoff-spänningen
  • fstat: Tillståndsvariabler
  • D: Konstitutiv relation
  • dtime: Tidsinkrement
  • ttime: Total tid vid början av det aktuella tidsinkrementet
  • temperature: Temperatur

(2) Subrutin för uppdatering av töjning och spänning

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: Materialnamn
  • matl: Array som lagrar materialkonstanter (högst 100)
  • strain: Töjning
  • stress: Andra Piola–Kirchhoff-spänningen
  • fstat: Tillståndsvariabler
  • dtime: Tidsinkrement
  • ttime: Total tid vid början av det aktuella tidsinkrementet
  • temperature: Temperatur
AI-assisted translation May contain errors Official docs Status