"Micropipette Aspiration" - node numbering issue

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • blm2126
    Junior Member
    • Jun 2012
    • 5

    "Micropipette Aspiration" - node numbering issue

    Hi all. I'm trying to set up an example in PreView that's sort of like the micropipette aspiration of a chondrocyte. I made a sphere (cell) and a cylinder(pipette) , made the cylinder rigid, and defined a contact interface between them. I was uncertain of whether to prescribe a negative pressure to the surface of the cell, a nodal load, a prescribed nodal displacement, etc. to model aspiration, but that's a different issue. Regardless of the method I use, I get errors about negative Jacobians and bad node numbering. Originally I built the geometry in PreView and let the program generate the meshes, but then I tried importing it from external software (Salome => GMsh => PreView) and had the same problem. I've attached my .prv and .feb files. I added a few nodes in PreView to set certain boundary conditions but everything else was done externally. Thanks in advance!

    - Ben M.

    micro.feb
    micro.prv
  • ateshian
    Developer
    • Dec 2007
    • 1830

    #2
    Hi Ben,

    You need to apply nodal displacements until the cell-pipette contact is engaged, then you need to release the prescribed displacement constraint (using a multi-step analysis) and apply a slowly increasing negative pressure to the cell surface. Also, you should take advantage of axisymmetry and only model a quarter of the geometry. This will help ensure uniqueness of the solution (because, unless you include a friction coefficient, there is nothing to prevent the cell from rotating about the pipette axis, and finite element analyses don't generally converge well when there are such unconstrained degrees of freedom).

    This should help you get past the initial errors you are encountering. However, having worked on this problem previously, I strongly suspect you will need to carefully design a mesh that is better suited for this problem (e.g., hexahedral elements, reflecting the axisymmetry, refined around the region where the pipette and cell come in contact, etc.).

    Best,

    Gerard

    Comment

    • maas
      Lead Code Developer
      • Nov 2007
      • 3441

      #3
      Hi Ben,

      The reason for all those negative Jacobians is because your triangular shells don't have a thickness. Looking at your model, I'm guessing you want to model solid geometry, but you only have a surface representation. You'll need to convert your surface to a finite element mesh. You can use PreView to create a tetrahedral mesh as follows:
      - With your model selected, open the Mesh panel.
      - Click the TetGen button. Use default settings and click Apply.

      Note that it is best to do this before you define any boundary conditions. Let me know if this works.

      Cheers,

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

      Comment

      • blm2126
        Junior Member
        • Jun 2012
        • 5

        #4
        Dear Professor Ateshian and Steve,

        Thanks for your help. I cut the problem down to a quarter of the geometry and meshed the elements more finely. I was able to make the cylinder hexahedral but not the sphere. But in any case I used TetGen and no longer have problems with negative Jacobians right from the start.

        Even though I have a quarter geometry in PreView, I don't think there's anything in place that actually tells FEBio that the problem is axisymmetric. Is there an option for this or can I just put zero displacement constraints on the flat faces?

        Also, when I actually run the .feb file I get zero displacements in the output file (i.e. nothing happens), but I'm guessing it's because I defined the contact interface incorrectly. Prof. Ateshian, you suggested that I should do a multi-step analysis starting with nodal displacements, but I think the cell and the pipette are already in contact. I just defined it as a rigid interface. Even if the two weren't initially in contact, is there a way to tell FEBio to switch from one step to another once they are?

        I know that was a lot at once, but I appreciate the help. Thank you in advance!

        - Ben M.

        Comment

        • ateshian
          Developer
          • Dec 2007
          • 1830

          #5
          Hi Ben,

          I attached a sample file (PseudoPipetteAspiration.feb) that approximates the problem you are trying to solve. The "cell" in this case is just a square and the micropipette is a rectangle with rounded edges. Symmetry about the Y-Z plane is assumed. A plane strain analysis is performed to help reduce the size of the problem (for the purpose of illustrating it here).

          PseudoPipetteAspiration0.pngPseudoPipetteAspiration1.png

          The analysis uses two steps, as per my earlier recommendation, to initially engage the contact. Admittedly, this is not always necessary, but it is safer to do it that way.

          A few key points to note:

          - A negative pressure is prescribed on the surface inside the pipette.
          - The cell contact surface includes the region on which a negative pressure is applied.
          - Rounding the edges of the pipette reduces element distortion and allows the problem to progress further before producing negative jacobians.
          - Eventually the problem will end when elements become highly distorted. This depends on the mesh size and configuration.

          Try it out and see if this helps you determine how you can extend the analysis to an axisymmetric geometry.

          In response to your question, indeed axisymmetry is enforced only by creating an axisymmetric geometry, keeping only a quarter of it, and applying zero displacements normal to the cut faces.

          Best,

          Gerard

          Comment

          • blm2126
            Junior Member
            • Jun 2012
            • 5

            #6
            Dear Professor Ateshian,

            Thank you for the detailed response! I imported the .feb file into PreView and now have some idea of how to setup a multi-step analysis. I just have two questions:

            1) In the file you prescribed a pressure to only half of the "cell", part of which was outside of the entryway of the pipette. So it seems more like the pipette is indenting the cell, rather than aspirating it. Though I assume this will have the desired effect if I do the same thing just for the region directly in front of the mouth. Is this correct?

            2) What meshing software did you use? Is it all done in PreView? For the files I posted earlier I used SALOME to build the geometry/mesh and GMsh to convert this into a form that PreView can understand. If would love to get away with doing all my meshing in PreView but I understand its limitations.

            I think that's all for now. I greatly appreciate the help.

            - Ben M.

            Comment

            • ateshian
              Developer
              • Dec 2007
              • 1830

              #7
              Hi Ben,

              1) In the file you prescribed a pressure to only half of the "cell", part of which was outside of the entryway of the pipette. So it seems more like the pipette is indenting the cell, rather than aspirating it. Though I assume this will have the desired effect if I do the same thing just for the region directly in front of the mouth. Is this correct?
              Though it may look as though the pipette is simply indenting the cell, in reality the boundary conditions are prescribing an aspiration pressure on the cell. The rigid pipette is stationary in this analysis. I used a nearly-incompressible elastic solid (Mooney-Rivlin) to represent the cell, that's why there is bulging on both sides of the pipette, but it should be evident that the side that's being aspirated (to the left of the pipette) is extruding significantly more into the pipette. If you perform this analysis on a spherical cell (instead of the square block I used) whose dimensions are significantly larger than the pipette diameter, there may not be as much bulging appearing on the outside of the pipette.

              2) What meshing software did you use? Is it all done in PreView? For the files I posted earlier I used SALOME to build the geometry/mesh and GMsh to convert this into a form that PreView can understand. If would love to get away with doing all my meshing in PreView but I understand its limitations.
              I created and meshed the geometry in CUBIT (http://cubit.sandia.gov/), then exported into ABAQUS format. The mesh was imported into PreView, where boundary conditions were applied.

              As you note, PreView is not designed to do elaborate mesh generation. However, this particular problem can be generated in PreView if one desires, but that would require a relatively convoluted approach. (You can create the pipette by first creating two cylinders that represent the rounded corners of the pipette, mesh them, convert the mesh to editable form, cut-off three of the four quadrants to leave just one rounded corner. Create rectangular parts to fill in the rest of the pipette geometry. Attach the various parts and weld the nodes...)

              You can do something similar for the axisymmetric model of the cell: The torus may be used to create the rounded corners of the edge of the pipette and a hollow cylinder may be used for the rest of it. PreView does not generate an axisymmetric mesh for a sphere (the cell), but you may be fine using the available butterfly mesh.

              Best,

              Gerard

              Comment

              • blm2126
                Junior Member
                • Jun 2012
                • 5

                #8
                Thanks for the help. I managed to smooth out the corners of my pipette and generate a mesh for it, but as soon as the cell and the pipette make contact and the next stage of the multi-step analysis happens, I immediately get errors about negative Jacobians. The mesh inspector for the pipette tells me that there are some elements with zero volumes/Jacobians, though I'm not sure why. If I try to mesh only the 2D/1D elements with external software and let Tetgen try to take care of the 3D elements, it encounters an error. I've provided links to my PreView and .feb files below. Note that the loads/prescribed displacements are all in the initial stage. For some reason when I add these conditions in their appropriate places in the analysis, they automatically get moved to the initial stage. I'm not sure if this is a bug in PreView or if I'm missing something. Before I run FEBio on my exported .feb file I just move the conditions to their appropriate sections manually.

                Thanks!

                - Ben M.

                http://dl.dropbox.com/u/56831547/micro_2.feb

                Comment

                • ateshian
                  Developer
                  • Dec 2007
                  • 1830

                  #9
                  Hi Ben,

                  I am having a hard time viewing your files in PreView (it crashes when I import the .feb file and when I open the .prv file). Looking at the micro_2.feb file I notice that you have shells (tri3 elements) with zero thickness. I am not sure why you need shell elements at all, since you already have tetrahedra (tet4 elements). You should try generating a mesh which does not include shell elements. I am also not sure why you are having problems setting up the multistep analysis (please make sure to download the latest version of PreView). I haven't noticed any bugs with this feature in PreView. Perhaps I can get a better sense of what's going on when I am able to import your files.

                  Have you tried creating a simpler geometry (like the example I showed you above) to test out your familiarity across tetgen, PreView and FEBio?

                  Best,

                  Gerard

                  Comment

                  • blm2126
                    Junior Member
                    • Jun 2012
                    • 5

                    #10
                    Dear Professor Ateshian,

                    I'm able to view the PreView file on two computers (one Linux and the other Windows 7, both 32-bit), and setting up boundary conditions for a multi-stage analysis puts them in the initial step on both computers as well, so I'm not sure what's wrong. Oh, I noticed the zero-thickness shell entries in my .feb file but didn't realize that those corresponded to the triangular elements. I think my meshing software generated both 2D and 3D elements, so I'll try just computing the 3D elements and seeing what happens. I'll post a link to the new version once that's done.

                    I haven't tried creating a simpler geometry, but I imported your .feb file into PreView and used it as a template for my BC's, load curves, etc. I think the analysis should succeed once I work out the meshing issues.

                    Thank you once again!

                    - Ben M.

                    Comment

                    • kdinapo1
                      Junior Member
                      • Nov 2018
                      • 15

                      #11
                      SphereTunnelVisco.feb

                      I am attempting to do something similar with a sphere and a tunnel. I am trying to make both of the objects viscoelastic though. I am getting an error message that won't run past, I believe it has something to do with the contacts. I've been trying to find an example of something similar to this but most have one object that is rigid. Does anyone know how to get the two viscoelastic objects to interact?

                      I've attached my FEB file

                      Thank you in advance.

                      Comment

                      • maas
                        Lead Code Developer
                        • Nov 2007
                        • 3441

                        #12
                        Hi,

                        There is a problem with the Geometry section: the part named "Tube" is defined as a tet4 domain, but only three nodes per element are given. How was this file generated? Was this file created by PreView? If so, could you send me the .prv so I can track down this issue?

                        Thanks,

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

                        Comment

                        • kdinapo1
                          Junior Member
                          • Nov 2018
                          • 15

                          #13
                          I made the file in Gibbon actually so I have a .m file, but I don't think it generates a .prv. I tried to open my .feb file in preview and it immediately crashes. I updated the .feb and fixed the tet4 domains so that there are four nodes (file attached), thank you for pointing that out! I'm getting a negative Jacobean error so maybe there is still an error with the nodes?

                          tempModel1.feb

                          Comment

                          • maas
                            Lead Code Developer
                            • Nov 2007
                            • 3441

                            #14
                            If I open the tempModel1.feb file in PreView, I get the attached image. It looks indeed like the node numbering is not correct.

                            Cheers,

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

                            Comment

                            • kdinapo1
                              Junior Member
                              • Nov 2018
                              • 15

                              #15
                              Thank you so much for that image, so different than what is showing up when I plot it in Matlab. I've tried to re-download Preview to investigate this myself, but it still is crashing. Maybe its my Mac machine. I appreciate you taking the time out to help investigate this. As a very new user it is so helpful!

                              Comment

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