General Mechanical

General Mechanical

Topics relate to Mechanical Enterprise, Motion, Additive Print and more

Apply load/displacement in steps till a certain distance is met

    • jonsys
      Subscriber

      In my actual model [Fig 1], the load is applied (in substeps) at the edge in z-dir; the purpose is to make the pane fit the arched solid part [Fig 2] and check stresses. Since, i don't know the exact necessary load for this, I wanted some help in implementing either of below:



      • apply load till the edge of the pane touches the arched mold, OR

      • apply displacement (it should be in steps as well) till two bodies touch (or to a certain small distance)


      Any suggestions how to do it?


       


      1


      2

    • peteroznewman
      Subscriber

      Jonsys,


      I assume you are trying to avoid the behavior shown in the video on this post where the force applied to the entire edge of the pane causes the center of the pane to dip below the height of the edge profile mold.


      How is the pane wrapped around the mold in reality?   


      Here is my suggestion: Create a rigid rod above the pane. Define contact between the rod and the pane. Create a translational joint between the rod and ground that guides it along the Z axis. A force on that joint pushes the pane down. If the force is large enough, the pane will be squeezed between the rod and the mold at the end of the simulation.


      Regards,


      Peter

    • jonsys
      Subscriber

      Hello Peter,


      Yes exactly, I want to avoid the behavior shown at the post you mentioned.


      In reality the load is applied gradually at the edge (in a small area, like a strip with the longer side being the edge of glass) till the pane touches the mold.


      Lets say that 'L0' is the exact load necessary to be applied on the pane so it fits the mold but does not squeeze. In case of the rod that you suggested (if I understood it correctly), the load can be higher 'L0' right?
      From the simulation I also want to get an idea about 'L0'.


      Regards,

    • peteroznewman
      Subscriber

      Hello jonsys,


      I recommend you just build the model to follow reality more closely, and apply the load gradually (Minimum Substeps) to a small area, like along the edge of the glass.


      One way to find L0 using the rod is to use a Joint Displacement instead of a Joint Force as the Joint Load.  You know from CAD how far to move the rod to become tangent to the pane on the mold.  Just type that value into the Displacement.  In the Solution, request a Probe of the Joint Reaction Force and it will plot the force in newtons or lbf directly as a function of time.


      Using the Rod method with a force, the load ramps on in substeps, so if you configure the Analysis Settings to have Minumum Substeps 100, then you will get all those results and the one that shows the pane making final contact is the time step you want. Let's say you create a force of 1000 N on the joint and 100 Substeps to get to Time 1.  At Time 0.56 you observe the final contact is made by inspection of the deformation, or plotting the contact pressure.  The rest of the time is just squeezing harder. So L0 is 0.56 x 1000 or 560 N.


      Regards,


      Peter

    • jonsys
      Subscriber

      Hello Peter,


      thank you for your answer and sorry for replying this late.



      • By the rod, do you mean to add a primitive (box) as rigid at the edge of the glass pane and to define contact between rod and pane as bonded?

      • How can I apply a Joint Displacement or Joint Force; should I go under Connections>Joints?

      • Regarding "You know from CAD how far to move the rod to become tangent to the pane on the mold.  Just type that value into the Displacement" -> sometimes I do, and sometimes I don't. I don't because in the case where I want to parametrize the mould radius, this distance will be changing. What can be done in this case?


      Regards,

    • peteroznewman
      Subscriber

      Hello jonsys,


      By rod, I mean a cylinder, which is one of the primitives, or you can just sketch a circle and extrude.  The rod would be above the glass lined up with the lowest part of the mould. The rod would have frictional contact with the glass, because the glass would slide across the rod as the rod moves vertically down on its translational joint. The rod stops when it has traveled a distance that brings it tangent to a curve offset from the mould by the glass thickness.



      If you drag the joint from the connections folder and drop it on the Static Structural branch, it will add a Joint Load.


      I will post this now and reply later when I have a good idea to deal with a parameterized version of the mould.


      Regards,


      Peter

    • peteroznewman
      Subscriber

      I was trying to get a Reference Dimension (V20) out of DesignModeler, but I don't know how.



      (V20) shows the correct displacement to bring a 50 mm radius rod down tangent to a 12 mm thick piece of glass pressed to the mould and will update as R is changed.


      The radius of the offset curve is the radius of the mould @R+62 mm, the sum of 50 and 12.


      ANSYS 19.1 archive is attached in case you want to play around with it.

    • jonsys
      Subscriber

      Hello Peter,


      thank you for the effort.
      I know how to get the distance (lets call it V19) from lower pane to the mould where pane is supposed to touch. But I can not come up with how to find the vertical distance between two parts of the circle (with radius R14 & R17). However, V19 + Rod radius would still be very close. But we want it to exactly touch so we can request the force reaction right?


      so this is like the rod is rotating while it goes down?
      How do you take the decision for assigning the number of steps, in this case 3?
      Does the solution converge in your case? I will try to implement the solution on the attached file on a 71.1 version on a faster machine since the one I was trying now is not that good.


      Regards,

    • peteroznewman
      Subscriber

      Hello Jonsys,


      If you assign a frictionless contact between the rod and the glass, then that would be like allowing the rod to rotate on a low friction bearing in the physical world, though there is no need for the rod in the model to rotate, you just assign frictionless contact.


      The model I provided above does not converge to the end, I was concentrating on trying to get the distance calculated in DM out to Mechanical. You might need more steps to get convergence.


      Driving the pane down with a displacement is preferred for convergence, but if you input a distance larger than the distance at which the glass makes contact with the mould, the solver will fail to converge past that point. Therefore, the last converged increment is just before contact is made. If you make the maximum number of substeps a large number, you can force small displacement increments into solution, so the final converged increment is very close to a clamped position. Since you will be plotting the reaction force on the rod displacement load, you will know the force to push the glass onto the mould.


      The problem with a model that fails to converge to the End Time, is that the results are not transferred to the Parameter Set table of Design Points.  If you check the Retain box in the third last column of the Parameter Set, you can manually open each solution and extract the force from the last converged time increment.


      To avoid that, there is a sequence of steps that could work. Use a Force load on the rod to push the pane and clamp it to the mould. At the end of that time step, activate a displacement BC on the rod that was inactive during the first time step. There is a command snippet to hold a node at its current value. Then in the next time step, you could move the rod up 1 mm and that way relieve the clamping force of the glass to the mould, and be left with a reaction force on that displacement constraint that is just to hold the glass down 1 mm off the mould.  You can even track how the force changes over that 1 mm and you might see a change in slope where the contact is relieved. Maybe a much smaller displacement would be better.


      Regards,


      Peter

    • jonsys
      Subscriber

      Hello Peter,


      thank you for the reply, I will do some more tries regarding the points that you suggested and I might ask further questions.


      But firstly I would like to clarify something: In the picture shown below, the rod is placed exactly in the same line with the end of the mould. But in cases like this where the radius is small, the displacement applied at the rod (fixed to the pane), will not stress a considerable part of the glass pane, nor fit it to the mould. Is this the right approach?


      Well, this is of course an exaggeration compared to reality, because such a small radius will make the pane fail.


      1

    • peteroznewman
      Subscriber

      Hello Jonsys,


      The rod is not fixed to the pane, it has a frictional contact to the pane and so as the rod moves vertically down and the glass wraps around the mould, the glass will slide on the rod.


      Regards,


      Peter

    • jonsys
      Subscriber

      Thank you Peter,


      how did you update the load in multiple steps? From Tabular Data it creates N/A positions


      3


      Regards,

    • peteroznewman
      Subscriber

      Jonsys,


      I changed the model to a single step to simplify testing if the model would start solving. I didn't work on the model until it converged to the full displacement. You can set it back to multiple steps if that is helpful for achieving the full displacement.


      Regards,


      Peter

    • jonsys
      Subscriber

      Peter,


      thank you.


      I applied the displacement needed to make the pane fit the mould. After some substeps are converged, the model has an abrupt change.


      In case you have time to take a look at the model and give your comments, it would be really helpful. Attached is the wbpz


       


      Regards,

    • peteroznewman
      Subscriber

      Jonsys,


      Here is the section in the Solver Output that describes the problem:


      *** ERROR ***                           CP =     895.103   TIME= 14:24:40
       Element 1826 (type = 3, SOLID186) (and maybe other elements) has become
       highly distorted.  Excessive distortion of elements is usually a       
       symptom indicating the need for corrective action elsewhere.  Try      
       incrementing the load more slowly (increase the number of substeps or  
       decrease the time step size).  You may need to improve your mesh to    
       obtain elements with better aspect ratios.  Also consider the behavior 
       of materials, contact pairs, and/or constraint equations.  Please rule 
       out other root causes of this failure before attempting rezoning or    
       nonlinear adaptive solutions.  If this message appears in the first    
       iteration of first substep, be sure to perform element shape checking.  


      It looks like an abrupt change, but that is just the extrapolation to the full load, it doesn't mean anything. If you look at the last converged substep, it looks fine.


      The first thing I will try is to increment the load more slowly. I can do that by increasing the Initial and Minimum Substeps.


      If that doesn't work, I will have to start over with more and smaller elements with better aspect ratios.


      Regards,


      Peter

    • peteroznewman
      Subscriber

      Jon,


      I have a model that achieves the full deformation.



      I made many changes. I unsuppressed the SOLSH190 sweeps, I flipped the Contact/Target definition on the Rod to the Pane, I reduced the contact stiffness, I increased the mesh density, I split the solution into two steps because the first portion could take large time steps, and the second portion needed small time steps. On the back edge face, I changed from Frictionless support and one vertex fixed to just the whole back edge face fixed.


      It finished in 611 iterations.  I lost the exact displacement, so I used 1200 mm. If you want the exact, put that in before you hit solve.



      An ANSYS 19.1 archive is attached.


      Regards,


      Peter

    • jonsys
      Subscriber

      Hello Peter,


      thank you very much for the time and effort you put. I really appreciate it.


      I implemented on 17.1 and the model converges and now I am doing some simulations to check the behavior.


      I wanted to clarify myself on some points that I observed so far:



      • If you noticed, the displacement in the output, is higher than the displacement assigned at Joint-displacement. I guess it should be the same..

      • Is there any specific reason for the boundary condition change?

      • Regarding Contact:

        • when flipping the contact, the Rod becomes the Contact Body; but the rod is the stiffer material so shouldn't it be the Target Body? (I tried to flip as you suggested but in 17.1 ANSYS reversed them back automatically)

        • what is the reason for reducing the Normal Stiffness of the contact? I can see from the ansys documentation that the smaller the values, the easier to converge, but that increases the penetration.



      • does the rod effect the stresses in the pane, I mean it is steel on glass..


      thanks again.


      Regards,
      Jon

    • peteroznewman
      Subscriber

      Hello Jon,


      If you plot total displacement, the pane has moved down and to the left, while the rod has only moved down.  If you plot directional displacement, then the rod and pane will have the same Y axis displacement at the point of contact.


      With a fixed vertex, the solver failed to converge and the N-R Residual plot showed me that the element that failed to converge was the one that had the fixed vertex.  After I changed the BC from vertex to face, the model converged to the end.


      The rod has a small radius with many nodes around the surface on small elements, while the pane is flat with nodes spread out on large elements.  The contact algorithm is checking if the node on the contact side is penetrating the surface on the target side. That is much easier to do when the Pane is the Target. If you make the Rod a Rigid body, then it is required to be the Target side. No flipping allowed. Not sure why 17.1 flipped it back. You can set the contact to be Asymmetric rather than Program Controlled and maybe it won't flip it back.


      Reducing the contact stiffness is simply to make the convergence easier to achieve. At the end of the solution you take a look and decide if the penetration is acceptable or not. In another model, I set contact stiffness factor to 0.1 and it solved in 75 iterations and showed a visible amount of penetration, but when I set the contact stiffness to 0.5, it took more than twice as long to solve.


      The true stress in the glass caused by the contact with the steel rod is not resolved in this model because the element size on the glass around the contact point is way too large. You would need elements small enough to "wrap around" the radius of the steel rod. It is simpler to take the normal force on the rod and build a separate 2D model to evaluate the Hertzian stress of the contact of the rod with the glass.


      Regards,


      Peter

    • jonsys
      Subscriber

      Peter,


      thank you for the explanation. I have learned a lot from this post thanks to you.


      Which one do you call N-R Residual plot?


      Regards,

    • peteroznewman
      Subscriber

      Jon,


      Here is a recent post that has the information about the N-R residual plots. I also pointed you to one of my videos in your other discussion.


      Those plots automatically show up under the Solution Information folder after the solver has run, if the number of plots is not 0, which is the default.


      Regards,


      Peter

    • jonsys
      Subscriber

      Hello Peter,


      based on previous posts, I was curious on how to model the same thing, but using the displacement (on a cylindrical coordinate).


      Applying the displacement on the far edge of the glass (without the rod being used), kind of increases stresses at that position of the pane.
      So using the rod (or any other primitve) would be better in terms of that. Suppressing "Joint - Displacement" and adding "Displacement", some questions arose which I would like to clarify and hear your suggestion:



      • do i change the position of the rod?

      • At "Scope" of Displacement, the geometry selection should be the curved face or the circular faces?

      • At "Connections">"Joints" the translational in one direction is allowed. should I change anything here?

      • Should the Contact between the rod and the pane remain the same?


      Regards,
      Jon

    • jonsys
      Subscriber

      Peter,


      Additional to my above questions: when I apply frictionless contact between the rod and the pane, the rod will still not rotate as you suggested. I guess because the Joint Type is translational. But could not find another one that allows displacement in x-dir and rotationin y-dir.


      Regard,

    • peteroznewman
      Subscriber

      Hello Jon,


      In your other discussion, Sandeep recommended a cylindrical coordinate system and applying a theta coordinate to rotate a face about the coordinate system by a distance, so you have to compute the arc length ahead of time.  You can apply that directly to the far face of the pane. How much of a stress concentration do you see if you apply a theta displacement directly to the face of the pane edge?  If you do that you don't need the rod or the contact with the pane.


      You can change the type of Joint from Translational to Revolute.  A revolute joint is like a door hinge, it allows rotation about the joint X axis only, all other degrees of freedom are held fixed.  When you create a Revolute Joint between the Rod cylindrical face and Ground, a Joint Coordinate System is created. You can see it when you expand the + under the Joint.  You need to edit the origin of this and move it to the where you want the center of rotation to be, and also make sure the X axis is oriented in the right direction for the rotation you want.  Then the Joint Load of displacement can be a rotation in degrees.


      Regards,


      Peter

    • jonsys
      Subscriber

      Hello Peter,


      If I apply it to the face of the pane with a pre-calculated arc length, the face tends "to keep its verticality as in the begining" and I can't think of a reason why. The figure can represent it better what I mean.


      Your second suggestion works. thank you because I learned a lot of new things


      Regards,


      1

    • peteroznewman
      Subscriber

      Hello Jon,


      It's a good day when I find out I didn't really understand something ANSYS is doing. That happened today when I built a small model to test my assumption about how ANSYS does displacements in cylindrical coordinate systems.  I almost never use this capability, while I frequently use revolute joints, but I assumed they behaved basically the same. This small model shows they are not equivalent.


      I built a model with two thin rectangles like the tips on the hands of a watch. The rectangle on the left has the bottom edge scoped to a revolute joint about the global coordinates at the center of the semicircle. The rectangle on the right has the bottom edge scoped to a displacement in the theta (Y) axis of the cylindrical coordinate system, while the radial (X) and axial (Z) displacements are set to zero.


      The joint load is a 90 degree displacement.  The theta (Y) deformation on the bottom edge is -25.7, which is R*pi/2 since R = 16.4, and pi/2 is 90 degrees.




      The result surprised me.  I want to know how this unexpected result is computed.



      Perhaps someone who really understands this can explain it (or I could read the manual).


      Regards,


      Peter

    • Sandeep Medikonda
      Ansys Employee

      Peter, so from that figure I am assuming that the revolute joint worked as expected but using the cylindrical coordinate system didn't?

    • peteroznewman
      Subscriber

      Right Sandeep, that is what I learned today.


      Changing the direction of the radial axis on the cylindrical coordinate system didn't change the result at all.


    • jonsys
      Subscriber

      Peter, Sandeep,


      to further add to this discussion, I did a simple beam 5x5x100, clamped to one face and I applied the load on the other side.


      1


       


      I) I applied a displacement of 10mm at the edge on y-axis (of cylindrical coord). Since y-axis is the one supposed to represent the angle, the input value of 10mm is supposed to be the arc comming from the angle. As output, I request a directional deformation on z-axis of Global Coord system and the deformation is 10mm, the same as inputed for cylindrical coord.


      2


       


      II) Applying a revolute Joint as shown below; body-ground; scoped the far edge that I want to displace.


      3


      Looking at the displacement output, the shape seems strange, like it is constrained somewhere on the face.


      4


       


      Regards,
      Jon

    • Sandeep Medikonda
      Ansys Employee

      Peter, Jon:


      I'll test this and report back.


      Regards,


      Sandeep

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