General Mechanical

General Mechanical

Uniformly Varying Load With Function

    • shamik062

      Hello Everyone,

      I want to simulate the effect of uniformly varying load on a simply supported beam. The load is in kN/mm and varies with axis of beam (X axis) in parabolic fashion (Please See the attached Image).

      But in workbench I could not find any option for applying this kind of Load (kN/mm) . Moreover when I am trying to use equation while applying a force by component this message is popping up: "The expression contains primary independent variables (x,y or z) which are not allowed." 

      Is there any way to solve this issue in Workbench without using command object or APDL?

      Edit:  Using Line Pressure I can apply the Load in kN/mm. But again I can not write any function or equation

    • jj77

      The only way I could do this is to create a named selection of the beam/line body, then insert (Right Mouse Button click on the new name selection and choose create nodal named selection) a node named selection, and that can be used by a nodal force that is a function say of distance. Not very easy, but it seems to be acceptable at least.


    • shamik062

      Thank You for your Reply. Can you please share your file with me? 

    • jj77

       I do not do that, but the instructions above I hope are clear if you have any questions please let me know.

      I have tried this and it works.

      In the nodal force though Set the divide Load by Nodes to NO.



    • shamik062

      Yes it works. But unfortunately I can only apply nodal force. In case of Nodal Pressure I am not getting any deflection and the only option for applying pressure is set as "Normal To".

      So How can I convert the load which is in kN/m (as shown in the problem) to equivalent force to apply on nodes?

      Thanks in advance.

    • jj77

      In general if you multiply it by the length of the beam and you get the total load. Thus if you have ten nodes then you take that value divide it by ten and apply it to every node. So if you take the nodal force times the nodes you applied it to that gives the correct total load - now in your case since it varies not sure exactly. Also it is better to use consistent loads rather then nodal loads (see a basic book in FEA about the difference or the ansys manual)


      Strand7 has very good load application for beams (ansys is not used so much for structures modelled with beams and plates, it is mostly powerful for 3D modelling/analysis, hence it does not have many features for beams, or if it has it is not straightforward to use in WB). Other civil software that might be free for students are RFEM, RSTAB, SAP2000,ETABS,and these (including Strand7) are used much more in the civil area than ansys which is not that common there, at least for design.

    • shamik062

      Actually I am pretty new in using Ansys. I thought this kind of common problem will be very easy to handle in Ansys Workbench, But it seems that is not the case. I believe in Mechanical APDL I will have much more flexibility.

      Anyway thanks for your suggestion and help.  

    • jj77

      It offers some flexibility but as I said it is not really useful, especially if you are modelling 100 of beams and need to do this manually.


      The civil/structural software I mentioned can have very complex distributions, of distribute beam loads (N/m), and it can be done by a click of a button (via GUI), so I would recommend to use those if you have a big model (also if you are a civil eng. you are more likely to work with those rather than ansys, so it is a good experience to learn one).


      Now it can be automated in APDL via scripting to a certain extent, so below is a small example that should work on a beam as you show that is aligned along x and that is 2 m long with a varying distribution (see this tutorial how to make a simple beam model with a distribute load -


      Also you can use the do loop in a model that you have made in workbench and paste the do loop into a command snippet in the section of the model tree, where one defines loads and BC (+ the L=2 part or what ever length the beam has, and the *get number of elements command), and that works too. Use also nodal displacements and rotations for the BC, in order to apply everything on the mesh rather than geometry (e.g., vertices) and mesh (sfbeam).




      L=2 ! Length of beam

      ET,1,BEAM188 ! Element type

      K,1,0,0,0 ! Keypoint

      K,2,L,0,0 ! Keypont

      L,1,2 ! Line


      MP,EX,1,200E9 ! Young's Modulus

      MP,PRXY,1,0.33 ! Poisson's ratio


      SECTYPE,   1, BEAM, RECT, , 0   ! Section /square





      LMESH,ALL !Mesh Lines


      *GET,ECOUNT,ELEM,,COUNT              ! Get total number of elements


      *GET, EI, ELEM, i, NODE, 1 ! Find first node

      *GET, EJ, ELEM, i, NODE, 2 ! Find second node

      *GET, XI, NODE, EI, LOC, X, ! Find x coordinates

      *GET, XJ, NODE, EJ, LOC, X, ! Find x coordinates

      SFBEAM,i,2,PRES,1000*(1-(XI*XI)/(L*L)),1000*(1-(XJ*XJ)/(L*L)) ! Apply pressure



      ! D,1,UX,0 ! BC 

      D,1,UY,0 !  on keypoint 1

      D,1,UZ,0 !  on keypoint 1

      D,2,UX,0 !  on keypoint 2

      D,2,UY,0 !  on keypoint 2


      D,2,ROTX,0 ! 


      ANTYPE,0 ! Static analysis







    • kaengo
      What to do, if there are many other elements in the model, and the beam elements (I use pipe288) are not surely numbered continously?nIs there a chance to use the *do - *enddo loop without knowing the numbers ot the elements?nI got the beam elements selected, but how can I address them one by one?.Greetings,nHolgernn
Viewing 8 reply threads
  • You must be logged in to reply to this topic.