How to apply moving load on a simple beam model

  • Last Post 27 February 2020
  • Topic Is Solved
Alex_Brendan posted this 27 February 2019

Hello everyone

I have a simply supported beam. I need to apply the same point load on one node at a time from the first to the last node, and also view all results. I have tried using a DO loop, but I am not sure if/how to solve at each step and save/write to a file. I am quite new on ANSYS and any help whatsoever will be appreciated.


Thank you..


Order By: Standard | Newest | Votes
jj77 posted this 27 February 2019

Another way is:


Say the beam has 11 nodes (1-11), thus 10 elements (n_el). Here nodes go from one end (node 1) to the other end of the beam (node nr. 11).

For every node one will have a force vs time table (see here for details on tables:, and an associated force, F command.

Say the first node starts with a force that starts immediately and is then zero, now say at the middle (node nr 6) the force has a value of whatever that you have (just say 100N) and is on at time equal to LengthBeam/2/vspeed., and is zero elsewhere (that is for other time except of t=(Lengthbeam/2)/(speed)).

So the force is on (has a value) in the force time table when t_n= ((n-1)*L/n_el)/speed, where t_n is the active time for node n, and n_el are number of elements.

Thus for a  beam 1 m long and a force travelling at a speed of 1m/s, then at the middle (node nr. 6) t_6 = 0.5 s, using the above.

For 1/5 of the beam distance (node nr. 3) t_3 = 0.2 s, using the above, and so on.

  • Liked by
  • Alex_Brendan
Alex_Brendan posted this 27 February 2019

Hi, firstly, I'm very thankful for your quick response.. But I'm not sure I follow completely as I said I'm still new on this, and I am just reading up the documentation on array parameters now. Well all I gather is that I need a table for every node (I have 81 nodes 13.5mm apart from left to right, total beam length = 1080), then work out a force and time table at each step.. well so there are 81 steps, I have a point load of 100N to start at node 1, then successively moving to node 81 (NINC = 1).. 

jj77 posted this 27 February 2019

In the previous example.


One would have 11 tables called say tabnode1 -- tabnode11



Then when defining the loads there would be 11 F commands,

F,1,FY,%tabnode1% -- F,11,FY,%tabnode11%

Then you just solve as usual (transient I suppose), using perhaps a time step that is smaller then it takes for the load to travel between node, and small enough to capture the highest vibration of interest...

  • Liked by
  • Alex_Brendan
Alex_Brendan posted this 27 February 2019

Thank you! Its much clearer now. I'll give it a go now and hopefully it works.

The only other thing is how to get results at all nodes since I'm going to have a loop in a loop in the solution. I have about 691 nodes. I usually use PRNSOL to do this after each solution but I don't know any way to append on PRNSOL. Vwrite as much as I know is limited to about 19 columns. Please is there a way to append multiple nodal solution files onto one file? 



Cpwtub posted this 27 February 2020

Is it possible to put this F command into a *DO loop?.

Thank you