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: Materialnavnmatl: Array som lagrer materialkonstanter (maksimalt 100)strain: Green-Lagrange-tøyningstress: 2. Piola-Kirchhoff-spenningfstat: TilstandsvariablerD: Konstitutiv relasjondtime: Tidsinkrementttime: Total tid ved starten av gjeldende tidsinkrementtemperature: 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: Materialnavnmatl: Array som lagrer materialkonstanter (maksimalt 100)strain: Tøyningstress: 2. Piola-Kirchhoff-spenningfstat: Tilstandsvariablerdtime: Tidsinkrementttime: Total tid ved starten av gjeldende tidsinkrementtemperature: Temperatur