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 |


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.
Następnie w hecmw_ctrl_eigen.dat i hecmw_ctrl_freq.dat zmień wskazanie NAME=fstrMSH w obu przypadkach na dane siatki po partycjonowaniu.
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.

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