General Mechanical

General Mechanical

Problems with the contact between beams (line-by-line contact)

    • saraahf1
      Subscriber

      Hi, I have some problems with the contact generated between more than 2 beam elements.


      I've created about 200 beam elements by lines. and they are located in columns and rows. In order to create the contact between one beam and its neighbouring beams I've created a contact between all this beams saying that the first beam from the first row is the "Conta176" of the second beam from the first row that is its "Targe170" but at the same time it's the "Conta176" of the third beam from the first row that is its "Targe170" and so on. 


      The program gives me some warnings which I don't know how to solve. The warnings are the following (the first two are repeated more than once:



      • The normal of target element 7502 is not consistent with the normal of target element 7517 in real set 1. Please use the ENORM command to correct it.

      • The normal of contact element 8587 is not consistent with the normal of contact element 10077 in real set 1.  Please use the ENORM command to correct it.

      • The self contact pair specified by real constant set 1 also overlaps with another symmetric contact pair (e.g.  1).  


      Does anyone know how to solve the problem keeping the contact between all the beams as I've specified at the beginning?


      Sarah.

    • peteroznewman
      Subscriber

      Hi Sarah,


      Here are 20 beams, 11 on upper and 9 lower and one contact definition between them.


      If the contact is suppressed, the beams cross.



      If the contact is unsuppressed, the lower beams support the upper beams.



      Attached is an ANSYS 19.0 Workbench Project archive.

    • saraahf1
      Subscriber

      Thank you for your answer! I'm modeling the model in ANSYS APDL using the Macro code. In my case the beams have an external parallel contact as you can see in the picture (C=conta176, T=targe170). My code is the following:


      !1st row


      *do,i,5,10


          *do,j,1,1


      xpos=(i-0.5)*pitch !Change position


      ypos=(j-0.5)*pitch


      lsel,s,loc,x,xpos,xpos !select lines x plane


      lsel,r,loc,y,ypos,ypos !select lines y plane


      lsel,r,loc,z,zbsuk,zbsok !select lines z plane


      nsll !select nodes from the selected lines


      esll !select elements from the selected lines


      type,3


              esurf !generate elements on existing selected elements


       


              xpos=(i+0.5)*pitch !Change position


      ypos=(j-0.5)*pitch


      lsel,s,loc,x,xpos,xpos !select lines x plane


      lsel,r,loc,y,ypos,ypos !select lines y plane


      lsel,r,loc,z,zbsuk,zbsok !select lines z plane


      nsll !select nodes from the selected lines


      esll !select elements from the selected lines


      type,4


              esurf !generate elements on existing selected elements


         *enddo


      *enddo 


       


      I guess that what the program means with the third warning that I specified in the previous post is that I can't say that one beam is the contact element and target element at the same time. However I have no idea how to solve it and also the first two warnings.


       

    • peteroznewman
      Subscriber

      Hi Sarah,


      I don't understand what you are showing in the image above.


      I don't know what you mean by "external parallel contact".  Do you mean there is a grid of parallel beams?

    • saraahf1
      Subscriber

      Yes there is a grid of parallel beams

    • peteroznewman
      Subscriber

      I recommend you assign each beam to be black (Target) or white (Contact) like a checkerboard. That way each beam will have contact with its four adjacent neighbors that each touch a face.


      This will not define any contact between the other four neighbors that the beam initially touches only an edge.


      You have 200 beams so maybe you can do the assignment manually. However, I looked up the pseudo code for creating a checkerboard pattern and it goes like this:



      The key to the code is to compare modulo2(i+j) with 0 and if true, that defines black.

    • saraahf1
      Subscriber

      Thank you for the suggestion! I'll try to do it in this way.

    • peteroznewman
      Subscriber

       @aliBaratian,


      I moved your post to a new topic since this topic is already marked as solved.


      Regards,


      Peter

    • Likth
      Subscriber

      Hi saraah,


      You tell here that it is not possible to make the same beam element as both target and contact elements at the same time. Well, i had such a problem while modeling technical textiles and it is possible to make the same beam element as both contact and target surface at the same time but the trick is to give it a different contact ID. This way, it is possible to establish contact between 1st row of beam elements(contact surface) and 2nd row of beam elements(target surface) and then contact between 2nd row of beam elements(contact surface)  and 3rd row of beam elements(target surface). As you can see, second row of beam elements are both contact as well as target surfaces. Hope this helps!!


      Regards,


      Likith

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