Skip to content

የተጠቃሚ ሰብሩቲን ማስፋፊያ

FrontISTR ዋናውን ምንጭ ኮድ ሳይቀይሩ ተግባራትን ለማስፋፋት የሚያስችሉ የተጠቃሚ ሰብሩቲኖችን ያቀርባል። የተጠቃሚ የቁስ ግንኙነት ሕግ አተገባበር እና የተጠቃሚ የውጭ ጭነት ማካተት ይደገፋሉ። ይህ ምዕራፍ ሊስፋፉ የሚችሉ ነጥቦችን እና እያንዳንዱን ለመጥራት በትንተና ቁጥጥር ፋይል ውስጥ የሚጠቀሙትን ቁልፍ ቃላት ይዘረዝራል። የሰብሩቲን አርግዩመንቶች ዝርዝር መግለጫና እንደገና የመገንባት ሂደት ለማየት የተጠቃሚ ሰብሩቲን (የኮዲንግ መመሪያ) ይመልከቱ።

የተግባሩ አጠቃላይ እይታ

በተጠቃሚ ሰብሩቲን የሚደረጉ ማስፋፊያዎች በሁለት ዋና ምድቦች ይከፈላሉ፤ የማቴሪያል የቁስ ግንኙነት ሕግ እና የውጭ ጭነት። በቁስ ግንኙነት ሕግ በኩል የተጠቃሚ መስመራዊ ኤላስቲሲቲ፣ የተጠቃሚ ሃይፐርኤላስቲሲቲ፣ የተጠቃሚ ኤላስቶፕላስቲሲቲ እና አጠቃላይ የተጠቃሚ የቁስ ግንኙነት ሕግ የሚባሉ አራት የመጥሪያ መንገዶች አሉ፣ እያንዳንዳቸውም በተለየ ቁልፍ ቃል ይነሳሉ። በውጭ ጭነት በኩል፣ ተጠቃሚው ካዘጋጀው ውጭ ፋይል የጭነት መረጃን በማንበብ ወደ ጠቅላላ የጭነት ቬክተርና የቀሪ ቬክተር የሚጨምር መንገድ አለ። ሁሉም በFrontISTR ስርጭት ውስጥ ያሉ ቴምፕሌት ፋይሎችን አርትዖት ካደረጉ በኋላ ዋናውን ፕሮግራም እንደገና በመገንባት ሊጠቀሙባቸው ይችላሉ።

የማስፋፊያ ምድብ የትንተና ቁጥጥር ቁልፍ ቃል ዋና የተጠቃሚ ሰብሩቲን አርትዖት የሚደረግበት ቴምፕሌት
የተጠቃሚ መስመራዊ ኤላስቲሲቲ !ELASTIC, TYPE=USER uElasticMatrix, uElasticUpdate fistr1/src/lib/user/uelastic.f90
የተጠቃሚ ሃይፐርኤላስቲሲቲ !HYPERELASTIC, TYPE=USER uElasticMatrix, uElasticUpdate fistr1/src/lib/user/uelastic.f90
የተጠቃሚ ኤላስቶፕላስቲሲቲ (የመፍሰስ ፋንክሽን/ሪተርን-ማፒንግ) !PLASTIC, YIELD=USER uElastoPlasticMatrix, uBackwardEuler, uElastoPlasticNumStatus fistr1/src/lib/user/uyield.f90
አጠቃላይ የተጠቃሚ የቁስ ግንኙነት ሕግ !USER_MATERIAL uMatlMatrix, uUpdate fistr1/src/lib/user/umat.f90
በተጠቃሚ የተገለጸ የውጭ ጭነት !ULOAD, FILE=<fname> ureadload, uloading, uResidual fistr1/src/lib/user/uload.f90

የተጠቃሚ ሃርድኒንግ ሕግ (የመፍሰስ ፋንክሽኑን እንደተገነባ በመተው የሃርድኒንግ ኩርቭን ብቻ በተጠቃሚ አተገባበር የሚተካ መንገድ) አይደገፍም። የሃርድኒንግ ኩርቭን በተጠቃሚ ኮድ መተግበር ካስፈለገ፣ !PLASTIC, YIELD=USER ይምረጡ እና ሙሉውን የኤላስቶፕላስቲክ የቁስ ግንኙነት ሕግ በተጠቃሚ አተገባበር ይተኩ። የተጠቃሚ የድንበር ሁኔታዎች እና በሪስታርት ጊዜ ለተጠቃሚ ሂደት የሚሆኑ ማስፋፊያ ነጥቦች አይደገፉም።

!CREEP TYPE=USER አይደገፍም። በጊዜ ላይ የተመሰረተ የቁስ ግንኙነት ሕግ በተጠቃሚ ለመተግበር !USER_MATERIAL ይጠቀሙ።

የተጠቃሚ የቁስ ግንኙነት ሕግ

የተጠቃሚ የቁስ ግንኙነት ሕግ፣ በተገነቡ የማቴሪያል ሞዴሎች ሊወከል የማይችል የስትሬስ–ስትሬይን ግንኙነትን በውጭ ሰብሩቲን ለመተግበር መግቢያ ነው። ከተዛማጅ የተገነባ የቁስ ግንኙነት ሕግ ማዕቀፍ ጋር በመስማማት፣ የተጠቃሚ መስመራዊ ኤላስቲሲቲ፣ የተጠቃሚ ሃይፐርኤላስቲሲቲ፣ የተጠቃሚ ኤላስቶፕላስቲሲቲ እና አጠቃላይ የተጠቃሚ የቁስ ግንኙነት ሕግ የሚባሉ አራት መንገዶች አሉ። በሁሉም መንገዶች በትንተና ቁጥጥር ውሂብ !MATERIAL ብሎክ ውስጥ ለተዛማጅ ቁልፍ ቃል TYPE=USER ወይም YIELD=USER ይጨምሩ። እስከ 100 የተጠቃሚ ቋሚዎች ሊገለጹ እና ወደ ሰብሩቲኑ ሊተላለፉ ይችላሉ።

የተጠቃሚ መስመራዊ ኤላስቲሲቲ

የተጠቃሚ መስመራዊ ኤላስቲሲቲ በትንሽ መቀየር ማዕቀፍ ውስጥ የኤላስቲክነት ማትሪክስን በተጠቃሚ የሚያስላ መንገድ ነው። በትንተና ቁጥጥር ውሂብ ውስጥ !ELASTIC, TYPE=USER ሲገለጽ፣ FrontISTR እንደ ትንሽ መቀየር የቁስ ግንኙነት ሕግ ይወስደዋል፣ እና በኤለመንት ግትርነት ስሌት እና በስትሬስ ማዘመን ጊዜ uElasticMatrix (የኤላስቲክነት ማትሪክስ \(D\) ይመልሳል) እና uElasticUpdate (ስትሬስን ይመልሳል) ይጠራሉ። ከነባር ሃይፐርኤላስቲክ ወይም ኤላስቶፕላስቲክ ሞዴሎች ጋር አይጠቀምም።

የተጠቃሚ ሃይፐርኤላስቲሲቲ

የተጠቃሚ ሃይፐርኤላስቲሲቲ በትልቅ መቀየር (Total Lagrange) ማዕቀፍ ውስጥ ከስትሬይን ኢነርጂ ፋንክሽን ዲፈረንሺያል ስትሬስና የታንጀንት ግትርነትን የሚያስላ መንገድ ነው። በትንተና ቁጥጥር ውሂብ ውስጥ !HYPERELASTIC, TYPE=USER ይገለጻል። የሚጠሩት ሰብሩቲኖች ከተጠቃሚ መስመራዊ ኤላስቲሲቲ ጋር ተመሳሳይ uElasticMatrix እና uElasticUpdate ናቸው፣ ቴምፕሌቱም fistr1/src/lib/user/uelastic.f90 በጋራ ይጠቀማል። በቁልፍ ቃሉ ቅንብር መሠረት FrontISTR እንደ ትንሽ መቀየር ወይም Total Lagrange እንዲወስደው ይቀየራል፣ ስለዚህ አንድ ቴምፕሌትን ለትንሽ መቀየርና ለትልቅ መቀየር በአንድ ጊዜ መጠቀም አይቻልም። ከሁለቱ አንዱ የቁስ ግንኙነት ሕግ ተደርጎ ይተግበር።

የተጠቃሚ ኤላስቶፕላስቲሲቲ

የተጠቃሚ ኤላስቶፕላስቲሲቲ የመፍሰስ ፋንክሽንና የሪተርን-ማፒንግ ሂደትን በተጠቃሚ የሚተገብር መንገድ ነው። በትንተና ቁጥጥር ውሂብ ውስጥ !PLASTIC, YIELD=USER ይገለጻል። ከተገነቡት Mises፣ Mohr-Coulomb እና Drucker-Prager የመፍሰስ ፋንክሽኖች ተለይቶ በራሱ ቅርንጫፍ ይገባል፣ እና በኤለመንት ግትርነት ስሌት uElastoPlasticMatrix (የኤላስቶፕላስቲክ ታንጀንት ግትርነት \(D\) ይመልሳል)፣ በስትሬስ ማዘመን uBackwardEuler (የሙከራ ስትሬስን ወደ እውነተኛ ስትሬስ ያቀርባል እና የሁኔታ ተለዋዋጮችን ያዘምናል)፣ እና ጋውስ ነጥቦች ሲጀመሩ uElastoPlasticNumStatus (የሚያዙ የእውነተኛ ቁጥር ሁኔታ ተለዋዋጮች ብዛትን ይመልሳል) ይጠራሉ። የሃርድኒንግ ኩርቭን ብቻ በተጠቃሚ አተገባበር የሚተካ መንገድ አይደገፍም። የሃርድኒንግ ኩርቭ በተጠቃሚ ኮድ መተግበር ቢያስፈልግም፣ በዚህ መንገድ ሙሉውን የኤላስቶፕላስቲክ የቁስ ግንኙነት ሕግ በተጠቃሚ አተገባበር ይተኩ።

አጠቃላይ የተጠቃሚ የቁስ ግንኙነት ሕግ

አጠቃላይ የተጠቃሚ የቁስ ግንኙነት ሕግ በኤላስቲሲቲ፣ ሃይፐርኤላስቲሲቲ ወይም ኤላስቶፕላስቲሲቲ ማዕቀፎች ውስጥ የማይገባ የቁስ ግንኙነት ሕግን በአንድ ላይ ለመተግበር የሚያስችል መንገድ ነው። በትንተና ቁጥጥር ውሂብ ውስጥ !USER_MATERIAL ይገለጻል። በነባሪ Updated Lagrange ዘዴ ማዕቀፍ ውስጥ ይሰራል፣ KIRCHHOFF ሲገለጽ ግን Total Lagrange ዘዴ ተደርጎ ይወሰዳል። የሁኔታ ተለዋዋጮች ብዛት በNSTATUS ይገለጻል። በኤለመንት ግትርነት ስሌት uMatlMatrix (የታንጀንት ግትርነት \(D\) ይመልሳል)፣ በስትሬስ ማዘመን uUpdate (ስትሬስና የሁኔታ ተለዋዋጮችን ያዘምናል) ይጠራሉ።

የተጠቃሚ ቋሚዎችና የሁኔታ ተለዋዋጮች ማስተላለፍ

!ELASTIC, TYPE=USER!HYPERELASTIC, TYPE=USER እና !USER_MATERIAL መንገዶች ሁሉ፣ በትንተና ቁጥጥር ውሂብ የዳታ መስመር የተጻፉ የተጠቃሚ ቋሚዎች (እስከ 100) በቀጥታ ወደ ሰብሩቲኑ matl አርግዩመንት ይተላለፋሉ። በ!PLASTIC, YIELD=USER ውስጥ፣ በ!ELASTIC ከተገለጹ የኤላስቲክነት ቋሚዎች ጋር በ!PLASTIC የዳታ መስመር የሚሰጡ የተጠቃሚ ቋሚዎች ይተላለፋሉ።

በአጠቃላይ የተጠቃሚ የቁስ ግንኙነት ሕግ እና !PLASTIC, YIELD=USER ውስጥ፣ በሁኔታ ተለዋዋጭ fstat በኩል የቀደመው ስቴፕ ታሪክ መረጃ (ፕላስቲክ ስትሬይን፣ የኋላ ስትሬስ፣ የጉዳት መጠን ወዘተ) ወደ ተጠቃሚ አተገባበር ሊተላለፍ እና በስቴፑ መጨረሻ እንደገና ሊጻፍ ይችላል። የሁኔታ ተለዋዋጮች ብዛት፣ ለአጠቃላይ የተጠቃሚ የቁስ ግንኙነት ሕግ በ!USER_MATERIAL ውስጥ NSTATUS፣ ለ!PLASTIC, YIELD=USER ደግሞ በuElastoPlasticNumStatus መመለሻ እሴት ይወሰናል።

በተጠቃሚ የተገለጸ የውጭ ጭነት

በተጠቃሚ የተገለጸ የውጭ ጭነት፣ በተገነባ የተከማቸ ጭነት፣ የተሰራጨ ጭነት ወይም የድምጽ ኃይል ሊወከል የማይችል ውጫዊ ኃይልን በተጠቃሚ ሰብሩቲን ለመግለጽ የሚያስችል መንገድ ነው። በትንተና ቁጥጥር ውሂብ ውስጥ !ULOAD, FILE=<fname> ሲጻፍ፣ FrontISTR የተገለጸውን የፋይል ስም ወደ ureadload ያስተላልፋል፣ እና በተጠቃሚ አተገባበር የተነበበው መረጃ እንደ ሞጁል ዳታ ይቀመጣል።

!ULOAD ሲነሳ የሚከተሉት ሶስት ሰብሩቲኖች ይጠራሉ።

  • ureadload: ትንተናው ሲጀምር፣ በመቆጣጠሪያ ፋይሉ ከተገለጸው ውጭ ፋይል በተጠቃሚ የተገለጸውን ጭነት ያነባል። በተጠቃሚ አተገባበር በኩል ፋይሉ ተከፍቶ የሚያስፈልገው ዳታ በሞጁሉ ተለዋዋጮች ውስጥ ይቀመጣል።
  • uloading: በእያንዳንዱ ስቴፕ የውጭ ጭነት ቬክተር ሲገጣጠም ይጠራል፣ እና የተጠቃሚ ጭነትን ወደ ጠቅላላ የጭነት ቬክተር ይጨምራል። የአሁኑ ስቴፕ ቁጥርና የጭነት ፋክተር እንደ አርግዩመንት ይተላለፋሉ።
  • uResidual: በእያንዳንዱ ድግግሞሽ የቀሪ ቬክተር ሲገጣጠም ይጠራል፣ እና የተጠቃሚ ጭነት አስተዋፅኦን ወደ ጠቅላላ የቀሪ ቬክተር ይጨምራል። ከመስመራዊ ያልሆነ ድግግሞሽ እና ከሚዛን ስሌት ሁለቱም ይጠራል።

ለተጠቃሚ የድንበር ሁኔታዎች (የተገደደ መፈናቀል ወይም የንክኪ ሁኔታዎች የተጠቃሚ ማስፋፊያ) የሚሆን ማስፋፊያ ነጥብ አልተዘጋጀም። ከውጭ ኃይል በስተቀር የተጠቃሚ ማስፋፊያ ካስፈለገ፣ ተዛማጅ የተገነባ ቁልፍ ቃል ወይም የተጠቃሚ የቁስ ግንኙነት ሕግ መንገድን ይጠቀሙ።

የተጠቃሚ ሰብሩቲን የአተገባበር ሂደት

የተጠቃሚ ሰብሩቲን ለመጠቀም፣ በFrontISTR ምንጭ ስርጭት ውስጥ ያሉ ቴምፕሌት ፋይሎችን አርትዖት ካደረጉ በኋላ የFrontISTR ዋና ፕሮግራምን እንደገና መገንባት ያስፈልጋል። በተሰራጨ ባይነሪ ውስጥ የተጠቃሚ ሰብሩቲን መተካት ስለማይቻል፣ የተጠቃሚ ማስፋፊያ ሲጠቀሙ ከምንጭ ኮድ የመገንባት አካባቢ ያዘጋጁ።

የተጠቃሚ ሰብሩቲን ቴምፕሌቶች በfistr1/src/lib/user/ ስር ይገኛሉ፣ እና አርትዖት የሚደረግበት ፋይል በማስፋፊያ ምድብ ይወሰናል (የፋይል ስሞችን በየተግባሩ አጠቃላይ እይታ ሰንጠረዥ ይመልከቱ)። እያንዳንዱ ፋይል በመጀመሪያ ሁኔታ የሰብሩቲን አካሉ ባዶ ወይም የመስመራዊ ኤላስቲሲቲ ናሙና አተገባበር አለው፣ እና ተጠቃሚው የራሱን የቁስ ግንኙነት ሕግ ወይም የጭነት መግለጫ እዚህ ይጨምራል። ቴምፕሌቱን አርትዖት ካደረጉ በኋላ የFrontISTR ዋና ፕሮግራምን በመደበኛው መንገድ በCMake እንደገና ይገንቡ እና በተገኘው fistr1 ኤክዚኪዩተብል ትንተናውን ያሂዱ።

የሰብሩቲን አርግዩመንቶች ትርጉም፣ የሁኔታ ተለዋዋጭ አሬይ አጠቃቀም፣ በድጋሚ ግንባታ ጊዜ የሚጠነቀቁ ነጥቦች ወዘተ ዝርዝሮች በኮዲንግ መመሪያው የተለያዩ ገጾች ውስጥ ተከፋፍለዋል።

ተዛማጅ ርዕሶች