Subrutiner til brugerdefinerede materialer (umat.f)¶
Leverer en grænseflade til deformationsanalyse af generelle materialer, uanset om de er elastiske, hyperelastiske eller elastoplastiske. For at anvende et brugerdefineret materiale skal !USER_MATERIAL først angives i inputfilen sammen med de nødvendige materialekonstanter. Derefter skal subrutinerne uMatlMatrix og uUpdate oprettes.
(1) Subrutine til beregning af stivhedsmatricen¶
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: Materialenavnmatl: Array, der lagrer materialekonstanter (maksimum 100)strain: Green-Lagrange-tøjningstress: 2. Piola-Kirchhoff-spændingfstat: TilstandsvariableD: Konstitutiv relationdtime: Tidsinkrementttime: Samlet tid ved begyndelsen af det aktuelle tidsinkrementtemperature: Temperatur
(2) Subrutine til opdatering af tøjning og spænding¶
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: Materialenavnmatl: Array, der lagrer materialekonstanter (maksimum 100)strain: Tøjningstress: 2. Piola-Kirchhoff-spændingfstat: Tilstandsvariabledtime: Tidsinkrementttime: Samlet tid ved begyndelsen af det aktuelle tidsinkrementtemperature: Temperatur