ข้ามไปที่เนื้อหา

การวิเคราะห์การตอบสนองความถี่

การวิเคราะห์นี้ใช้ข้อมูลของ tutorial/17_freq_beam

แบบจำลองที่วิเคราะห์

แบบจำลองที่วิเคราะห์เป็นคานยื่น โดยแสดงรูปร่างไว้ในรูป 4.17.1 และแสดงข้อมูลเมชไว้ในรูป 4.17.2

รายการ เนื้อหา หมายเหตุ อ้างอิง
ชนิดการวิเคราะห์ การวิเคราะห์การตอบสนองความถี่ !SOLUTION,TYPE=EIGEN !SOLUTION,TYPE=DYNAMIC
จำนวนโหนด 55
จำนวนเอลิเมนต์ 126
ชนิดเอลิเมนต์ เอลิเมนต์ทรงสี่หน้าอันดับหนึ่ง 4 โหนด !ELEMENT,TYPE=341
ชื่อคุณสมบัติวัสดุ Material-1 !MATERIAL,NAME=Material-1
เงื่อนไขขอบเขต การยึดตรึง, แรงรวมศูนย์, ค่าลักษณะเฉพาะ !EIGENREAD
วิธีแก้ระบบสมการ CG/SSOR !SOLVER,METHOD=CG,PRECOND=1

รูปร่างของคานยื่น

รูป4.17.1 รูปร่างของคานยื่น

ข้อมูลเมชของคานยื่น

รูป4.17.2 ข้อมูลเมชของคานยื่น

เนื้อหาการวิเคราะห์

ทำการวิเคราะห์การตอบสนองความถี่ โดยยึดตรึงปลายด้านหนึ่งของคานยื่นอย่างสมบูรณ์ และออกแรงรวมศูนย์สวาาง 2 โหนดที่ปลายอีกด้าน

ขั้นตอนคือ ทำการวิเคราะห์โหมดจนถึงโหมดที่ 10 ภายใต้เงื่อนไขขอบเขตเดียวกันก่อน จากนั้นจึงทำการวิเคราะห์โดยใช้ค่าลักษณะเฉพาะและเวกเตอร์ลักษณะเฉพาะจนถึงโหมดที่ 5 ข้อมูลควบคุมโดยรวมและข้อมูลควบคุมการวิเคราะห์สำหรับการวิเคราะห์โหมดและการวิเคราะห์การตอบสนองความถี่แสดงไว้ด้านล่าง

ข้อมูลควบคุมโดยรวม 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

การรันแบบขนาน

เมื่อต้องการแบ่งข้อมูลเดียวกันเป็น 2 โดเมนแล้วรันแบบขนาน ให้ทำการวิเคราะห์โหมดและการวิเคราะห์การตอบสนองความถี่บนเมชแบบกระจายเดียวกัน เนื่องจากแต่ละกระบวนการของการวิเคราะห์การตอบสนองความถี่จะอ่านเวกเตอร์ลักษณะเฉพาะจากไฟล์ผลลัพธ์ที่การวิเคราะห์โหมดเขียนออกสำหรับแต่ละโดเมนย่อย จึงไม่สามารถใช้ผลลัพธ์จากการวิเคราะห์โหมดที่รันแบบอนุกรมหรือที่รันด้วยการแบ่งเมชอีกแบบหนึ่งได้ (→ ชนิดการวิเคราะห์)

ขั้นแรก สร้างข้อมูลควบคุมโดยรวม hecmw_ctrl_part.dat และข้อมูลควบคุมการแบ่งเมช hecmw_part_ctrl.dat ดังต่อไปนี้ แล้วแบ่งข้อมูลเมชเป็น 2 โดเมน

!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

ทำการวิเคราะห์โหมดและการวิเคราะห์การตอบสนองความถี่ด้วย 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 ของ rank 0 เท่านั้น จึงเปลี่ยนชื่อเป็น eigen_0.log ไฟล์ผลลัพธ์ถูกเขียนออกต่อกระบวนการ เช่น beam_dyna.res.<rank>.<เลข> ความสัมพันธ์ระหว่างความถี่กับแอมพลิจูดการกระจัดของโหนดเฝ้าติดตามถูกเขียนออกไฟล์บันทึกของกระบวนการที่ดูแลโหนดนั้น (<rank>.log) ค่าที่ได้จะตรงกับผลลัพธ์จากการรันแบบอนุกรมภายในขอบเขตของข้อผิดพลาดจากการปัดเศษ

ผลการวิเคราะห์

สร้างความสัมพันธ์ระหว่างความถี่กับแอมพลิจูดการกระจัดของโหนดเฝ้าติดตาม(หมายเลขโหนด 1) ที่ระบุไว้ในข้อมูลควบคุมการวิเคราะห์ ด้วย Microsoft Excel และแสดงไว้ในรูป 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