Apakšprogrammas elastoplastiskai deformācijai (uyield.f90)¶
Tiek nodrošinātas apakšprogrammas elastoplastiskās stinguma matricas un sprieguma atgriezeniskās kartēšanas (return mapping) aprēķināšanai. Ja izmanto lietotāja definētu plūšanas funkciju, vispirms ievades failā jāiestata !PLASTIC, YIELD=USER un jāievada nepieciešamās materiāla konstantes, pēc tam jāizveido funkcija uElastoPlasticNumStatus un apakšprogrammas uElastoPlasticMatrix un uBackwardEuler.
(1) Funkcija, kas atgriež reālo stāvokļa mainīgo skaitu¶
matl: masīvs materiāla konstantu glabāšanai (1-100: sistēmas definētas materiāla konstantes, 101-200: lietotāja definētas materiāla konstantes)
(2) Elastoplastiskās stinguma matricas aprēķināšanas apakšprogramma¶
subroutine uElastoPlasticMatrix( matl, stress, istat, fstat, plstrain, D, temp, hdflag )
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: stress(6)
integer(kind=kint), intent(in) :: istat
real(kind=kreal), intent(in) :: fstat(:)
real(kind=kreal), intent(in) :: plstrain
real(kind=kreal), intent(out) :: D(:,:)
real(kind=kreal), intent(in) :: temp
integer(kind=kint), intent(in) :: hdflag
matl: masīvs materiāla konstantu glabāšanai (1-100: sistēmas definētas materiāla konstantes, 101-200: lietotāja definētas materiāla konstantes)stress: otrais Piolas–Kirhofa spriegumsistat: vesela skaitļa stāvokļa mainīgaisfstat: reālo stāvokļa mainīgo masīvsplstrain: plastiskā deformācija pašreizējā apakšsoļa sākumāD: elastoplastiskā matricatemp: temperatūrahdflag: aprēķināt visus komponentus (0), tikai deviatoriskos komponentus (1) vai tikai tilpuma komponentus (2)
(3) Sprieguma atgriezeniskās kartēšanas aprēķināšanas apakšprogramma¶
subroutine uBackwardEuler( matl, stress, plstrain, istat, fstat, temp, hdflag )
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(inout) :: stress(6)
real(kind=kreal), intent(in) :: plstrain
integer(kind=kint), intent(inout) :: istat
real(kind=kreal), intent(inout) :: fstat(:)
real(kind=kreal), intent(in) :: temp
integer(kind=kint), intent(in) :: hdflag
matl: masīvs materiāla konstantu glabāšanai (1-100: sistēmas definētas materiāla konstantes, 101-200: lietotāja definētas materiāla konstantes)stress: otrais Piolas–Kirhofa spriegums, kas iegūts, pieņemot elastīgu deformāciju izmēģinājuma spriegumamplstrain: plastiskā deformācija pašreizējā apakšsoļa sākumāistat: vesela skaitļa stāvokļa mainīgaisfstat: reālo stāvokļa mainīgo masīvstemp: temperatūrahdflag: aprēķināt visus komponentus (0), tikai deviatoriskos komponentus (1) vai tikai tilpuma komponentus (2)