In an earlier thread regarding random vibration, https://forum.solidworks.com/message/213116#213116 , we discussed the need to use Nonlinear Dynamic for the situation where the "do not allow penetration" requirement is needed. Tony Botting also suggested Tom Irvine's site, http://www.vibrationdata.com as a source for synthesizing the random vibration PSD curve as a time-history input. I've recently subscribed to Irvine's website - the $40 subscription is very reasonable considering all of the information (tutorials, software) that are available for downloading.

Many of our random vibration analyses involved designs that have panels, brackets, etc., that are attached at defined points. The remaining portions of the mating surfaces are not bonded together - they are free to separate from each other - hence the need for the "do not allow penetration" condition. Another reason for using Nonlinear Dynamic is the need to include both sine tones and random vibration (sine-on-random) in our analyses. Looks like the only way to do this is convert the random PSD curve into the time domain and then add in the sine tones.

So, I gave the Nonlinear Dynamic a try, first by using Tom Irvine's software to convert the PSD data into the time domain - I'm working with just the random data now - I'll add the sine tones later. My main goal is to see how well the "do not allow penetration" contacts work, and compare to the Linear Random Vibration results that I typically use. Below is the curve of the converted PSD data in the time domain. Since Nonlinear Dynamic limits the number of points to 5,000, only a portion of the curve is represented. When I run a very simple model - a beam with a block on the end - the model runs forever - I think I'm using too small of a time step. What I think I need help on is understanding how to trim down the time data, so my question (finally) is has anyone else worked with converting PSD curves into the time domain using Nonlinear Dynamic and what are the steps to maintaining a reasonably sized model and run time? Thanks in advance for any help - Dave.

First off, it is not possible to convert from a PSD to the time domain directly (and retrieve the original random input signal used to create the PSD) as the time information has been lost when it was originally converted to the frequency domain. What you are most likely doing to get this random time signal is taking a sampling of sort from the PSD curve and creating a random signal that way. This is fine so long as you do this for a long time, such that the signal is accurately represented statistically. For example, imagine if you only converted .1 second worth of random signal from the PSD to the time domain. Would this be long enough to accurately represent the full random input? Probably not, you would likely need hours of data.

I am highly doubtful that the second of time you show above is anywhere near long enough to fully represent the signal. This is why the PSD method was introduced to begin with as it was impractical to analyze in the time domain; the duration required to capture the full response is far too long! You will likely want to rethink your approach to this problem. Is there some way to add in your sine tones and then convert back to PSD (while still retaining the intended sine tones)? My initial thought is that this is not possible, but I'm not fully certain. Why not try and contact Tom and get his thoughts? You might need to pay for some consulting service for an hour or two, but I'm sure that will be worth it considering the time you would save.

As for the non-linear analysis, you can expect a very long solution time, depending on the complexity of your model. You are essentially multiplying the linear solution time by the solution time of one frequency of non-linear analysis, i.e. X minutes for the linear solution * Y minutes for one iteration of the non-linear solution at one frequency * Z iterations to convergence). You can see this will likely be quite a long process. If your model is simple enough it may not be a big deal, but my experience is you generally need a descent size model to get good results regardless of the problem being analyzed. Good luck! Let us know what you come up with.