Անցնել պարունակությանը

Առաձգապլաստիկ դեֆորմացիայի ենթածրագրեր (uyield.f90)

Տրամադրվում են ենթածրագրեր՝ առաձգապլաստիկ կոշտության մատրիցը և լարման վերադարձի քարտեզագրումը (return mapping) հաշվարկելու համար։ Օգտագործողի կողմից սահմանված հոսունության ֆունկցիա օգտագործելիս նախ մուտքային ֆայլում սահմանեք !PLASTIC, YIELD=USER և մուտքագրեք անհրաժեշտ նյութական հաստատունները, այնուհետև անհրաժեշտ է ստեղծել uElastoPlasticNumStatus ֆունկցիան և uElastoPlasticMatrix ու uBackwardEuler ենթածրագրերը։

(1) Իրական թվային վիճակի փոփոխականների քանակը վերադարձնող ֆունկցիա

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: նյութական հաստատունները պահող զանգված (1-100՝ համակարգով սահմանված նյութական հաստատուններ, 101-200՝ օգտագործողի կողմից սահմանված նյութական հաստատուններ)

(2) Առաձգապլաստիկ կոշտության մատրիցի հաշվարկման ենթածրագիր

  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: նյութական հաստատունները պահող զանգված (1-100՝ համակարգով սահմանված նյութական հաստատուններ, 101-200՝ օգտագործողի կողմից սահմանված նյութական հաստատուններ)
  • stress: երկրորդ Piola-Kirchhoff լարում
  • istat: ամբողջ թվային վիճակի փոփոխական
  • fstat: իրական թվային վիճակի փոփոխականների զանգված
  • plstrain: պլաստիկ դեֆորմացիան ընթացիկ ենթաքայլի սկզբում
  • D: առաձգապլաստիկ մատրից
  • temp: ջերմաստիճան
  • hdflag: հաշվարկել բոլոր բաղադրիչները (0), միայն դեվիատորային բաղադրիչները (1), կամ միայն ծավալային բաղադրիչները (2)

(3) Լարման վերադարձի քարտեզագրման (return mapping) հաշվարկման ենթածրագիր

  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: նյութական հաստատունները պահող զանգված (1-100՝ համակարգով սահմանված նյութական հաստատուններ, 101-200՝ օգտագործողի կողմից սահմանված նյութական հաստատուններ)
  • stress: փորձնական լարման (trial stress) համար առաձգական դեֆորմացիա ենթադրելով ստացված երկրորդ Piola-Kirchhoff լարում
  • plstrain: պլաստիկ դեֆորմացիան ընթացիկ ենթաքայլի սկզբում
  • istat: ամբողջ թվային վիճակի փոփոխական
  • fstat: իրական թվային վիճակի փոփոխականների զանգված
  • temp: ջերմաստիճան
  • hdflag: հաշվարկել բոլոր բաղադրիչները (0), միայն դեվիատորային բաղադրիչները (1), կամ միայն ծավալային բաղադրիչները (2)