Zero diagonal detected error in Indentation tutorial

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Prashant6715
    Junior Member
    • Apr 2020
    • 4

    Zero diagonal detected error in Indentation tutorial

    Hi all,
    I have been trying to run a simple shear analysis of a circular disc with a circular indentor (used Biphasic indentor tutorial as a base). I have various doubts when I am running this
    1. The Scale of my samples is quite low (in mm) and I am getting confused over the penalty factor in contact.
    2. I am using a pre-described force data file for the curve of fixed rigid body displacement (Indentor)
    3. I am having issues understanding the time step analysis (Specifically the value 200 in the must point for the tutorial) for these specific values.

    I am attaching my Preview and Febio txt file

    It would be a great help if you guys can help me understand the issues
    Attached Files
  • maas
    Lead Code Developer
    • Nov 2007
    • 3441

    #2
    Hi,

    It looks like you are trying to use a rigid wall to define contact between the rigid body and the sample, but that won't work. A rigid wall is itself an implicitly defined rigid obstacle and is unrelated to the rigid bodies. To define contact between any two objects, rigid or not, you need to use a sliding or a tied interface. Try replacing the rigid wall with a sliding-elastic and see if that helps.

    Regarding your specific questions:
    The penalty factor has units of force over length. Finding the correct penalty factor can often be tricky. To alleviate this challenge, many of the contact interfaces (but not the rigid wall) define an "auto-penalty" option that calculates the penalty factor based on material stiffness and element size. In that case, the "penalty" parameter can still be used, but is then a unitless scale factor to the auto-penalty.

    The must-point curve, which defines the max allowed time step size as a function of time, is a way of controlling the time step size. In many biphasic analysis, there is an initial loading phase, followed by a relaxation phase. The initial loading phase often requires a smaller time step size than the relaxation phase, and the must point curve is a way of accomplishing this.

    Cheers,

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

    Comment

    • Prashant6715
      Junior Member
      • Apr 2020
      • 4

      #3
      Hi Maas,

      Thank you for pointing out the contact interface issue and for the answers to my questions. As you mentioned I used a sliding contact interface on my wedge model and it seems to still provide a negative Jacobian error. I am pretty sure it is regarding some boundary conditions as I tested the force and time-step analysis with a simple surface pressure applied model and it works fine. Though as a switch to a rigid body indenting model I am facing this issue. I have attached the Febio file for the same. If you can take a look, It will be quite helpful.
      Attached Files

      Comment

      • maas
        Lead Code Developer
        • Nov 2007
        • 3441

        #4
        Hi,

        I am also struggling with getting this model to run as well. Since this model is force-driven and these types of problems are often difficult to get started, I tried to replace the applied force with a prescribed displacement. Unfortunately, I still struggle to get it to work. It seems that the contact interface is struggling with the contact boundary, i.e. the elements that are slipping out of contact when the indenter pushes deeper. I think you are going to need a much finer mesh in this area so that the contact surface can be resolved more accurately. Please give that a try and let me know if that helped.

        Cheers,

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

        Comment

        • Prashant6715
          Junior Member
          • Apr 2020
          • 4

          #5
          Hi Maas,

          i have tried the same model with even finer meshes as well as rigid body displacement though I am still not able to get it running. When I tried modifying the tutorial model (t9_ force and time modified) with the desired Force, time steps, BC, material it runs perfectly though when I reduce the geometry scale to mm size the model (ex1.1_ Biphasi MR_ standard_2) fails each time with error " Negative jacobian was detected". I don't understand why reducing the size makes such a big difference. Even when I ran a model with similar conditions in structural analysis the error faced is "Zero diagonal detected". Its really confusing why it's giving different results each time. I have attached both files
          Attached Files

          Comment

          • brandonz
            Member
            • Oct 2014
            • 48

            #6
            Hi Prashant,

            I was able to spend a few minutes with your models and noticed quite a few things which are preventing convergence.

            First, for wedge test 1.2:
            1. In the sliding-elastic contact interface, I turned on <auto_penalty> by setting it to 1. This helps calculate a better penalty factor. In the symmetry plane, your penalty was 1e-6, which is extremely small. I changed this to 1e6, which allows your symmetry plane to do its job.
            2. The mustpoints in loadcurve 1 were not helping the problem. In fact, I think the time steps were far too large. I stopped using must points. In the Control module, I made your step size and dtmin both 0.01, and then made dtmax 0.1. This prevents errors which occur when you take too large of a step size.
            3. Since this is a force-control problem, there needs to be an initial overlap of the contacting bodies, or else the contact algorithm cannot work. I slightly adjusted your rigid indentor so that it overlaps the tissue.
            4. The load you are applying in loadcurve 2 should probably be "linear" or "smooth", rather than "step". I changed this type to "linear". In addition, the very first point actually is going to lift the indentor off the tissue. This didn't cause any problems because your first time step jumped over it, but you should be careful here.
            5. The most critical issue is that your force is simply far too great. Your scale factor on the force was -1e-6; I changed this to -1e-8 and I still get very large strains (~35%) less than 0.6 seconds in. Keep in mind that for a wedge model, you must reduce the force to account for the reduction in area.
            6. The mesh is also too coarse, and where it is refined is in the wrong place. The refinement should be under the edge of the indentor.
            7. Finally, in most applications it is common to apply a small radius to the edge of an indentor, for a few reasons. First, it is unlikely that the actual indentor is a perfect right angle. More importantly, this can cause numerical issues in certain contact cases, since you will be trying to bury a sharp point into a flat surface.


            I'm attaching a modified version of the wedge model which runs better (fails around 0.6 s rather than instantly) so you can see the effect of these improvements.

            I also briefly looked at ex1.1_Biphasi MR_standard_2.feb (slightly modified file attached). Changing your force load curve from "step" to "linear" allows the model to converge for a little bit. It then looks like one of your boundary conditions on either the bottom or side face is not applied correctly, because the tissue can be seen to bulge beyond the boundary. I think these are good places to begin when you try to improve the models.

            Hopefully you find this helpful!

            Brandon
            Attached Files

            Comment

            • Prashant6715
              Junior Member
              • Apr 2020
              • 4

              #7
              [QUOTE=brandonz;9376]Hi Prashant,

              I was able to spend a few minutes with your models and noticed quite a few things which are preventing convergence.

              First, for wedge test 1.2:
              1. In the sliding-elastic contact interface, I turned on <auto_penalty> by setting it to 1. This helps calculate a better penalty factor. In the symmetry plane, your penalty was 1e-6, which is extremely small. I changed this to 1e6, which allows your symmetry plane to do its job.
              2. The mustpoints in loadcurve 1 were not helping the problem. In fact, I think the time steps were far too large. I stopped using must points. In the Control module, I made your step size and dtmin both 0.01, and then made dtmax 0.1. This prevents errors which occur when you take too large of a step size.
              3. Since this is a force-control problem, there needs to be an initial overlap of the contacting bodies, or else the contact algorithm cannot work. I slightly adjusted your rigid indentor so that it overlaps the tissue.
              4. The load you are applying in loadcurve 2 should probably be "linear" or "smooth", rather than "step". I changed this type to "linear". In addition, the very first point actually is going to lift the indentor off the tissue. This didn't cause any problems because your first time step jumped over it, but you should be careful here.
              5. The most critical issue is that your force is simply far too great. Your scale factor on the force was -1e-6; I changed this to -1e-8 and I still get very large strains (~35%) less than 0.6 seconds in. Keep in mind that for a wedge model, you must reduce the force to account for the reduction in area.
              6. The mesh is also too coarse, and where it is refined is in the wrong place. The refinement should be under the edge of the indentor.
              7. Finally, in most applications it is common to apply a small radius to the edge of an indentor, for a few reasons. First, it is unlikely that the actual indentor is a perfect right angle. More importantly, this can cause numerical issues in certain contact cases, since you will be trying to bury a sharp point into a flat surface.


              I'm attaching a modified version of the wedge model which runs better (fails around 0.6 s rather than instantly) so you can see the effect of these improvements.

              I also briefly looked at ex1.1_Biphasi MR_standard_2.feb (slightly modified file attached). Changing your force load curve from "step" to "linear" allows the model to converge for a little bit. It then looks like one of your boundary conditions on either the bottom or side face is not applied correctly, because the tissue can be seen to bulge beyond the boundary. I think these are good places to begin when you try to improve the models.

              Hopefully you find this helpful!

              Hi Brandonz,

              I went through the files you uploaded. Thanks for taking some time to look at this. Your comments really helped. I was able to get the model running with a few tweaks.

              once again, Thanks

              Comment

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