Podprogrami za uporabniško definirane materiale (umat.f)¶
Zagotavlja vmesnik za analizo deformacij splošnih materialov ne glede na to, ali so elastični, hiperelastični ali elastoplastični. Za uporabo uporabniško definiranega materiala najprej nastavite !USER_MATERIAL v vhodni datoteki in vnesite zahtevane materialne konstante, nato pa ustvarite podprograma uMatlMatrix in uUpdate.
(1) Podprogram za izračun togostne matrike¶
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: Ime materialamatl: Polje, v katerem so shranjene materialne konstante (največ 100)strain: Green-Lagrangeev raztezekstress: 2. Piola-Kirchhoffova napetostfstat: Spremenljivke stanjaD: Konstitutivna zvezadtime: Časovni inkrementttime: Skupni čas na začetku trenutnega časovnega inkrementatemperature: Temperatura
(2) Podprogram za posodobitev raztezka in napetosti¶
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: Ime materialamatl: Polje, v katerem so shranjene materialne konstante (največ 100)strain: Raztezekstress: 2. Piola-Kirchhoffova napetostfstat: Spremenljivke stanjadtime: Časovni inkrementttime: Skupni čas na začetku trenutnega časovnega inkrementatemperature: Temperatura