Dynamic simulation of the PCB

I am trying to make some simulation for the PCB, I need to check it for certain sinusoidal excitation and random vibration with given PSD.

I found out that there is a option for describe excitation with tabular, I was trying to use it somehow.
Is this even possible? Thank you for help

You can use the steady-state dynamics procedure to simulate harmonic (sinusoidal) excitation and get the results in the frequency domain. The amplitude feature can be used to specify the load as a function of frequency.

If you need to define a different form of excitation than the harmonic one, you can use the modal dynamics procedure. The results are in the time domain while amplitudes allow time variation of loads. Of course, this procedure might be used to apply a random excitation signal equivalent to PSD.

3 Likes

I will try to do this, lets see if i will succeed. thank you :slight_smile:

okey, so could someone explain to me, what really steady state dynamic procedure with harmonic turned on really does?

I have following set up:

I am wondering how this is summing up, what actually the loads was applied

I was trying to achieve this type of load

Hz g
5 0.5
20 0.8
35 0.8
35 0.6
75 0.6
85 0.9
100 0.9

Harmonic should stay on in most cases to use the usual form of this analysis procedure. Disabling it means that you specify the load in time domain but it’s counterintuitive for this type of analysis.

What you have now is harmonic (sinusoidal) load but with value depending on the frequency - amplitude at a given point times load magnitude (you have to select the amplitude other than Default there though).

1 Like

damn, of course, so with edited load (choosen correct amplitude) I think I have valid setup.
Time to try random now :slight_smile:

If you need to define a different form of excitation than the harmonic one, you can use the modal dynamics procedure.

In modal dynamic procedure I am not able to create any BCs. I know those are not needed for finding natural freqs but for random vibr it is needed, should I use other step instead?

CalculiX requires that boundary conditions in modal dynamics step remain the same as the ones defined in the preceding frequency step: Small typos in v1.4.0 - #2 by Matej

If you want to prescribe motion instead of force load in that step, you should use *BASE MOTION - it has to be added via keyword editor: Base motion for dynamic analyses

1 Like

I would like to use acceleration load. Is base motion will be any diffrence than grav load?
I was trying to add keyword but not sure where should I add this, in loads, in BCs? Or maybe existing load edit with formula you’ve provided

Base motion is a special form of a boundary condition meant for linear dynamics procedures. It’s like physically shaking the part (e.g. on a vibration shaker) so it should be appropriate here. And it’s also available in the acceleration form.

You can’t edit existing keywords in the Keyword Editor so just add a new one somewhere between *MODAL DYNAMIC and *END STEP.

Hello it’s possible sintetize the PSD into a time domain and Next use this data to feed the table? It’s knowed there would be hundred of thousand points, prepomax could work with this?

We’ve been talking about it with Hubert. There are some Matlab codes that could do the job and it might be interesting to convert them to Scilab. Then one could try using that as an amplitude. It should work fine. But the solver increments would have to be really dense.

1 Like

I also have the similar model where I have a pcb and I am using frequency vs PSD values as amplitude using gravity loads.

Unfortunately I am getting an error and I dont know the reason.

This is the model

can you please help me.

You need a Frequency step with Storage=Yes before the Steady State Dynamics one.

Random_vibration_2.pmx (5.3 MB)

oh thank you. It worked

I also have another confusion. In gravity amplitude we can define Hz vs mm/s^2 but my psd curve is in following format
image

Then how can I covert my values ?

The steady state dynamics procedure assumes harmonic (sinusoidal) excitation. If you need a different form of excitation and transient, not steady state vibrations, you should use the modal dynamics procedure. This can be equivalent to random response analysis. But then you have to convert the PSD to time domain using some script in Matlab or SciLab, for instance.

Thank you.
Yes I understood this from your previous comments. Are there any websites our literatures that provide the imformation about how this code should look like ?

You can find some examples of Matlab codes for that. I’ve tried converting them to Scilab but it doesn’t work for now.

https://www.mathworks.com/matlabcentral/answers/1754630-psd-curve-into-time-series-data
https://www.mathworks.com/matlabcentral/answers/1961044-creating-a-time-series-signal-from-a-known-psd
https://ch.mathworks.com/matlabcentral/answers/2111171-generate-a-time-series-from-power-spectral-density?s_tid=prof_contriblnk

Sure I will take a look at them
Thank you

I also found this website
Random RMS Calculator (crystalinstruments.com)

Upon entering my PSD vs Hz data it created G^2 values. Can I take square root of it and use it as the amplitude ?