အကြောင်းအရာသို့ ကရန်

ကြိမ်နှုန်းတုံ့ပြန်မှု ခွဲခြမ်းစိတ်ဖြာမှု

ဤခွဲခြမ်းစိတ်ဖြာမှုကို လုပ်ဆောင်ရန် 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 ဟု သတ်မှတ်သည်။ ကြိမ်နှုန်း ပြောင်းလဲစစ်ဆေးမှု ရလဒ်များကို NAME=fstrRES ၏ beam.res သို့၊ !DYNAMIC ဖြင့် သတ်မှတ်ထားသော ကြိမ်နှုန်း (15000Hz) ရှိ အချိန်မှတ်တမ်း ရလဒ်များကို NAME=fstrDYNA ၏ beam_dyna.res သို့ ထုတ်ပေးသည် (→ !RESULT)။

ခွဲခြမ်းစိတ်ဖြာမှု ထိန်းချုပ်ဒေတာ beam_eigen.cnt

#  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

#  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

ထို့နောက် hecmw_ctrl_eigen.dat နှင့် hecmw_ctrl_freq.dat တို့၏ NAME=fstrMSH သတ်မှတ်ချက်များကို ခွဲပြီးနောက် မက်ရှ်ဒေတာ သို့ ပြောင်းလဲသည်။

!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 ၏ မှတ်တမ်းဖိုင် 0.log တွင်သာ ထုတ်ပေးသောကြောင့် ၎င်းကို eigen_0.log ဟု သတ်မှတ်သည်။ ရလဒ်ဖိုင် များကို beam_dyna.res.<ဖြန့်ဝေဒိုမိန်းနံပါတ်>.<နံပါတ်> ကဲ့သို့ ပရိုဆက်စ် တစ်ခုချင်းစီအတွက် ထုတ်ပေးသည်။ စောင့်ကြည့်နိုဒ် ၏ ကြိမ်နှုန်း နှင့် ရွှေ့ပြောင်းမှုအမ်ပလီကျု ဆက်နွယ်မှုကို ၎င်းနိုဒ်ကို လုပ်ဆောင်ပေးသော ပရိုဆက်စ် ၏ မှတ်တမ်းဖိုင် (<ဖြန့်ဝေဒိုမိန်းနံပါတ်>.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