Bladder filling

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • uwbiusv
    Junior Member
    • Aug 2019
    • 6

    Bladder filling

    Hi,

    I am attempting to simulate the filling of a small bladder in multiple stages.

    I have setup a test case that uses a bladder with a urethra and 2 ureters. The urethra is used for fluid inflow (as per a physical experiment). The ureters have been designated the exits but with very high fluid flow resistance so that the bladder fills. I can't get the model to converge. A previous test using a cylinder with one end the entry and the other end as the exit did work.

    I have attached feb files for both the successful cylinder test and the following bladder test that I want to work the same way.

    The goal is to have the final bladder model fill over longer periods of time with a rest interspersed between each filling period (e.g. 5 to 10 mm^3 fill over 2 mins, followed by 10 min rest, repeated multiple times until the bladder is fully distended).

    cylinder_flow_test_6.zipbladder3_3.zip

    Any guidance that could be offered to help me would be appreciated.

    Thanks,

    Harley.
  • ateshian
    Developer
    • Dec 2007
    • 1830

    #2
    Hi Harley,

    For the bladder problem you are using 4-node tetrahedral elements and you model the bladder wall as a Mooney-Rivlin (nearly-incompressible) solid. Tet4 elements notoriously lock when using a nearly-incompressible material and this may be the reason that your bladder model does not work as well as your cylinder model (which uses hex8 elements).

    I suggest that you convert your mesh to a quadratic mesh (Mesh->Convert->Linear to Quadratic) then reapply your boundary conditions and try it again. Let me know if that doesn't resolve your issue.

    Best,

    Gerard

    Comment

    • uwbiusv
      Junior Member
      • Aug 2019
      • 6

      #3
      Hi Gerard,

      Your advice has helped greatly but I'm still stuck. It solved for a few time steps before failing. I've tried reducing the maximum fluid velocity, decreasing the slope of the curve for the fluid velocity, and decreasing the size of the time step. I've set very generous tolerances.

      Any further help you could offer would be greatly appreciated.

      Thanks,

      Harley.

      Comment

      • ateshian
        Developer
        • Dec 2007
        • 1830

        #4
        Hi Harley,

        I looked at your model more closely and here is what I noticed:

        1) I was mistaken in my earlier response when I mentioned that your Mooney-Rivlin solid domain consisted of tet4 elements. You actually use penta6 elements for the bladder wall and they are not as susceptible to mesh locking as tet4. So converting your mesh from linear to quadratic is not essential.

        2) However, I have also noticed that the tet4 mesh inside the bladder is much coarser than the surface mesh would suggest. So the first thing you need to do is refine the mesh of the fluid domain inside the bladder, so that the elements inside are comparable in size to the elements near the surface. In PreView you can use the TetGen mesher to achieve this result, e.g., setting the Element size to 0.1 (which I roughly estimate to be the size of elements at the surface).

        3) In FEBio, to get proper convergence using the CFD or FSI solver, you generally need to create a boundary-layer mesh in the vicinity of no-slip boundaries (i.e., the inner bladder surface in your case). This boundary-layer mesh can be created in whichever meshing software you are using, if it has that capability, or using the PostBL tool in PreView (typical settings: bias=2, Segments=5). Unfortunately the PostBL tool is not foolproof (there are some mesh topologies that it cannot handle) and I couldn't get it to work for your specific mesh (neither before refining it with TetGen, nor after). So, for now, you need to figure out how to create this BL mesh on your own.

        If you used a CAD software to generate your bladder model, you can extrude the fluid domain inward by a small amount, e.g., 0.1, and mesh that smaller domain with tet elements, then import the mesh into PreView. Within PreView, extrude the mesh surface outward by the same amount, using Edit Mesh->Extrude Faces->Distance=0.1, Segments=1, Use local normal. This operation should now recover your original desired geometry. Select the outer surface and use the PostBL tool with the settings suggested above to create a BL mesh in this extruded portion. Finally, to create the bladder wall, select the outer surface and extrude it again, by the desired amount.

        Since I don't have your CAD model, I used features that have been developed more recently in FEBioStudio to remesh your bladder tet mesh (using Tet Refine with Element size=0.1414 and Min element size=0.1) which allowed me to use the PostBL tool successfully. After I did that, the model ran to completion. However, with this finer mesh, it had almost 500 K degrees of freedom. (On my desktop, which has 18 cores, it took a little more than 17 minutes to run.)

        If you are unable to generate a BL mesh with the meshing tools available to you, email me at ateshian@columbia.edu and I can reply by attaching the file I created (4.5 MB when compressed, too big to upload to the forum).

        Best,

        Gerard

        Comment

        • uwbiusv
          Junior Member
          • Aug 2019
          • 6

          #5
          Hi Gerard,

          I used the generated the BL mesh and when the PostBL tool is applied to the outer surface it doesn't give much feedback, only "Executing command: Change mesh (PostBL)" in the log, I assume it has worked. I have then extruded the outer surface again to make the bladder wall. This now gives me 3 parts to deal with. I'm unsure how the new BL mesh part interacts with the model. Do my boundary conditions still apply to the other two parts (the bladder wall and inner bladder) as before? Do I apply anything to this new part?

          I have emailed in regards to the file you have generated.

          Thanks,

          Harley.

          Comment

          • ateshian
            Developer
            • Dec 2007
            • 1830

            #6
            Hi Harley,

            When the PostBL tool fails it doesn't give any error message. You just don't see any changes to the mesh, which means it didn't work.

            Due to the fact that PreView/FEBioStudio does not use a geometry engine to define models, making changes to the mesh (such as using the PostBL tool) will mess up the selected faces in the definition of boundary conditions, contact interfaces, etc. So the trick is to use Edit->Purge...->Clear all selections of boundary conditions, loads, etc., to dissociate those conditions from the mesh. Then modify the mesh (e.g., using PostBL, detach, merge or any other mesh operation), then reassign selected surfaces for each of the (previously purged) boundary conditions, loads, etc.

            I have emailed in regards to the file you have generated.
            I have replied to your email earlier today.

            Best,

            Gerard

            Comment

            • uwbiusv
              Junior Member
              • Aug 2019
              • 6

              #7
              Hi Gerard,

              I've followed your suggestions from the email and changed the fluid properties, etc.. I've got that computing now to see how far it gets. Meanwhile I made a simplified model to experiment with.

              I've been using gmsh to mesh the geometry, using variable element sizes computed from the curvature of the geometry. The only real success I've had with exporting files from gmsh is stl files - so I've been converting to an editable mesh within FEBio Studio and then using Tetgen. I noticed the default settings for Tetgen seems to make a fairly coarse internal mesh. Is there a way to easily visualise this within FEBio Studio?

              I was able to import brep files but didn't have much success meshing that within FEBio Studio. Is there an easy way to make that happen?

              This simpler model uses a BL and all the other suggestions so far. The simpler model doesn't get as far as the model with the more complex geometry. If you have a spare minute could you please look at my simpler model and see if I've done something wrong? I've emailed you the files.

              Would it be possible to simplify the geometry even further and have a single inlet only with no outlet (like a balloon) and achieve the same effect I'm after? Having the one inlet would remove the distortions of the outlet fixing the bladder in space as it fills - unless I can let the outlet move with the expansion of the bladder (is that possible?)

              Thanks,

              Harley.

              Comment

              • ateshian
                Developer
                • Dec 2007
                • 1830

                #8
                Hi Harley,

                I noticed the default settings for Tetgen seems to make a fairly coarse internal mesh.
                You can control the mesh size in Tetgen by specifying the Element size. For your model I suggest trying 0.14.
                Is there a way to easily visualise this within FEBio Studio?
                The easiest way is to select elements and hide them to see elements inside the model.
                I was able to import brep files but didn't have much success meshing that within FEBio Studio. Is there an easy way to make that happen?
                I was able to mesh your brep file using Max element size=0.14. FEBioStudio crashed when I converted to Editable mesh (I will ask Steve to look into that). However, using the latest beta version of FEBioStudio (which we may have to share with you, let me know if you are using Mac or Windows), I can export the mesh into an feb file and re-import it back into FEBioStudio to complete the PostBL and extrusion steps.
                If you have a spare minute could you please look at my simpler model and see if I've done something wrong?
                I don't see anything obvious. See my suggestion below.
                Would it be possible to simplify the geometry even further and have a single inlet only with no outlet (like a balloon) and achieve the same effect I'm after?
                Yes, you can simplify the geometry to one inlet and no outlet, or an inlet and outlet which are inline. In both cases this would allow you to generate an axisymmetric geometry which would allow you to create a model with much fewer elements. You would need to create just a wedge geometry (a slice, e.g., spanning 3 degrees) and make use of the symmetry plane capabilities in FEBio to perform your analysis. Having a smaller model would allow you to tinker with the settings in a more interactive way, to help you figure out the best settings to complete your analysis. (Also, it would be much easier for me to debug your model if it doesn't require hours to run

                Best,

                Gerard

                Comment

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