I need to calculate the zero-crossing frequency in Simulation. How can I do that?


The zero-crossing frequency (also called "Statistical Average Frequency" or "Expected Frequency") is computed as the square root of the velocity variance divided by the displacement variance, or

sqrt ( (1 sigma velocity)**2/(1sigma disp)**2)

= 1 sigma Velocity/1 sigma Displacement

= load step 4/load step 3 in POST1 after a PSD analysis.

(Ref: Looman, ANSYS Solution 7823)

Since Simulation calculates relative displacement and absolute velocity by default, the velocity can be retrieved in relative terms by inserting a command object into the Random Vibration branch with the command "PSDRES,VELO,REL". Note that this will make the Simulation result object "Directional Velocity" a relative value, despite the Reference reported in the Details as being "Absolute (including base motion)."

Then, the one-sigma displacement and one-sigma velocity plots can be retrieved and divided to get the zero-crossing frequency (note that this division will result in a frequency with units of radians per second). As a sanity check, it is possible to change the Random Vibration Analysis Settings to use only one mode, then the resulting zero-crossing frequency should be very close to the frequency of the first mode.

You will actually get an expected frequency for each degree of freedom (nodes * DOF/node), which can be formed into three separate contour plots (X, Y, and Z directions). These contour plots can be retrieved in Simulation by inserting the following APDL into a Command Object in the Solution branch of a Random Vibration analysis:



! Commands inserted into this file will be executed immediately after the Ansys /POST1 command.

/show,png ! output to png format
/gfile,650 ! adjust size of image file
/edge,1,1 ! turn on element outlines
/view,,1,1,1 ! adjust view angle
/dscale,,off! don't scale the results in PSD
rsys,solu ! postprocess random vibration results in solution coordinate system

! get 1-sigma displacements

SET,3,1
*VGET,zcf_ux,NODE,,U,X
*VGET,zcf_uy,NODE,,U,Y
*VGET,zcf_uz,NODE,,U,Z

! and 1-sigma velocities

SET,4,1
*VGET,zcf_vx,NODE,,U,X
*VGET,zcf_vy,NODE,,U,Y
*VGET,zcf_vz,NODE,,U,Z

! divide 1-sigma velocity by 1-sigma displacement

*VOPER,zcf_x,zcf_vx,DIV,zcf_ux
*VOPER,zcf_y,zcf_vy,DIV,zcf_uy
*VOPER,zcf_z,zcf_vz,DIV,zcf_uz

! divide by 2*pi to get Hz from rad/s

pi = acos(-1)
*VOPER,zcf_x,zcf_x,DIV,2*pi
*VOPER,zcf_y,zcf_y,DIV,2*pi
*VOPER,zcf_z,zcf_z,DIV,2*pi

! we can overwrite results in loadstep 2 (unit static solution) since we won't be needing them here

set,2,1
*VPUT,zcf_x,node,,u,x
*VPUT,zcf_y,node,,u,y
*VPUT,zcf_z,node,,u,z

/title,zero crossing frequencies - x direction
plnsol,u,x
/title,zero crossing frequencies - y direction
plnsol,u,y
/title,zero crossing frequencies - z direction
plnsol,u,z





Show Form
No comments yet. Be the first to add a comment!