Gå til innhold

Subrutiner for brukerdefinerte materialer (umat.f)

Tilbyr et grensesnitt for deformasjonsanalyse av generelle materialer, uavhengig av om de er elastiske, hyperelastiske eller elastoplastiske. For å bruke et brukerdefinert materiale må du først angi !USER_MATERIAL i inndatafilen og legge inn de nødvendige materialkonstantene, og deretter opprette subrutinene uMatlMatrix og uUpdate.

(1) Subrutine for beregning av stivhetsmatrisen

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: Materialnavn
  • matl: Array som lagrer materialkonstanter (maksimalt 100)
  • strain: Green-Lagrange-tøyning
  • stress: 2. Piola-Kirchhoff-spenning
  • fstat: Tilstandsvariabler
  • D: Konstitutiv relasjon
  • dtime: Tidsinkrement
  • ttime: Total tid ved starten av gjeldende tidsinkrement
  • temperature: Temperatur

(2) Subrutine for oppdatering av tøyning og spenning

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: Materialnavn
  • matl: Array som lagrer materialkonstanter (maksimalt 100)
  • strain: Tøyning
  • stress: 2. Piola-Kirchhoff-spenning
  • fstat: Tilstandsvariabler
  • dtime: Tidsinkrement
  • ttime: Total tid ved starten av gjeldende tidsinkrement
  • temperature: Temperatur
AI-assisted translation May contain errors Official docs Status