General Mechanical

General Mechanical

Topics related to Mechanical Enterprise, Motion, Additive Print and more.

How to apply displacement derivative dependent force on bunch of nodes in apdl?

    • Mehdi Baghaee
      Subscriber

      I want to apply displacement derivative dependent force (dw(x,y,z)/dx) on tons of nodes located on specific area using DERIV command in APDL. Since the number of nodes is big, I can not allocate this force one by one for each node.  how is it possible in apdl?

    • dlooman
      Ansys Employee

      The DERIV command is a time-history postprocessor (POST26) command and couldn't be used to apply forces.  The damping in a spring (COMBI14) could be used to apply a force proportional to the derivative of displacement.  It would probably require a macro to create the springs at tons of nodes though.

    • mjmiddle
      Ansys Employee

      When we say "derivative of displacement" in a transient analysis, I would expect the derivative with respect to time, which would be velocity, But dw(x,y,z)/dx shows it is with respect to a spatial variable. So what is your "w" equation? Is this force? So this is the rate the force changes with x you want to apply to each node? This seems strange to me. Or are you just asking how to set a spatially varying force? We can do this by equation. Or if you don't have an equation, and you just have a data file of forces at locations, we can map them to the nodes. Can you clarify what you want?

    • Mehdi Baghaee
      Subscriber

       

      Thanks dlooman and mjmiddle. 

      In my problem the load is both proportional to the derivative of displacement with respect to time and coordinate x, concurrently (F=dW(x,y,z,t)/dx+dW(x,y,z,t)/dt),where W(x,y,z,t) is the displacement of nodes in z direction in current time t.

      It seems to me that COMBIN14 can be used for second term of my force (dW(x,y,z,t)/dt), but since in the first term the derivative is done with respect to coodinate x, using the chain rule :

      dW/dx=(dW/dt)*(dt/dx)=dw/dt*(1/v)

      which v is the velocity calculated in the previous substep. So I need to define the damping coefficient given by 1/v.

      Is it true?

       

       

    • dlooman
      Ansys Employee

      I don't understand your loading description completely, but it's definitely not a standard one and would require a very complicated APDL script to accomplish.  If the analysis was divided into many small time steps, the current velocity vector of each node could be computed after each load step based on the current displacement increments divided by the time step.  Your function W(x,y,z) could probably also be evaluated at each time step and included in the force calculation.  This would require quite a lot of skill with Ansys APDL, but it's possible.

    • Mehdi Baghaee
      Subscriber

      The load formulation (P=dW(x,y,z,t)/dx+dW(x,y,z,t)/dt), is a well know aerodynamic piston theory used for modeling supersonic air flows on plates (panel flutter).

      Let me know if anybody could help to model it through ANSYS APDL.🙏

    • mjmiddle
      Ansys Employee

      It seems like you would need to make some APDL commands to loop over the result sets and compute:
      1. Change in total deformation divided by change in x deformation at node
      2. Change in total deformation divided by change in time at same node

      Add 1 and 2

    • Mehdi Baghaee
      Subscriber

      Since I am doing transient analysis, I am looking for the simplest way (commands) in apdl to apply the load formulation (P=dW(x,y,z,t)/dx+dW(x,y,z,t)/dt) on a node!

      For example the node 11 in the following cantilevered beam.

      /BATCH  
      /input,menust,tmp,''
      WPSTYLE,,,,,,,,0
      /BATCH  
      /input,menust,tmp,''
      WPSTYLE,,,,,,,,0
      /NOPR   
      KEYW,PR_SET,1   
      KEYW,PR_STRUC,1 
      KEYW,PR_THERM,0 
      KEYW,PR_FLUID,0 
      KEYW,PR_ELMAG,0 
      KEYW,MAGNOD,0   
      KEYW,MAGEDG,0   
      KEYW,MAGHFE,0   
      KEYW,MAGELC,0   
      KEYW,PR_MULTI,0 
      /GO 
      /PREP7  
      ET,1,BEAM188
      KEYOPT,1,1,0
      KEYOPT,1,2,0
      KEYOPT,1,3,0
      KEYOPT,1,4,0
      KEYOPT,1,6,0
      KEYOPT,1,7,0
      KEYOPT,1,9,0
      KEYOPT,1,11,0   
      KEYOPT,1,12,0   
      KEYOPT,1,15,0   
      MPTEMP,,,,,,,,  
      MPTEMP,1,0  
      MPDATA,EX,1,,1e9
      MPDATA,PRXY,1,,0.3  
      MPTEMP,,,,,,,,  
      MPTEMP,1,0  
      MPDATA,DENS,1,,2000 
      SECTYPE,   1, BEAM, RECT, , 0   
      SECOFFSET, CENT 
      SECDATA,0.01,0.01,0,0,0,0,0,0,0,0,0,0   
      N,1,0,0,0,,,,   
      N,2,0.1,0,0,,,, 
      N,3,0.2,0,0,,,, 
      N,4,0.3,0,0,,,, 
      N,5,0.4,0,0,,,, 
      N,6,0.5,0,0,,,, 
      N,7,0.6,0,0,,,, 
      N,8,0.7,0,0,,,, 
      N,9,0.8,0,0,,,, 
      N,10,0.9,0,0,,,,
      N,11,1,0,0,,,,  
      TYPE,   1   
      MAT,       1
      REAL,   
      ESYS,       0   
      SECNUM,   1 
      TSHAP,LINE  
      FLST,2,2,1  
      FITEM,2,1   
      FITEM,2,2   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,2   
      FITEM,2,3   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,3   
      FITEM,2,4   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,4   
      FITEM,2,5   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,5   
      FITEM,2,6   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,6   
      FITEM,2,7   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,7   
      FITEM,2,8   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,8   
      FITEM,2,9   
      E,P51X  
      FLST,2,2,1  
      FITEM,2,9   
      FITEM,2,10  
      E,P51X  
      FLST,2,2,1  
      FITEM,2,10  
      FITEM,2,11  
      E,P51X  
      FLST,2,1,1,ORDE,1   
      FITEM,2,1   
      /GO 
      D,P51X,ALL, , , , , , , , , ,  
      FINISH  
      /SOL
      ANTYPE,4
      TRNOPT,FULL 
      LUMPM,0 
      DELTIM,0.01,0,0 
      OUTRES,ERASE
      OUTRES,ALL,1
      TIME,1  
      FLST,2,1,1,ORDE,1   
      FITEM,2,11  
      FLST,2,1,1,ORDE,1   
      FITEM,2,10  
      IC,P51X,UZ,0.1,0.2, 
      SOLVE   
      FINISH  

       

    • dlooman
      Ansys Employee

      Here's how APDL commands could update the force on node 11 based on it's current velocity:

      /solu

      antyp,trans

      uz_11_prev=0

      F,11,FZ,1  ! Initial force on node 11

      *do,III,1,10,1

          time,iii*0.01

          solve

          uz_11_new=uz(11)

          delta_uz_11=uz_11_new-uz_11_prev

          uz_11_prev=uz_11_new

          v_11=uz(11)

          f,11,fz,10*v_11

      *enddo

    • Mehdi Baghaee
      Subscriber

      I could not understand the following lines in your code:

          v_11=uz(11)

          f,11,fz,10*v_11

    • dlooman
      Ansys Employee

      UZ() is what we call a "get function."  It gets the current value of the displacement at a node, in this case node 11.   But it's a mistake in my input.  It should be v_11 = delta_uz_11/0.01  , the change in uz at node 11 divided by the time step.

    • Mehdi Baghaee
      Subscriber

      Thanks for your help.

      instead of using delta_uz_11/dt (dW(x,y,z,t)/dt), why don't use VZ(11)? 

      And also can use TAN(ROTX(11)) instead of delta_uz_11/delta_ux_11 for dW(x,y,z,t)/dx?

      Note W(x,y,z,t) is the displacement of nodes in z direction in current time t.

    • dlooman
      Ansys Employee

      I never used VZ(), but the Ansys Parametric Design Language Guide says it's just for fluid velocity.  ROTY(11) return the tip rotation in radians which would be the slope dW/dx.  You wouldn't need to take the tangent of it.

    • Mehdi Baghaee
      Subscriber

      Dont need ANTYPE,,rest and rescontrol,,all,1,  options since the solve command is located within the DO loop?

Viewing 13 reply threads
  • The topic ‘How to apply displacement derivative dependent force on bunch of nodes in apdl?’ is closed to new replies.