sliding surface

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • maas
    Lead Code Developer
    • Nov 2007
    • 3400

    sliding surface

    DESCRIPTION:
    In this contact problem a stiff cylinder pushes down on and is moved across the surface of a deformable box. This example illustrates the use of a single sliding surface.

    REQUIRES: FEBio 1.0 (or up)
    Last edited by maas; 08-05-2010, 10:34 AM.
    Department of Bioengineering, University of Utah
    Scientific Computing and Imaging institute, University of Utah
  • dsrawlins
    Developer
    • Dec 2008
    • 366

    #2
    SuperLU and Skyline on sliding surface problem

    I ran contact07.feb on an AMD Athelon 64 dual core with 2G memory in order to compare the Skyline and SuperLU linear solvers.

    Number of equations: 4,191

    Results:

    Skyline:

    Average Memory usage: 26M
    Time in solver: 1 min 27 sec

    SuperLU

    Average Memory usage: 32M
    Time in solver: 0 min 19 sec
    Department of Bioengineering, University of Utah
    Scientific Computing and Imaging institute, University of Utah

    Comment

    • kangli2
      Junior Member
      • Aug 2010
      • 4

      #3
      Why was the top surface of the deformable box seen inside the cylinder?
      Is it some kind of penetration?
      ________
      Body Science
      Last edited by kangli2; 04-07-2011, 12:10 PM.

      Comment

      • maas
        Lead Code Developer
        • Nov 2007
        • 3400

        #4
        I'm not sure why this problem doesn't run the way it used to, but the penetration goes away if you increase the penalty. I've increased the penalty to 100 and the file should run fine now without penetration.

        Cheers,

        Steve.
        Department of Bioengineering, University of Utah
        Scientific Computing and Imaging institute, University of Utah

        Comment

        • kevinmattheusmoerman
          Member
          • Sep 2010
          • 65

          #5
          Hey Steve,

          Simple question. I tried to import the file (via import, FEBio file in menu) into PreView which seems to work, I can see the parts and how everything is build up. However I am unable to run the job (if I click run from the menu), FEBio crashes immediately. Am I doing something wrong?

          Kevin

          Comment

          • maas
            Lead Code Developer
            • Nov 2007
            • 3400

            #6
            Hi Kevin,

            Does FEBio crash (you get an error message from windows) or does the FEBio window simply dissappear. In the latter case, FEBio might simply not be finding the file that PreView is writing. Can you run the problem from the command prompt?

            Steve.
            Department of Bioengineering, University of Utah
            Scientific Computing and Imaging institute, University of Utah

            Comment

            • Aarash
              Junior Member
              • Nov 2014
              • 14

              #7
              Sliding contact

              Hi Steve

              I have been trying to get an sliding contact to work in my model between soft tissue(skin) and a rigid body, but i had no luck so far.

              Then I tried to replicate your "contact01" example, but still it wont work even though it is almost identical to your model.

              could you please take a look and tell where I'm going wrong?!

              many thanks

              Arash
              Attached Files

              Comment

              • maas
                Lead Code Developer
                • Nov 2007
                • 3400

                #8
                Hi Arash,

                I recommend using an actual rigid body material instead of a neo-Hookean with a high Young's modulus since that is computationally more efficient and will probably converge better. However, with a few changes to your contact parameters, I was able to get your model to run. Here are the parameters I changed.

                Code:
                <laugon>1</laugon>
                <tolerance>0.1</tolerance>
                <penalty>10</penalty>
                <two_pass>0</two_pass>
                <minaug>3</minaug>
                The first one turns on augmented Lagrangian. I set the tolerance to 0.1 and lowered the penalty to 10. I turned of two-pass since in my experience that doesn't work well with two layers of different material properties. I also set the minimum number of augmentations to three.

                The overall effect of these changes is that contact will be enforced tightly, but not too aggressively. Let me know if these changes work for you too.

                Cheers,

                Steve
                Department of Bioengineering, University of Utah
                Scientific Computing and Imaging institute, University of Utah

                Comment

                • Aarash
                  Junior Member
                  • Nov 2014
                  • 14

                  #9
                  Hi Steve

                  I made the changes you recommended and it worked for the simplistic model, but not for my own model.

                  my question now is, what is the relation between the tolerance and the penalty factor? or i should find the right values by trial and error?

                  Also in the step properties, I find in my model, setting the nonlinear solver properties (Displacement tolerance,Energy tolerance,Residual tolerance, Minimal residual) to zero will help the convergence. how does this effect the results?

                  Cheers

                  Arash

                  Comment

                  • maas
                    Lead Code Developer
                    • Nov 2007
                    • 3400

                    #10
                    Hi Arash,

                    The tolerance and the penalty are two independent parameters, but they both affect how well the contact is enforced. The contact force is calculate using the augmented Lagrangian method. This means that the force is determined incrementally. The formula is

                    F_k+1 = F_k + penalty*gap

                    The augmentations continue until the relative change in the force is less than the tolerance. The gap is the distance to the master surface of a slave node that has passed through the master surface.

                    Making the penalty larger means that the contact will be enforced more aggressively. Sometimes this works well, and you could even omit the augmentations entirely (by setting laugon to zero). However, making the penalty too large can make the model unstable. In that case, using the augmented Lagrangian method with a modest penalty value usually works better.

                    Setting the tolerance smaller will force more augmentations, but it may not always be possible to reach a tolerance that is too small. That's why I usually set a max number of augmentations (e.g. 10). I also usually set a minimum number of augmentations of 3.

                    In the end, picking a good penalty and tolerance is more of an art than a science so you'll have to play with the values a bit. Many contact interfaces support the auto_penalty parameter. Setting it to 1 will make FEBio choose a default penalty value based on the element size and material stiffness. In that case the penalty parameter you enter in the file is a scale value for this auto_penalty. Using the auto_penalty feature can often make it easier finding a good penalty value.

                    Regarding the convergence tolerances. Setting them to zero means FEBio will not use that convergence criteria. Although your model may converge better, it is likely that the results will not be very reliable. In the past, we've loosened the displacement tolerance on some models that ran poorly, but that should only be considered as a last resort.

                    Hope this helps.

                    Cheers,

                    Steve
                    Department of Bioengineering, University of Utah
                    Scientific Computing and Imaging institute, University of Utah

                    Comment

                    • Aarash
                      Junior Member
                      • Nov 2014
                      • 14

                      #11
                      Hi Steve

                      Thanks you very mush for this, its starting to make sense. I managed to run an analysis completely, but with a very low (0.1) penalty! There was only 0.037mm penetration. could this be because of the large difference between the stiffness of my contact surfaces? in my case skin (with k=0.94Mpa) and a rigid body.

                      I still have to experiment more with the convergence tolerances to find their effect on the results.

                      Thanks again for your help.

                      Arash

                      Comment

                      • klissa
                        Junior Member
                        • Aug 2016
                        • 6

                        #12
                        Hi Steve,

                        I read all the advice you gave to the other users and I tried to implement in my model.
                        The aim of my simulation is to reproduce a dynamic test with a sinusoidal load. I am struggling with the contact definitions, and I believe that is why the displacements I got are smaller than I would have expected.

                        I guess the issue could be in the contact definitions. I tried both "sliding with gaps" and "sticky" setups for the contacts. In the first one, I tried to use the two-pass function and the auto-penalty function, without any good results. In the second I added also the max-traction flag to break the contacts.

                        I have just added the augmentation flag and I changed the tolerance to 10 as you suggested to the other users. In particular with this setup, the displacement is not following the load curve and I think it is due to a high contact force.

                        I am not sure about the contact formulations which can suit best my model, and having tried different material properties as well, I'm almost sure that the issue is in the contacts.
                        Do you have any advice for my model? I have attached the .feb file.

                        Thank you in advance,

                        Klissa
                        Attached Files

                        Comment

                        Working...
                        X
                        😀
                        😂
                        🥰
                        😘
                        🤢
                        😎
                        😞
                        😡
                        👍
                        👎