Tutorial: Dynamic analysis with load
- JMB
- Topic Author
- Offline
- Elite Member
-
Less
More
- Posts: 166
- Thank you received: 0
14 years 10 months ago #4588
by JMB
Tutorial: Dynamic analysis with load was created by JMB
Hello Kees,
Thank you for the excellent tutorial at:
www.caelinux.org/wiki/index.php/Contrib:KeesWouters/dynamicload
I have more questions regarding that study:
A ) Why do you change to QUAD9 from QUAD8?
B ) Have you run the model with an altered load to see if the results are different?
C ) Do you have any instructions on how to get a Bode plot in octave? I have not used it much at all and would like to know it better or use Python numpy as a substitute.
Your tutorials, comments and insight are much appreciated! Thank you.
Regards,
JMB<br /><br />Post edited by: JMB, at: 2010/08/24 19:44
Thank you for the excellent tutorial at:
www.caelinux.org/wiki/index.php/Contrib:KeesWouters/dynamicload
I have more questions regarding that study:
A ) Why do you change to QUAD9 from QUAD8?
B ) Have you run the model with an altered load to see if the results are different?
C ) Do you have any instructions on how to get a Bode plot in octave? I have not used it much at all and would like to know it better or use Python numpy as a substitute.
Your tutorials, comments and insight are much appreciated! Thank you.
Regards,
JMB<br /><br />Post edited by: JMB, at: 2010/08/24 19:44
- kwou
-
- Offline
- Moderator
-
14 years 10 months ago #4590
by kwou
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
Replied by kwou on topic Re:Tutorial: Dynamic analysis with load
Hoi JMB
the fem-element I use in the analysis is coque_3d that has 9 nodes: 4 at the vertices, 4 at the midsides of the connecting edges and 1 at the centre. Quad8 has the first 8 nodes and is available from Salome. Quad9 is not available in Salome. So we have to convert to quad9 in the command file.
The same is valid for tria6: available from Salome, convert to tria7 in the command file for coque_3d.
Some remarks regarding coque_3d:
- coque_3d can be either tria or quad.
- centre node (tria and quad) have only rotational degrees of freedom; other nodes have 6 dofs
- coque_3d has no excentrement (eccentricity). Although you can give it a value it does not work.
I used various load cases and the results do change
Octave file (oct_rs.m) to construct bode plot: basically the next lines plot an fft of the results by Octave (files see below):
[code:1]
inter = filname(:,i) %% read results from file (table from CA)
Tstart = to
Tend = te
dT = Tend - Tstart
N = max(size(inter))
Fo = N/dT
freq = linspace(0,Fo,N);
yy = abs(fft(inter)); %% perform FFT
[/code:1]
The file migth see a bit overwhelming at first; most of it is used to set up the graph. If you have any question, pls fire (not at me personally) your questions.
kind regards - kees<br /><br />Post edited by: Kees Wouters, at: 2010/08/24 21:03
the fem-element I use in the analysis is coque_3d that has 9 nodes: 4 at the vertices, 4 at the midsides of the connecting edges and 1 at the centre. Quad8 has the first 8 nodes and is available from Salome. Quad9 is not available in Salome. So we have to convert to quad9 in the command file.
The same is valid for tria6: available from Salome, convert to tria7 in the command file for coque_3d.
Some remarks regarding coque_3d:
- coque_3d can be either tria or quad.
- centre node (tria and quad) have only rotational degrees of freedom; other nodes have 6 dofs
- coque_3d has no excentrement (eccentricity). Although you can give it a value it does not work.
I used various load cases and the results do change

Octave file (oct_rs.m) to construct bode plot: basically the next lines plot an fft of the results by Octave (files see below):
[code:1]
inter = filname(:,i) %% read results from file (table from CA)
Tstart = to
Tend = te
dT = Tend - Tstart
N = max(size(inter))
Fo = N/dT
freq = linspace(0,Fo,N);
yy = abs(fft(inter)); %% perform FFT
[/code:1]
The file migth see a bit overwhelming at first; most of it is used to set up the graph. If you have any question, pls fire (not at me personally) your questions.
kind regards - kees<br /><br />Post edited by: Kees Wouters, at: 2010/08/24 21:03
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
- kwou
-
- Offline
- Moderator
-
14 years 10 months ago #4591
by kwou
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
Replied by kwou on topic Re:Tutorial: Dynamic analysis with load
Attachment cyldynload_res-8bfcee491b511e8132236ded275152e4.zip not found
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
- JMB
- Topic Author
- Offline
- Elite Member
-
Less
More
- Posts: 166
- Thank you received: 0
14 years 10 months ago #4592
by JMB
Replied by JMB on topic Re:Tutorial: Dynamic analysis with load
Hello Kees,
Thanks for the explanation and the octave bits. I was trying the same thing but with CodeAster using:
[code:1]
import numpy as NP
import numpy.fft as FFT
import math
POURSUITE(PAR_LOT='NON');
# Extract the displacements into a table, then an array
TABe = TB_nodf.EXTR_TABLE();
DISPL = TABe.Array('INST','DZ');
# Arrange the time series into an array (list) too
abscissa = (NP.arange(tsteps/2)/te).tolist();
#=============================================================================================
# Calcululate the Fourier Transform
#=============================================================================================
FFT_DISP = FFT.fft(DISPL[:,1]);
Ampli = FFT_DISP*NP.conjugate(FFT_DISP);
IMPR_FONCTION(UNITE = 30,
FORMAT='XMGRACE',
PILOTE='POSTSCRIPT',
BORNE_X=(1.,1000.0),
GRILLE_X=100,
# GRILLE_Y=0.5,
# BORNE_Y=(0.,1.),
COURBE=( _F(ABSCISSE = abscissa,
ORDONNEE = Ampli.real[0:tsteps/2].tolist(),
MARQUEUR = 1,
COULEUR = 2,
STYLE = 1,
FREQ_MARQUEUR = 2,
LEGENDE = 'FFT of Displacement',
)
)
);
FIN();
[/code:1]
However, I get a bizzare plot. I pilfered bits of code from demo002a.comm (which is packaged in the standard CodeAster examples/tests suite). If you have the time could you test it please? Then it would make a nice addition to the tutorial you already have going. Notice that it uses 'POURSUITE' so you will have to set it up to use your existing 'base' files. I was trying to do everything in CodeAster / Python, so I don't have to learn and practice yet another musical note (octave)! Thank you.
Regards,
JMB
Thanks for the explanation and the octave bits. I was trying the same thing but with CodeAster using:
[code:1]
import numpy as NP
import numpy.fft as FFT
import math
POURSUITE(PAR_LOT='NON');
# Extract the displacements into a table, then an array
TABe = TB_nodf.EXTR_TABLE();
DISPL = TABe.Array('INST','DZ');
# Arrange the time series into an array (list) too
abscissa = (NP.arange(tsteps/2)/te).tolist();
#=============================================================================================
# Calcululate the Fourier Transform
#=============================================================================================
FFT_DISP = FFT.fft(DISPL[:,1]);
Ampli = FFT_DISP*NP.conjugate(FFT_DISP);
IMPR_FONCTION(UNITE = 30,
FORMAT='XMGRACE',
PILOTE='POSTSCRIPT',
BORNE_X=(1.,1000.0),
GRILLE_X=100,
# GRILLE_Y=0.5,
# BORNE_Y=(0.,1.),
COURBE=( _F(ABSCISSE = abscissa,
ORDONNEE = Ampli.real[0:tsteps/2].tolist(),
MARQUEUR = 1,
COULEUR = 2,
STYLE = 1,
FREQ_MARQUEUR = 2,
LEGENDE = 'FFT of Displacement',
)
)
);
FIN();
[/code:1]
However, I get a bizzare plot. I pilfered bits of code from demo002a.comm (which is packaged in the standard CodeAster examples/tests suite). If you have the time could you test it please? Then it would make a nice addition to the tutorial you already have going. Notice that it uses 'POURSUITE' so you will have to set it up to use your existing 'base' files. I was trying to do everything in CodeAster / Python, so I don't have to learn and practice yet another musical note (octave)! Thank you.
Regards,
JMB
Moderators: catux
Time to create page: 0.127 seconds