د کارن سبروټین پراختیا¶
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 (چې ازمایښتي تنش حقیقي تنش ته نقش کوي او حالت متغیرونه تازه کوي)، او د Gauss نقطې د پیل پر مهال 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 اجرایي فایل د تحلیل لپاره وکاروئ.
د سبروټین آرګومېنټونو معنا، د حالت متغیرونو د ارې کارول، او د بیا جوړولو پر مهال احتیاطونه د کوډ لیکلو لارښود په اړوندو پاڼو کې تشریح شوي.
- کارن سبروټین (لنډیز)
- عمومي د کارن تشکیلي قانون
umat.f - د کارن الاستوپلاستیک
uyield.f - د کارن-تعریف شوی بهرنی بار
uload.f - د کارن خطي الاستیکیت او هایپرالاستیکیت
uelastic.f
اړوند موضوعات¶
- مادي ډاټا — د تشکیلي قوانینو انتخابونه او د جوړ-دننه موډلونو لړ
- سرحدي شرایط او بارونه — جوړ-دننه سرحدي شرطونه او بارونه
- کارن سبروټین (د کوډ لیکلو لارښود) — د سبروټین د آرګومېنټونو مشخصات او د پلي کولو قواعد
- !USER_MATERIAL — د عمومي د کارن تشکیلي قانون د کیليوېشې بڼه
- !ELASTIC — د خطي الاستیسیټۍ کیليوېشه چې
TYPE=USERهم پکې شامل دی - !HYPERELASTIC — د هایپرالاستیسیټۍ کیليوېشه چې
TYPE=USERهم پکې شامل دی - !PLASTIC — د الاستوپلاستیک کیليوېشه چې
YIELD=USERهم پکې شامل دی