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

تحليل الاستجابة الترددية

يستخدم هذا التحليل بيانات tutorial/17_freq_beam.

نموذج التحليل

النموذج المراد تحليله هو عارضة كابولية؛ يوضح الشكل 4.17.1 هندستها، ويوضح الشكل 4.17.2 بيانات الشبكة.

البند الوصف ملاحظات المرجع
نوع التحليل تحليل الاستجابة الترددية !SOLUTION,TYPE=EIGEN !SOLUTION,TYPE=DYNAMIC
عدد العقد 55
عدد العناصر 126
نوع العنصر عنصر رباعي السطوح من الرتبة الأولى ذو أربع عقد !ELEMENT,TYPE=341
اسم المادة Material-1 !MATERIAL,NAME=Material-1
الشروط الحدية تثبيت، حمل مركز، قيمة ذاتية !EIGENREAD
طريقة حل المصفوفة CG/SSOR !SOLVER,METHOD=CG,PRECOND=1

هندسة العارضة الكابولية

الشكل 4.17.1 هندسة العارضة الكابولية

بيانات شبكة العارضة الكابولية

الشكل 4.17.2 بيانات شبكة العارضة الكابولية

محتوى التحليل

يُثبَّت أحد طرفي العارضة الكابولية المراد تحليلها تثبيتًا كاملاً، ثم يُجرى تحليل الاستجابة الترددية بتطبيق أحمال مركزة على عقدتين في الطرف المقابل.

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

بيانات التحكم العامة hecmw_ctrl_eigen.dat

##
## HEC-MW control file for FrontSTR
## Auto created by fstr_srun.sh
## Fri Nov 26 16:02:33 2010
##
!MESH, NAME=fstrMSH,TYPE=HECMW-ENTIRE
beam.msh
!CONTROL,NAME=fstrCNT
beam_eigen.cnt
!RESULT,NAME=fstrRES,IO=OUT
eig_beam.res
!RESULT,NAME=vis_out,IO=OUT
beam.vis

بيانات التحكم العامة hecmw_ctrl_freq.dat

##
## HEC-MW control file for FrontSTR
## Auto created by fstr_srun.sh
## Fri Nov 26 16:02:33 2010
##
!MESH, NAME=fstrMSH,TYPE=HECMW-ENTIRE
beam.msh
!CONTROL,NAME=fstrCNT
beam_freq.cnt
!RESULT,NAME=fstrRES,IO=OUT
beam.res
!RESULT,NAME=vis_out,IO=OUT
beam.vis
!RESULT,NAME=fstrDYNA,IO=OUT
beam_dyna.res
!RESULT,NAME=result-in,IO=IN
eig_beam.res

في تحليل الاستجابة الترددية، تُقرأ المتجهات الذاتية من ملف النتائج المُخرَج من التحليل النمطي في eig_beam.res، لذا يُحدَّد هذا الملف بواسطة NAME=result-in. وتُكتب نتائج مسح التردد في beam.res الخاص بـNAME=fstrRES، وتُكتب نتائج السجل الزمني عند التردد المُحدَّد بـ!DYNAMIC (15000Hz) في beam_dyna.res الخاص بـNAME=fstrDYNA (→ !RESULT).

بيانات التحكم في التحليل beam_eigen.cnt

#  Control File for FISTR
!VERSION
 3
!WRITE,RESULT
!WRITE,VISUAL
!SOLUTION, TYPE=EIGEN
!EIGEN
 10, 1.0E-8, 60
!BOUNDARY
_PickedSet4, 1, 3, 0.0
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=NO,TIMELOG=YES
 10000, 1
 1.0e-8, 1.0, 0.0
!VISUAL,method=PSR
!surface_num=1
!surface 1
!output_type=VTK
!END

بيانات التحكم في التحليل beam_freq.cnt

#  Control File for FISTR
!VERSION
 3
!WRITE,RESULT
!WRITE,VISUAL
!SOLUTION, TYPE=DYNAMIC
!DYNAMIC
 11 , 2
 14000, 16000, 20, 15000.0
 0.0, 6.6e-5
 1, 1, 0.0, 7.2E-7
 10, 2, 1
 1, 1, 1, 1, 1, 1
!EIGENREAD
 eigen_0.log
 1, 5
!BOUNDARY
_PickedSet4, 1, 3, 0.0
!FLOAD, LOAD CASE=2
_PickedSet5, 2, 1.
!FLOAD, LOAD CASE=2
_PickedSet6, 2, 1.
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=NO,TIMELOG=YES
 10000, 1
 1.0e-8, 1.0, 0.0
!VISUAL,method=PSR
!surface_num=1
!surface 1
!output_type=VTK
!END

إجراءات التحليل

أولًا، أعد تسمية بيانات التحكم العامة hecmw_ctrl_eigen.dat الخاصة بالتحليل النمطي إلى hecmw_ctrl.dat، ثم نفّذ التحليل النمطي.

بعد ذلك، أعد تسمية بيانات التحكم العامة hecmw_ctrl_freq.dat الخاصة بتحليل الاستجابة الترددية إلى hecmw_ctrl.dat، وأعد تسمية ملف سجل نتائج التحليل 0.log من التحليل النمطي إلى eigen_0.log (كما هو محدد في بيانات التحكم لتحليل الاستجابة الترددية)، ثم نفّذ تحليل الاستجابة الترددية.

cp hecmw_ctrl_eigen.dat hecmw_ctrl.dat
fistr1 -t 4
mv 0.log eigen_0.log
cp hecmw_ctrl_freq.dat hecmw_ctrl.dat
fistr1 -t 4

التنفيذ المتوازي

عند تقسيم البيانات نفسها إلى مجالين وتنفيذها بالتوازي، يُنفَّذ التحليل النمطي وتحليل الاستجابة الترددية على الشبكة الموزعة نفسها. فتقرأ كل عملية في تحليل الاستجابة الترددية المتجهات الذاتية من ملفات النتائج التي أخرجها التحليل النمطي لكل مجال جزئي، لذا لا يمكن استخدام نتائج تحليل نمطي نُفِّذ تسلسليًا أو نتائج تحليل نمطي نُفِّذ بتقسيم مختلف للمجالات (→ نوع التحليل).

أولًا، أنشئ بيانات التحكم العامة التالية hecmw_ctrl_part.dat وبيانات التحكم في تقسيم الشبكة hecmw_part_ctrl.dat، ثم قسِّم بيانات الشبكة إلى مجالين.

!MESH, NAME=part_in, TYPE=HECMW-ENTIRE
beam.msh
!MESH, NAME=part_out, TYPE=HECMW-DIST
beam_2
!PARTITION, TYPE=NODE-BASED, METHOD=KMETIS, DOMAIN=2

ثم غيِّر تحديد NAME=fstrMSH في كلٍّ من hecmw_ctrl_eigen.dat وhecmw_ctrl_freq.dat إلى بيانات الشبكة بعد التقسيم.

!MESH, NAME=fstrMSH, TYPE=HECMW-DIST
beam_2

نفِّذ التحليل النمطي وتحليل الاستجابة الترددية بعمليةَين بنفس ترتيب التنفيذ التسلسلي.

cp hecmw_ctrl_part.dat hecmw_ctrl.dat
hecmw_part1
cp hecmw_ctrl_eigen.dat hecmw_ctrl.dat
mpirun -np 2 fistr1 -t 1
mv 0.log eigen_0.log
cp hecmw_ctrl_freq.dat hecmw_ctrl.dat
mpirun -np 2 fistr1 -t 1

تُكتب قائمة القيم الذاتية في ملف السجل 0.log الخاص بالرتبة 0 فقط، لذا يُسمَّى eigen_0.log. وتُخرَج ملفات النتائج لكل عملية على حدة على الشكل beam_dyna.res.<الرتبة>.<الرقم>. وتُكتب العلاقة بين التردد وسعة الإزاحة لعقدة المراقبة في ملف السجل الخاص بالعملية المسؤولة عن تلك العقدة (<الرتبة>.log). والقيم المتحصَّل عليها متطابقة مع نتائج التنفيذ التسلسلي ضمن حدود خطأ التقريب.

نتائج التحليل

تُرسم باستخدام Microsoft Excel العلاقة بين التردد وسعة الإزاحة لعقدة المراقبة (العقدة رقم 1) المحددة في بيانات التحكم في التحليل، وتُعرض في الشكل 4.17.3. كما يرد أدناه جزء من ملف سجل نتائج التحليل بوصفه بيانات عددية لنتائج التحليل.

العلاقة بين التردد وسعة الإزاحة لعقدة المراقبة

الشكل 4.17.3 العلاقة بين التردد وسعة الإزاحة لعقدة المراقبة

سجل نتائج التحليل 0.log (تحليل الاستجابة الترددية)

 fstr_setup: OK
 Rayleigh alpha:   0.0000000000000000     
 Rayleigh beta:   7.1999999999999999E-007
 read from=eigen_0.log
 start mode=           1
 end mode=           5
 start frequency:   14000.000000000000     
 end frequency:   16000.000000000000     
 number of the sampling points          20
 monitor nodeid=           1
   14100.000000000000      [Hz] :    8.3935554529723885E-002
   14100.000000000000      [Hz] :            1 .res
   14200.000000000000      [Hz] :    9.1211083509607632E-002
   14200.000000000000      [Hz] :            2 .res
   14300.000000000000      [Hz] :    9.9579777896922961E-002
   14300.000000000000      [Hz] :            3 .res
   14400.000000000000      [Hz] :   0.10914967594967491     
   14400.000000000000      [Hz] :            4 .res
   14500.000000000000      [Hz] :   0.11992223203326918     
   14500.000000000000      [Hz] :            5 .res
   14600.000000000000      [Hz] :   0.13164981801806747     
   14600.000000000000      [Hz] :            6 .res
   14700.000000000000      [Hz] :   0.14360931008440975     
   14700.000000000000      [Hz] :            7 .res
   14800.000000000000      [Hz] :   0.15436500205940235     
   14800.000000000000      [Hz] :            8 .res
   14900.000000000000      [Hz] :   0.16180768408076251     
   14900.000000000000      [Hz] :            9 .res
   15000.000000000000      [Hz] :   0.16388019610373711     
   15000.000000000000      [Hz] :           10 .res
   15100.000000000000      [Hz] :   0.15982110598747551     
   15100.000000000000      [Hz] :           11 .res
   15200.000000000000      [Hz] :   0.15074650286398145     
   15200.000000000000      [Hz] :           12 .res
   15300.000000000000      [Hz] :   0.13885370598993371     
   15300.000000000000      [Hz] :           13 .res
   15400.000000000000      [Hz] :   0.12618976409021948     
   15400.000000000000      [Hz] :           14 .res
   15500.000000000000      [Hz] :   0.11405716994112736     
   15500.000000000000      [Hz] :           15 .res
   15600.000000000000      [Hz] :   0.10306231010139058     
   15600.000000000000      [Hz] :           16 .res
   15700.000000000000      [Hz] :    9.3374567545990342E-002
   15700.000000000000      [Hz] :           17 .res
   15800.000000000000      [Hz] :    8.4945897112663621E-002
   15800.000000000000      [Hz] :           18 .res
   15900.000000000000      [Hz] :    7.7641947016103510E-002
   15900.000000000000      [Hz] :           19 .res
   16000.000000000000      [Hz] :    7.1307642422355627E-002
   16000.000000000000      [Hz] :           20 .res
 start time:   0.0000000000000000     
 end time:   6.6000000000000005E-005
 frequency:   15000.000000000000     
 node id:           1
 num disp:          10
 time=   0.0000000000000000       :            1 .res
 time=   0.0000000000000000       :            1 .vis
 time=   6.6000000000000003E-006  :            2 .res
 time=   6.6000000000000003E-006  :            2 .vis
 time=   1.3200000000000001E-005  :            3 .res
 time=   1.3200000000000001E-005  :            3 .vis
 time=   1.9800000000000000E-005  :            4 .res
 time=   1.9800000000000000E-005  :            4 .vis
 time=   2.6400000000000001E-005  :            5 .res
 time=   2.6400000000000001E-005  :            5 .vis
 time=   3.3000000000000003E-005  :            6 .res
 time=   3.3000000000000003E-005  :            6 .vis
 time=   3.9600000000000000E-005  :            7 .res
 time=   3.9600000000000000E-005  :            7 .vis
 time=   4.6200000000000005E-005  :            8 .res
 time=   4.6200000000000005E-005  :            8 .vis
 time=   5.2800000000000003E-005  :            9 .res
 time=   5.2800000000000003E-005  :            9 .vis
 time=   5.9400000000000000E-005  :           10 .res
 time=   5.9400000000000000E-005  :           10 .vis