Ansys Products

Ansys Products

Discuss installation & licensing of our Ansys Teaching and Research products.

How to get the rotations of each node in a plate modeled through solid elements?

TAGGED: 

    • Mehdi Baghaee
      Subscriber

      Hi,

      I am doing transient analysis of a plate modeled through solid elements. I need to know the ROTX, ROTY, ROTZ, of the whole nodes on one side of the plate in each time step. As you know the nodes of solid elements do not have ROTX, ROTY, ROTZ dofs, so how is it possible to get those parameters (ROTX, ROTY, ROTZ) in each time step?

      Note that *VGET command does not work since the solid elements do not have ROTX, ROTY, and ROTZ degree of freedom.

       

       

    • Deepak
      Ansys Employee

      Hi,

      You can extract the rotational degree of freedom at nodes of the element using *VGET.

      Regards,

      Deepak K.

      Guidelines for Posting on Ansys Learning Forum

      How to access the ANSYS Online Help

    • Mehdi Baghaee
      Subscriber

       

      I used *VGET command ( *VGET,RYt(1),NODE,1,ROT,Y ) to obtain ROTY of nodes, but as I said before, the *VGET command does not work and faced an error as below:

      /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,SOLID185   
      MPTEMP,,,,,,,,  
      MPTEMP,1,0  
      MPDATA,EX,1,,1e9
      MPDATA,PRXY,1,,.3   
      MPTEMP,,,,,,,,  
      MPTEMP,1,0  
      MPDATA,DENS,1,,6700 
      BLOCK,0,10,0,10,0,1,
      FLST,5,8,4,ORDE,2   
      FITEM,5,1   
      FITEM,5,-8  
      CM,_Y,LINE  
      LSEL, , , ,P51X 
      CM,_Y1,LINE 
      CMSEL,,_Y   
      LESIZE,_Y1, , ,10, , , , ,1 
      MSHAPE,0,3D 
      MSHKEY,1
      CM,_Y,VOLU  
      VSEL, , , ,       1 
      CM,_Y1,VOLU 
      CHKMSH,'VOLU'   
      CMSEL,S,_Y  
      VMESH,_Y1   
      CMDELE,_Y   
      CMDELE,_Y1  
      CMDELE,_Y2  
      *dim,impulse,table,3
      *SET,impulse(1,1),1,0       ,  0              ! VALUES OF EXCITATION
      *SET,impulse(1,0),0,22*timestup,  1 ! CORRESPONDING VALUES OF TIME  
      F, 177, FZ, %impulse%   
      WPSTYLE,,,,,,,,0
      FLST,2,44,1,ORDE,12 
      FITEM,2,1   
      FITEM,2,-11 
      FITEM,2,122 
      FITEM,2,143 
      FITEM,2,153 
      FITEM,2,-161
      FITEM,2,243 
      FITEM,2,-244
      FITEM,2,267 
      FITEM,2,-268
      FITEM,2,287 
      FITEM,2,-304
      /GO 
      D,P51X,ALL, , , , , , , , , ,   
      ANTYPE,4
      TRNOPT,FULL 
      LUMPM,0 
      FINISH  
      /SOL
      NSUBST,1000,0.01,0.001  
      OUTRES,ERASE
      OUTRES,ALL,ALL  
      TIME,1  
      SOLVE   
      *GET, ARA,NODE,11,ROT,Y 

       ROTY is not a valid degree of freedom for this solution.  The DOF command may be used to add degrees of freedom.  

      Any other suggestion?

       

       

       

    • dlooman
      Ansys Employee

      You can create a remote point at locations where you want to know the rotation.  The remote point is a node with rotational dof.  It may help to later if you give the remote point pilot node and APDL name in the details.  This "name" is an APDL  parameter with the value of the node number.

      • Mehdi Baghaee
        Subscriber

        Thanks for your suggested method, by the way it is not clear to me how to relate the remote node with the one I want to calculate its rotation. Could you explain a little more or give a simple example? 

    • mrife
      Ansys Employee

       

      The *VFUN command has an option to transform a global x/y/z location to an local coordinate system location.  So first create a local cylindrical coordinate system (where x/y/z are really r/theta/z) where theta is in the direction you want the rotation.  Let’s say this is CS 12.  Now capture the origianal and deformed locations in an array:

      (the following is from memory so it may not work...please review command help for each command)

      /post1

      set,last,last

      *dim,node11,array,2,3,1

      node11(1,1)=nx(11)

      node11(2,1)=nx(11)+ux(11)

      node11(1,2)=ny(11)

      node11(2,2)=ny(11)+uy(11)

      node11(1,3)=nz(11)

      node11(2,3)=nz(11)+uz(11)

      now do the transformation:

      *vfun,local11,local,node11(1,1),12

      Now the second column of local11 array will contain the theta values of node 11 in the original (as modeled) location and the deformed location.  The difference is the rotation in degrees about the local CS z axis (in theta direction).  Repeat for other local coordinate systems as needed.  

      mike

       

      • Mehdi Baghaee
        Subscriber

        Thanks for your suggested method. It seems great for small number of nodes, but since in my orginal problem, there are tons of nodes that their rotations must be at hand in each time step, the speed of simulation will decrease more because of do loops. Is it possible to apply your method in vector form? I mean put the positions of all nodes in an array and transform it to find the rotations.

        • mrife
          Ansys Employee

          Of course - see the help for *vget and *voper.  To retrieve the same data (say x location) for all nodes at the same time.  Then to operate on two vectors (like add them togther).

           

        • Mehdi Baghaee
          Subscriber

          but according to the Help, points to be transformed are specified in array having 3 consecutive columns of data, with the columns containing the x, y, and z global Cartesian coordinate locations, respectively, of the points. So it seems, *vfun usage is limited to one node.🤨

        • mrife
          Ansys Employee

          And yet my example uses 2 rows....maybe try it yourself.

        • Mehdi Baghaee
          Subscriber

          /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,SOLID185   
          MPTEMP,,,,,,,,  
          MPTEMP,1,0  
          MPDATA,EX,1,,1e9
          MPDATA,PRXY,1,,.3   
          MPTEMP,,,,,,,,  
          MPTEMP,1,0  
          MPDATA,DENS,1,,6700 
          BLOCK,0,10,0,10,0,1,
          FLST,5,8,4,ORDE,2   
          FITEM,5,1   
          FITEM,5,-8  
          CM,_Y,LINE  
          LSEL, , , ,P51X 
          CM,_Y1,LINE 
          CMSEL,,_Y   
          LESIZE,_Y1, , ,10, , , , ,1 
          MSHAPE,0,3D 
          MSHKEY,1
          CM,_Y,VOLU  
          VSEL, , , ,       1 
          CM,_Y1,VOLU 
          CHKMSH,'VOLU'   
          CMSEL,S,_Y  
          VMESH,_Y1   
          CMDELE,_Y   
          CMDELE,_Y1  
          CMDELE,_Y2  
          *dim,impulse,table,3
          *SET,impulse(1,1),1,0       ,  0              ! VALUES OF EXCITATION
          *SET,impulse(1,0),0,22*timestup,  1 ! CORRESPONDING VALUES OF TIME  
          F, 177, FZ, %impulse%   
          WPSTYLE,,,,,,,,0
          FLST,2,44,1,ORDE,12 
          FITEM,2,1   
          FITEM,2,-11 
          FITEM,2,122 
          FITEM,2,143 
          FITEM,2,153 
          FITEM,2,-161
          FITEM,2,243 
          FITEM,2,-244
          FITEM,2,267 
          FITEM,2,-268
          FITEM,2,287 
          FITEM,2,-304
          /GO 
          D,P51X,ALL, , , , , , , , , ,   
          ANTYPE,4
          TRNOPT,FULL 
          LUMPM,0 
          FINISH  
          /SOL
          NSUBST,1000,0.01,0.001  
          OUTRES,ERASE
          OUTRES,ALL,ALL  
          TIME,1  
          SOLVE   
          /post1
          set,last,last
          *dim,node11,array,2,3,1
          node11(1,1)=nx(11)
          node11(2,1)=nx(11)+ux(11)
          node11(1,2)=ny(11)
          node11(2,2)=ny(11)+uy(11)
          node11(1,3)=nz(11)
          node11(2,3)=nz(11)+uz(11)
          *vfun,local11,local,node11(1,1),12

          faced error!

    • Mehdi Baghaee
      Subscriber

       

       

    • dlooman
      Ansys Employee

      The remote point would be a new node at the same location as the node you were trying to obtain the rotation of.  It does probably require you to imprint a face in the geometry at the location of interest, so may not be practical in your case.  If the locations of interest are on the surface you could mesh the surface with very thin shell elements, which do have rotational dof.

Viewing 6 reply threads
  • You must be logged in to reply to this topic.