انتقل إلى المحتوى

الإخراج وإعادة التشغيل

توجد نتائج التحليل في الذاكرة كما هي، ولذلك يجب إخراجها إلى ملفات مناسبة لأغراض المعالجة اللاحقة والتصور والاستعادة وإعادة التشغيل. وبما أن تنسيق الملفات وبنود الإخراج وتردد الإخراج تختلف باختلاف الغرض، يوفر FrontISTR عدة مسارات إخراج للاستخدامات المختلفة.

يتكون إخراج FrontISTR من ثلاثة أنظمة: ملفات النتائج التي تحفظ قيم التحليل (!WRITE,RESULT)، وملفات التصور المستخدمة للتصور (!WRITE,VISUAL)، وملفات إعادة التشغيل التي تحفظ حالة التحليل (!RESTART). وتُحدد الكميات الفيزيائية المضمنة في ملفات النتائج وملفات التصور بواسطة !OUTPUT_RES و!OUTPUT_VIS على الترتيب.

نظرة عامة على الوظائف

يسهل تنظيم إعدادات الإخراج إذا فُصلت المحاور الثلاثة التالية.

المحور الإدخال الرئيسي الدور
وجهة الإخراج !WRITE,RESULT، !WRITE,VISUAL، !RESTART يحدد نوع الملف الذي تُحفظ فيه النتائج بحسب الغرض.
متغيرات الإخراج !OUTPUT_RES، !OUTPUT_VIS يحدد الكميات الفيزيائية التي تُدرج في ملفات النتائج أو ملفات التصور.
تردد الإخراج FREQUENCY يحدد عدد الخطوات بين كل عملية كتابة إلى الملف.

يمكّن !WRITE,RESULT ملفات النتائج، ويحدد !OUTPUT_RES متغيرات الإخراج. ويمكّن !WRITE,VISUAL ملفات التصور، ويحدد !OUTPUT_VIS المتغيرات المرسلة إلى التصور. وفي الحالتين يمكن التحكم في فاصل الإخراج بواسطة FREQUENCY. تمثل !WRITE بطاقة واحدة، ويمكن أن تتعايش RESULT / VISUAL / FEMAP كمعاملات لاختيار وجهات الإخراج.

تسرد أسطر بيانات !OUTPUT_RES و!OUTPUT_VIS أسماء متغيرات الإخراج مع ON / OFF. ويمكن لتحديد GROUP حصر هدف الإخراج حسب المجموعة. راجع مرجع الكلمات المفتاحية لصياغة الإدخال المحددة وأسطر البيانات المتاحة.

يحفظ !RESTART حالة التحليل نفسها، بصورة مستقلة عن ملفات النتائج وملفات التصور. وتُستخدم ملفات إعادة التشغيل لاستئناف التحليل من الحالة نفسها بعد انقطاعه.

اختيار الإخراج

اختر الإخراج أولًا بحسب الغرض المطلوب. استخدم ملف نتائج عندما ستُستخدم القيم العددية في المعالجة اللاحقة أو تحليل آخر، واستخدم ملف تصور عندما تريد فحص الأشكال أو التوزيعات بأداة تصور. وإذا كان يلزم استئناف التحليل من نقطة وسطية، ففعّل ملف إعادة تشغيل بصورة منفصلة عن إخراج النتائج العادي.

الغرض الإخراج المختار التحديد الرئيسي
حفظ قيم التحليل لاستخدامها في المعالجة اللاحقة أو المقارنة أو تحليل آخر ملف نتائج !WRITE,RESULT و!OUTPUT_RES
فحص التوزيعات والأشكال المتشوهة في ParaView أو أدوات مماثلة ملف تصور !WRITE,VISUAL، !OUTPUT_VIS، !VISUAL
استئناف تحليل طويل من نقطة وسطية ملف إعادة تشغيل !RESTART
تقليل حجم الإخراج إخراج المتغيرات المطلوبة فقط ON / OFF وFREQUENCY في !OUTPUT_RES / !OUTPUT_VIS

في التحليلات واسعة النطاق، قد يؤدي حفظ كل الخطوات بإعدادات الإخراج الافتراضية إلى تضخم ملفات النتائج وملفات التصور. اضبط فقط الكميات الفيزيائية المطلوبة على ON، واضبط غير اللازمة للفحص على OFF. وإذا لم تكن هناك حاجة إلى سجل زمني دقيق، فزِد FREQUENCY لتوسيع فاصل الإخراج.

من المفيد تحديد متغيرات الإخراج بالترتيب التالي: «الكمية الفيزيائية المطلوب فحصها»، ثم «وجهة الإخراج»، ثم «التردد». على سبيل المثال، لفحص توزيع الإجهاد في ParaView، فعّل ملفات التصور واختر NSTRESS أو NMISES بواسطة !OUTPUT_VIS. ولمعالجة قوة التلامس عدديًا بعد التحليل، فعّل ملفات النتائج واختر CONTACT_NFORCE أو ما شابه بواسطة !OUTPUT_RES.

الكميات الفيزيائية المتاحة

تُقسم متغيرات الإخراج إلى نتائج التحليل الإنشائي، والتحليل الديناميكي، والتحليل الحراري، وتحليل التلامس، والنتائج الخاصة بالعناصر، وبيانات التعريف الوصفية. يلخص الجدول أدناه أسماء المتغيرات الرئيسية وأنواعها وأنواع التحليل التي تُستخدم فيها. للحصول على قائمة كاملة بأسماء المتغيرات وصياغة أسطر البيانات، راجع !OUTPUT_RES و!OUTPUT_VIS.

الفئة اسم المتغير النوع نوع التحليل الرئيسي الوصف
الكميات الإنشائية الأساسية DISP، ROT، REACTION متجه التحليل الساكن، التحليل الديناميكي الإزاحة، والدوران، وقوة رد الفعل العقدية. يكون ROT صالحًا للعناصر ذات درجات الحرية الدورانية.
الإجهاد NSTRESS، ESTRESS، ISTRESS موتر متناظر التحليل الإنشائي إجهاد متوسط عند العقد، وإجهاد العنصر، وإجهاد نقاط التكامل.
إجهاد von Mises / الإجهاد الرئيسي NMISES، EMISES، PRINC_NSTRESS، PRINC_ESTRESS، PRINCV_NSTRESS، PRINCV_ESTRESS قياسي، متجه التحليل الإنشائي إجهاد von Mises، وقيم الإجهاد الرئيسي، واتجاهات الإجهاد الرئيسي.
الانفعال NSTRAIN، ESTRAIN، ISTRAIN موتر متناظر التحليل الإنشائي انفعال العقد، وانفعال العنصر، وانفعال نقاط التكامل.
الانفعال اللدن / الحراري PL_ISTRAIN، PL_ESTRAIN، TH_NSTRAIN، TH_ESTRAIN، TH_ISTRAIN قياسي، موتر متناظر التحليل الإنشائي اللاخطي، تحليل الإجهاد الحراري الانفعال اللدن المكافئ والانفعال الحراري.
الانفعال الرئيسي PRINC_NSTRAIN، PRINC_ESTRAIN، PRINCV_NSTRAIN، PRINCV_ESTRAIN قياسي، متجه التحليل الإنشائي قيم الانفعال الرئيسي واتجاهاته.
التحليل الديناميكي VEL، ACC متجه التحليل الديناميكي سرعة العقد وتسارعها.
التحليل الحراري TEMP قياسي تحليل التوصيل الحراري درجة حرارة العقد. في ملفات نتائج التحليل الحراري وملفات التصور، تُخرج بوصفها حقل درجة الحرارة.
التلامس CONTACT_NFORCE، CONTACT_FRICTION، CONTACT_RELVEL، CONTACT_STATE، CONTACT_NTRACTION، CONTACT_FTRACTION متجه، قياسي تحليل التلامس قوة التلامس العمودية، وقوة الاحتكاك، وسرعة الانزلاق النسبية، وحالة التلامس، وقوة التلامس لكل وحدة مساحة.
عنصر العارضة BEAM_NQM قيمة من 12 مركبة تحليل إنشائي يتضمن عناصر عارضة القوى الداخلية في مقطع عنصر العارضة.
التعريف / الحالة NODE_ID، ELEM_ID، SECTION_ID، MATERIAL_ID، ELEMACT، YIELD_RATIO قياسي التحليل الإنشائي، التصور معلومات تعريف العقد والعناصر والمقاطع والمواد، وحالة تفعيل العناصر، ونسبة الخضوع. يُخرج ELEMACT القيمة 1 للعناصر الفعالة و0 للعناصر غير الفعالة (المعطلة).
معلومات مساعدة للقشرة SHELL_LAYER، SHELL_SURFACE قياسي تحليل إنشائي يتضمن عناصر قشرة معلومات مساعدة لتحديد إخراج طبقات القشرة وأسطحها.

افتراضيًا تكون DISP وROT وNSTRESS وNMISES مضبوطة على ON. لكن ما إذا كانت القيم ذات معنى فعلًا يعتمد على نوع التحليل ونوع العنصر ونموذج المادة وإعدادات التلامس. على سبيل المثال، تُستخدم VEL وACC في التحليل الديناميكي، وتُستخدم CONTACT_* عندما تُولد معلومات التلامس في تحليل التلامس.

الإخراج حسب طبقات القشرة

تحتوي عناصر القشرة على عدة نقاط تكامل أو طبقات عبر السمك، لذلك يمكن أن تختلف قيم الإجهاد والانفعال باختلاف الطبقة أو السطح حتى داخل العنصر نفسه. وباستخدام قيم العقد المتوسطة أو قيم العناصر العادية وحدها يصعب تمييز الطبقة أو السطح الذي تنتمي إليه القيمة.

عند ضبط SHELL_LAYER على ON، تُخرج نتائج الجانبين + و- لكل طبقة من القشرة المركبة بشكل منفصل. وتتضمن مركبات الإجهاد والانفعال المخرجة معرّفات لرقم الطبقة وجانب السطح، ما يتيح تقييم توزيعات الإجهاد عبر السمك والضرر حسب الطبقة.

يمثل SHELL_SURFACE معلومات مساعدة لتحديد أسطح القشرة، مثل السطحين العلوي والسفلي. عند تصور النتائج حسب طبقات القشرة، فعّل SHELL_LAYER ومتغيرات الإجهاد/الانفعال المطلوبة، ثم اختر في أداة التصور مركبة النتيجة المقابلة للطبقة أو السطح المستهدف.

لأن الإخراج حسب طبقات القشرة يزيد عدد مركبات الإخراج، يزداد حجم الملف في النماذج ذات الطبقات الكثيرة. ويُفضّل قصر الإخراج على متغيرات الإجهاد والانفعال المطلوبة.

وجهات الإخراج

تختلف ملفات النتائج وملفات التصور من حيث الغرض وتنسيق التخزين. ويمكن إخراج النوعين في التحليل نفسه أو إخراج أحدهما فقط.

ملفات النتائج

تُفعّل ملفات النتائج بواسطة !WRITE,RESULT. تُحفظ نتائج التحليل كبيانات نتائج FrontISTR / HEC-MW وتُستخدم في المعالجة اللاحقة العددية أو كإدخال لتحليل آخر. وتُختار متغيرات الإخراج بواسطة !OUTPUT_RES.

يُنفذ !WRITE,RESULT أيضًا كمعامل RESULT لبطاقة !WRITE، وهو خيار لوجهة الإخراج إلى جانب التصور وإخراج FEMAP.

يمكن لملفات النتائج حفظ الإزاحة والإجهاد والانفعال وقوى رد الفعل ومعلومات التلامس وغيرها في التحليل الإنشائي، وحقل درجة الحرارة في التحليل الحراري. ويُحدد فاصل الإخراج حسب الخطوة بواسطة FREQUENCY. راجع دليل التنفيذ لأسماء الملفات المحددة ومواضعها وكيفية فحصها بعد التنفيذ.

ملفات النتائج (الامتداد .res) هي بيانات نصية بالبنية التالية. يظهر إصدار التنسيق والتعليق أولًا، ثم المتغيرات العامة، وأخيرًا متغيرات الإخراج لكل عقدة وعنصر.

*fstrresult 2.0
*comment
<سطر تعليق>
*global
<عدد المتغيرات العامة>
<درجات حرية المتغيرات العامة>
<أسماء المتغيرات العامة>
<قيم المتغيرات العامة>
...
*data
<عدد العقد> <عدد العناصر>
<عدد بنود بيانات العقد> <عدد بنود بيانات العناصر>
<درجات حرية بيانات العقد> ...
<أسماء بيانات العقد>
...
<قيم بيانات العقد>
...
<درجات حرية بيانات العناصر> ...
<أسماء بيانات العناصر>
...
<قيم بيانات العناصر>
...

ملفات السجل

ملفات السجل (الامتداد .log) هي ملفات ملخص تُخرج دائمًا بعد التحليل. وإضافة إلى الكميات الفيزيائية لكل عقدة وعنصر، تُخرج القيم القصوى/الدنيا لمركبات الإزاحة والانفعال والإجهاد. وفي التحليل النمطي تُخرج قيم القيم الذاتية والمتجهات الذاتية. يتحكم المعامل LOG في !WRITE بمحتوى الإخراج. راجع دليل التنفيذ لأسماء الملفات ومواضعها.

ملفات التصور

تُفعّل ملفات التصور بواسطة !WRITE,VISUAL. وهي تحول الشبكة وبيانات النتائج إلى تنسيق مخصص لأدوات التصور ثم تخرجها. تُختار متغيرات الإخراج بواسطة !OUTPUT_VIS، ويُحدد التنسيق وشروط التصور بواسطة !VISUAL.

!WRITE,VISUAL ليست كلمة مفتاحية مستقلة؛ بل تُنفذ كمعامل VISUAL لبطاقة !WRITE، وتبدل وجهة الإخراج على المستوى نفسه مثل !WRITE,RESULT / !WRITE,FEMAP (fstr_ctrl_get_WRITE في fistr1/src/common/fstr_ctrl_common.f90).

لتمكين التصور، يجب على الأقل تحديد سطح التصور وتنسيق الإخراج في بطاقة !VISUAL. وفيما يلي الحد الأدنى لمجموعة البيانات.

!WRITE,VISUAL
!VISUAL,method=PSR
!surface_num=1
!surface 1
!output_type=VTK

لا يمكن حذف تحديد surface_num و!surface. راجع !VISUAL للصياغة التفصيلية والخيارات المتاحة.

تنسيقات التصور الرئيسية هي كما يلي.

التنسيق الغرض
VTK يُستخدم للتصور في ParaView وأدوات مماثلة.
AVS (UCD) يُستخدم للتصور وتبادل البيانات بتنسيق AVS / UCD.
BMP يخرج نتائج التصور كصور.
NEU يُستخدم لتبادل البيانات بتنسيق FEMAP neutral.

يسهل التعامل مع ملفات التصور مباشرة في أدوات التصور أكثر من ملفات النتائج، لكن حجمها يزداد بحسب التنسيق المختار وعدد المتغيرات. في النماذج واسعة النطاق، فعّل بواسطة !OUTPUT_VIS المتغيرات اللازمة للعرض فقط.

إعادة التشغيل

إعادة التشغيل وظيفة لحفظ الحالة الداخلية عند نقطة انقطاع التحليل واستئناف الحساب من الحالة نفسها في التشغيل التالي. ملفات النتائج العادية هي إخراج للمعالجة اللاحقة، بينما تحفظ ملفات إعادة التشغيل الحالة بحيث يستطيع الحالّ متابعة الحساب.

عندما تكون n في !RESTART, FREQUENCY=n موجبة، يُكتب ملف إعادة تشغيل عند فاصل الخطوات المحدد. وعندما تكون n سالبة، يُقرأ ملف إعادة تشغيل موجود عند بدء التنفيذ، ثم تُكتب ملفات إعادة التشغيل باستخدام القيمة المطلقة |n| كفاصل للإخراج.

في إعادة تشغيل التحليل الإنشائي، تُحفظ الخطوة الحالية والخطوة الفرعية والخطوة التراكمية والزمن وزيادة الزمن وسجل الأحمال والإزاحة والقوة الخارجية والإجهاد والانفعال عند كل نقطة Gauss ومتغيرات الحالة الداخلية للمادة وحالة التلامس وغيرها. وفي التحليل الديناميكي تُحفظ أيضًا الحالة الديناميكية اللازمة لاستئناف التكامل الزمني، بما في ذلك السرعة والتسارع وطاقة الانفعال والزمن الحالي وزيادة الزمن. أما التحليل الحراري فيحفظ رقم الخطوة والزمن وحقل درجة الحرارة، ويستعيد حقل درجة الحرارة كحالة ابتدائية عند القراءة.

توقيت الكتابة وسلوك الاستئناف لإعادة تشغيل التحليل الساكن

لإعادة التشغيل في التحليل الساكن (fstr_solve_NLGEOM) مساران للكتابة، ويختلف سلوك الاستئناف بينهما.

  • الكتابة أثناء خطوة فرعية: يُكتب الملف داخل حلقة الخطوات الفرعية عندما يصبح step_count مضاعفًا لـFREQUENCY. تُحفظ معلومات الزمن المسجلة بوصفها «زمن بدء الخطوة الحالية»، وترافقها قائمة أحمال الخطوة السابقة.
  • الكتابة عند نهاية الخطوة: يُكتب الملف دائمًا مباشرة بعد اكتمال حلقة الخطوات الفرعية لكل خطوة حمل، بغض النظر عما إذا كانت الخطوة مضاعفًا لـFREQUENCY. تُحفظ معلومات الزمن المسجلة بوصفها «زمن نهاية الخطوة»، وترافقها قائمة أحمال تلك الخطوة.

عند القراءة، يحدد FrontISTR ما إذا كانت الخطوة مكتملة من خلال تطابق «الزمن الحالي» المسجل مع «الزمن المرجعي» (fstr_read_restart في fstr_Restart.f90).

الحالة عند الكتابة السلوك عند الاستئناف
أثناء خطوة فرعية يستمر من الخطوة الفرعية التالية في الخطوة نفسها. يرث موضع الخطوة الفرعية وقت الكتابة وينفذ ما تبقى من حلقة الخطوات الفرعية.
نهاية الخطوة يبدأ من أول خطوة فرعية في الخطوة التالية. يزيد cstep بمقدار 1، ويعيد ضبط substep=1، ثم يواصل التحليل.

لذلك، حتى مع إعداد FREQUENCY نفسه، يختلف رقم الخطوة ومرجع الزمن بعد الاستئناف بحسب توقيت الكتابة (أثناء خطوة فرعية / عند نهاية الخطوة). وعلى وجه الخصوص، تُجرى الكتابة عند نهاية الخطوة دائمًا في نهاية كل خطوة بصرف النظر عن إعداد FREQUENCY.

توقيت الكتابة وسلوك الاستئناف لإعادة تشغيل التحليل الديناميكي

تُميز إعادة تشغيل التحليل الديناميكي ذي السجل الزمني أيضًا بين الكتابة أثناء خطوة فرعية والكتابة عند نهاية الخطوة. أثناء الخطوة الفرعية، يُكتب الملف عندما يصبح العدد التراكمي للخطوات الفرعية step_count مضاعفًا لـFREQUENCY؛ وعند نهاية الخطوة، يُكتب الملف في نهاية تلك الخطوة بغض النظر عن FREQUENCY.

عند القراءة، يُستعاد موضع الاستئناف من رقم الخطوة المحفوظ ورقم الخطوة الفرعية والعدد التراكمي للخطوات الفرعية. يستخدم التنسيق الحالي (restart_version >= 5) رأسًا مشتركًا مع التحليل الساكن ويحفظ الزمن الحالي وزيادة الزمن وإحصاءات تكرارات Newton وحالة الزيادة التلقائية. ويتيح ذلك للتحليل الديناميكي الذي يستخدم عدة بطاقات !STEP والزيادة التلقائية وcutback أن يرث مرجع الزمن وزيادة الزمن بعد إعادة التشغيل. تحتفظ ملفات إعادة التشغيل الأقدم للتحليل الديناميكي بتوافق جزئي للقراءة، لكن ينبغي استخدام التنسيق الحالي في التحليلات الجديدة.

كتابة بطاقات !STEP عند إعادة التشغيل

عند الاستئناف من إعادة التشغيل، يقرأ FrontISTR بطاقات !STEP في ملف cnt بوصفها «تسلسل الخطوات المطلوب تنفيذها بعد الاستئناف»، ويعالجها دائمًا بالترتيب بدءًا من الأولى (tot_step=1). يُستخدم رقم الخطوة في معلومات إعادة التشغيل المحملة لمحاذاة رقم الخطوة التراكمي المعروض على الشاشة، ولا يؤثر في فهرس !STEP نفسه داخل ملف cnt. إضافة إلى ذلك، في التنسيق الحالي، يُضاف الزمن المرجعي دفعة واحدة إلى starttime لكل !STEP في ملف cnt عند قراءة إعادة التشغيل، بحيث يُحاذى الخط الزمني مع زمن إعادة التشغيل بوصفه نقطة الأصل.

لذلك، جهّز ملف cnt للاستئناف وفق السياسة التالية.

طريقة انقطاع التشغيل نطاق بطاقات !STEP التي تُبقى في cnt
الكتابة أثناء خطوة فرعية (الخطوة غير مكتملة) أبقِ الخطوة التي انقطع عندها التحليل أولًا. ثم ضع بعدها الخطوات التالية غير المنفذة.
الكتابة عند نهاية الخطوة (الخطوة مكتملة) احذف الخطوات المكتملة وضع الخطوة التالية المطلوب تنفيذها أولًا.

في كلتا الحالتين، القاعدة الأساسية هي حذف الخطوات التي اكتملت بالفعل من ملف cnt. لأن زمن إعادة التشغيل يُضاف تلقائيًا إلى starttime، يمكن لملف cnt استخدام نقطة أصل صفرية (أو أزمنة بدء نسبية للخطوات). يجب الاحتفاظ بالمراجع مثل الشروط الحدية والأحمال في ملف cnt فقط للبطاقات !STEP المتبقية. تنطبق السياسة نفسها على إعادة تشغيل التحليل الديناميكي الذي يستخدم عدة بطاقات !STEP.

التسلسل النموذجي لاستخدام إعادة التشغيل هو كما يلي.

  1. في التشغيل الأول، حدد !RESTART, FREQUENCY=n واكتب ملف إعادة تشغيل.
  2. في التشغيل الذي يستأنف التحليل، حدد !RESTART, FREQUENCY=-n.
  3. يقرأ FrontISTR ملف إعادة التشغيل عند بدء التشغيل، ثم يكتب حالة جديدة كل n خطوات.

راجع دليل التنفيذ لتسمية ملفات إعادة التشغيل ومواضعها وكيفية تحديدها عند التنفيذ. يوجد أيضًا توافق جزئي لقراءة الملفات ذات التنسيقات الأقدم، لكن ينبغي استخدام التنسيق الحالي في التحليلات الجديدة.

موضوعات ذات صلة

  • التنفيذ التسلسلي — أساسيات وضع الملفات وفحص الإخراج أثناء تنفيذ التحليل.
  • !OUTPUT_RES، !OUTPUT_VIS — تحديد المتغيرات التي تُخرج إلى ملفات النتائج وملفات التصور.
  • !WRITE — تمكين إخراج ملفات النتائج وملفات التصور والسجل وتحديد تردد الإخراج (المعاملات RESULT / VISUAL / LOG / FEMAP).
  • !VISUAL — تحديد أسطح التصور وتنسيقات الإخراج (بما في ذلك مثال لأدنى مجموعة بيانات).
  • !RESTART — تحديد قراءة ملفات إعادة التشغيل وكتابتها.
  • أنواع التحليل — بنود النتائج الرئيسية لكل نوع تحليل.
  • التلامس والتضمين — معنى إخراج التلامس وكيفية التعامل مع حالات التلامس.
  • التحكم بالخطوات — العلاقة مع خطوات الإخراج والنقاط الزمنية.