Przejdź do treści

Analiza odpowiedzi częstotliwościowej

W tej analizie używane są dane z tutorial/17_freq_beam.

Przedmiot analizy

Analizowanym obiektem jest belka wspornikowa; jej geometrię pokazano na rysunku 4.17.1, a dane siatki na rysunku 4.17.2.

Pozycja Opis Uwagi Odniesienie
Typ analizy Analiza odpowiedzi częstotliwościowej !SOLUTION,TYPE=EIGEN !SOLUTION,TYPE=DYNAMIC
Liczba węzłów 55
Liczba elementów 126
Typ elementu 4-węzłowy liniowy element tetraedryczny !ELEMENT,TYPE=341
Nazwa materiału Material-1 !MATERIAL,NAME=Material-1
Warunki brzegowe Utwierdzenie, obciążenie skupione, wartość własna !EIGENREAD
Solver liniowy CG/SSOR !SOLVER,METHOD=CG,PRECOND=1

Geometria belki wspornikowej

Rys. 4.17.1 Geometria belki wspornikowej

Dane siatki belki wspornikowej

Rys. 4.17.2 Dane siatki belki wspornikowej

Konfiguracja analizy

Jeden koniec analizowanej belki wspornikowej jest całkowicie utwierdzony, a następnie przeprowadza się analizę odpowiedzi częstotliwościowej, przykładając obciążenia skupione do dwóch węzłów na przeciwległym końcu.

Procedura obejmuje najpierw analizę modalną do 10. postaci drgań przy tych samych warunkach brzegowych, a następnie analizę odpowiedzi częstotliwościowej z użyciem wartości własnych i wektorów własnych do 5. postaci drgań. Ogólne dane sterujące oraz dane sterujące analizą dla analizy modalnej i analizy odpowiedzi częstotliwościowej przedstawiono poniżej.

Ogólne dane sterujące 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

Ogólne dane sterujące 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

W analizie odpowiedzi częstotliwościowej wektory własne są odczytywane z pliku wyników eig_beam.res wygenerowanego przez analizę modalną, dlatego ten plik wskazuje się jako NAME=result-in. Wyniki przeskanowania częstotliwości są zapisywane do beam.res dla NAME=fstrRES, a wyniki historii czasowej dla częstotliwości (15000 Hz) określonej w !DYNAMIC — do beam_dyna.res dla NAME=fstrDYNA (→ !RESULT).

Dane sterujące analizą beam_eigen.cnt

#  Plik sterujący dla 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

Dane sterujące analizą beam_freq.cnt

#  Plik sterujący dla 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

Procedura analizy

Najpierw zmień nazwę ogólnych danych sterujących hecmw_ctrl_eigen.dat dla analizy modalnej na hecmw_ctrl.dat, a następnie wykonaj analizę modalną.

Następnie zmień nazwę ogólnych danych sterujących hecmw_ctrl_freq.dat dla analizy odpowiedzi częstotliwościowej na hecmw_ctrl.dat, a pliku dziennika wyników 0.log z analizy modalnej na eigen_0.log (zgodnie z ustawieniem w danych sterujących analizy odpowiedzi częstotliwościowej), po czym wykonaj analizę odpowiedzi częstotliwościowej.

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

Wykonywanie równoległe

Jeśli te same dane są dzielone na 2 domeny i wykonywane równolegle, analizę modalną i analizę odpowiedzi częstotliwościowej prowadzi się na tej samej siatce rozproszonej. Każdy proces analizy odpowiedzi częstotliwościowej odczytuje wektory własne z plików wyników zapisanych przez analizę modalną dla każdego poddomeny, dlatego nie można użyć wyników analizy modalnej wykonanej sekwencyjnie ani wyników analizy modalnej wykonanej z innym partycjonowaniem siatki (→ typ analizy).

Najpierw utwórz następujące ogólne dane sterujące hecmw_ctrl_part.dat oraz dane sterujące partycjonowaniem siatki hecmw_part_ctrl.dat i podziel dane siatki na 2 domeny.

!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

Następnie w hecmw_ctrl_eigen.dat i hecmw_ctrl_freq.dat zmień wskazanie NAME=fstrMSH w obu przypadkach na dane siatki po partycjonowaniu.

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

W tej samej kolejności co przy wykonaniu sekwencyjnym, wykonaj analizę modalną i analizę odpowiedzi częstotliwościowej z 2 procesami.

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

Lista wartości własnych jest zapisywana wyłącznie w pliku dziennika ranka 0, 0.log, dlatego ten plik przemianowuje się na eigen_0.log. Pliki wyników są zapisywane osobno dla każdego procesu, w postaci beam_dyna.res.<rank>.<numer>. Zależność między częstotliwością a amplitudą przemieszczenia węzła monitorowanego jest zapisywana w pliku dziennika (<rank>.log) procesu odpowiedzialnego za dany węzeł. Uzyskane wartości są zgodne z wynikami wykonania sekwencyjnego w zakresie błędu zaokrąglenia.

Wyniki analizy

Zależność między częstotliwością a amplitudą przemieszczenia dla węzła monitorowanego (węzeł nr 1) określonego w danych sterujących analizą jest wykreślana w Microsoft Excel i pokazana na rysunku 4.17.3. Poniżej przedstawiono również fragment pliku dziennika wyników analizy jako dane liczbowe wyników analizy.

Zależność między częstotliwością a amplitudą przemieszczenia węzła monitorowanego

Rys. 4.17.3 Zależność między częstotliwością a amplitudą przemieszczenia węzła monitorowanego

Dziennik wyników analizy 0.log (analiza odpowiedzi częstotliwościowej)

 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