Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
to all,
I am trying to set up the standard convulsion /Duhamel integral for a damped SDOF subject to an arbitrary input p(t) but can’t figure out the syntax required in MathCAD to make it work. Could someone help me on this one? (see attached mcad file)
Thanks
Regards
Solved! Go to Solution.
I think part of your problem stems from the definition of your impulse function p. You impulse frequency is much higher than the natural frequency of your system, and the pulse is over very fast. But the top illustration in your image shows an excitation imposed on a system with a higher frequency than the excitation.
Attached is an example with the same damped system, with a half-sine pulse with a frequency much lower than the natural frequency of your system. And the integral works (sort of.)
If you had an impulse defined by data points you would have to fit a function to the data before you integrated.
CONVOLUTION! please! You have to define x.0 and v.0
While sure Fred is right about units you see in his sheet that you have to strip out the units for the odesolve-block (one of the very few advatages of Prime is that you can use units here.).
But maybe we should explain why your attempt failed. The reason is that in your initial conditions you used x0 and v0, but forgot to define them.
EDIT: Sorry, Francesco already explained that. His reply did not show up until I posted mine.
Thanks Fred, Francesco and Werner for the replies
Convolution indeed! Will call it Duhamel from now on
I didn't use unit because all the inputs are consistent (unit wise) and I did notice that the odesolve didn't like units. I also realized that I used m to define the mass
Thanks for pointing the error on the way I defined the Duhamel integral
Questions:
1. Why is the Duhamel integral which should give the response x(t) different to the x(t) obtained with the odesolve?
2. I am testing with a well defined p(t) function. How does one handle a function define with data points? given time step I suspect I need to define t[i
...Indeed, In all branches of engineering and physics, is used the term - convolution - ......
I think part of your problem stems from the definition of your impulse function p. You impulse frequency is much higher than the natural frequency of your system, and the pulse is over very fast. But the top illustration in your image shows an excitation imposed on a system with a higher frequency than the excitation.
Attached is an example with the same damped system, with a half-sine pulse with a frequency much lower than the natural frequency of your system. And the integral works (sort of.)
If you had an impulse defined by data points you would have to fit a function to the data before you integrated.
Thanks. I just plugged numbers to make it work. Will need to have a look at the sheet provided at a slow pace.
I don't like setting up units and then having to remove them. Looks awful !
Haven't had a look a the detail yet but it's surprising that one gets different answer. Looks very good up to t=0.1 then after that the ODE solve is going "crazy" !
wrote:I don't like setting up units and then having to remove them. Looks awful !
Haven't had a look a the detail yet but it's surprising that one gets different answer. Looks very good up to t=0.1 then after that the ODE solve is going "crazy" !
I work a lot with actual hardware, so I need/like to have units to define things. But you have seen this problem set up without units and made to work. The issue is that the scaling has to be right, or the answers are wrong; if (like me) you are proscribing units in whatever comes in handy converting to a uniform system (aka "UnitsOf") is required for the correct answer.
As far a who goes crazy, the Duhamel calculation generated the spikes:
Apologies. Indeed the Duhamel "goes" crazy. As a general interest: What is causing this "spiky" behaviour?
Hi JXB,
I would say that the convolution was not applied correctly. In fact, by applying the Laplace transform to the equation and then anti-transforming, I obtain a very large solution that can not be displayed, but coincides with that calculated using odesolve. See below:
Thanks for that insight. Struggling to follow the math but it is interesting to note that what is a simple academic example is throwing some "issues" once defined/set-up in Mathcad. I was simply doing some checks