I need to calculate the zerocrossing frequency in Simulation. How can I do that?
The zerocrossing 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 onesigma displacement and onesigma velocity plots can be retrieved and divided to get the zerocrossing 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 zerocrossing 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 1sigma displacements SET,3,1 *VGET,zcf_ux,NODE,,U,X *VGET,zcf_uy,NODE,,U,Y *VGET,zcf_uz,NODE,,U,Z ! and 1sigma velocities SET,4,1 *VGET,zcf_vx,NODE,,U,X *VGET,zcf_vy,NODE,,U,Y *VGET,zcf_vz,NODE,,U,Z ! divide 1sigma velocity by 1sigma 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 

