I'm trying to simulate a travelling load over a footbridge to understand what maximum acceleration is produced in the deck.
The load (180 N) has been modelled as a traction over a (4300 mm x 500 mm) area by means of the following formula, in which the load velocity is 0.9*1.565 m/s.
-(180/4300/500)*heaviside((0.9*1.565*(t)-40/(0.9*1.565))-(x-0.5/2))*heaviside((x+0.5/2)-(0.9*1.565*(t)-40/(0.9*1.565)))
I run several dynamic analyses, but I realized that results keep on varying by changing the time step.
Do you have any advice to work out this issue?
Thanks,
Andrea
Comments
In this case, acceleration has such big high frequency components, I don't think 0.01 s fine enough too big to capture it. Maybe add damping to suppress those if they're not important.
Another possibility is that load it too concentrated (500 mm) for the element size (also 500 mm) so there could be artifacts from it straddling element boundaries.
I've found that a rectangular travelling load tends to have this kind of problem and it works better with the unittriangle(w,x) function instead which makes the load taper off at the edges. It might still need higher deck mesh density but not sure.
Here's the formula I used:
-(180/4300/1000) * unittriangle(0.5, (0.9*1.565)*t-40/(0.9*1.565)-x )It gives broadly similar displacement results to 0.01 s time step with your function but using only a 0.05 s time step.
If you change the first parameter (0.5), it spreads the load out further and can make it smoother by straddling more elements without affecting the total force.
Note that the width of the loaded area is only 3570 mm, not 4300 mm so it's not really 180 N.
With the load formula you proposed, the traction is applied over a length of 1000 mm instead of 500 mm, isn't it?
Secondly, is it possibile to run a similar analysis on a beam model?
I also have a rougher model of the structure made of beam elements only, but I can't figure out if it supports position dependent loads.
Thanks,
There isn't a convenient way to do it with beams, sorry. You might have to procedurally generate a separate time-dependent force load at each node.
-(180/4.3) * unittriangle(0.5, (0.9*1.565)*t-40/(0.9*1.565)-x )the
unittriangle()function defines a force per unit length whose integral over all x at any t value is 1 N. We then divide by the width of the load area (4.3 m) to get a force per unit area whose integral is also 1 N. Then multiply by -180 to scale that integral from 1 N to -180 N.[function in Pa]
[function in MPa]
However I get different results in the two cases.
What am I missing?
Can you please clarify the termis of the unittriangle() function?
unittriangle(0.5, (0.9*1.565)*t-40/(0.9*1.565)-x )0.9*1.565 = velocity
40/(0.9*1.565) = it looks like space /velocity, but the unit of measure wouldn't be consistent
unittriangle(w,x) is this with area = 1. You add a constant to x to shift it in space, and add a multiple of t to make it shift linearly with time.