Modeling muscle as vector force and as volume

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • ECHerbst
    Junior Member
    • Jan 2020
    • 9

    Modeling muscle as vector force and as volume

    I have set up a very simple FEA model of a fossil lower jaw, constrained with fixed rotation and translation boundary conditions at the condyles.

    I would now like to model muscle forces as the load for the FEA.

    I have two questions:

    1) How do I set up muscles as a simple directional vector acting on the jaw?
    In Hypermesh I define the pt on the jaw where the load is acting, as well as the force magnitude and the direction of the force (not normal to surface).

    2) For a more refined model, if I reconstruct the muscle as a 3D mesh, what are the steps for assigning muscle properties and having this muscle pull on the lower jaw?
    Are there any guides or tutorials for this?

    Thank you,
    Eva
  • weiss
    Moderator
    • Nov 2007
    • 124

    #2
    Sounds like you just need to apply a force onto the mesh at a specific nodal location. Take a look at section 3.12.1 in the User's Manual, "Nodal Loads".

    Assuming you have your model in PreView or FEBio studio, under the Physics menu, you can select "add nodal load". You can assign the three x-y-z force components to give you the direction for the force vector that you want.

    The second question is more complicated but essentially you will want to mesh the muscle with hexahedral or tetrahedral elements. You will need to assign a direction to each element that you want to represent the direction of muscle contraction (or you can use a global vector to specify it). You will need to select a passive material model and then add an active contraction model (e.g., section 4.12.2.2 of the User's Manual). Alternatively, you can use the muscle material 4.1.2.9, which has the contractile part in the material already, but it is a more complicated model that requires that you specific a tension-length curve. That may be more complexity than you want/need.

    regards,

    Jeff
    Jeffrey A. Weiss
    Professor, Department of Biomedical Engineering, University of Utah
    Director, Musculoskeletal Research Laboratories
    jeff.weiss@utah.edu

    Comment

    • ECHerbst
      Junior Member
      • Jan 2020
      • 9

      #3
      Thank you very much Jeff!
      Is there any way to obtain the vector information from FEBioStudio? For example, if I have points of muscle origin and insertion, can FEBio calculate the vector between them? Or do these vectors need to be calculated in a different program?

      For now I followed your instructions for the node load and just put in a simple vector as a test.
      However, my model will not run, I keep getting a negative Jacobian error.
      I wasn't sure if it was a prblem with my mesh, but the model runs fine in Hypermesh/Abaqus.

      To test the setup I created a new model with a basic box (instead of the lower jaw I have). I used rotation and displacement constraints at two nodes on the back of the box. This is a simplified model of the joint contact at the jaw, which I constrained in the hypermesh jaw model. I then added a node load of 10 in the Z axis (for simplicity) on the other end of the box.

      However, even with this very simplified model I keep getting negative jacobean errors. I tried attaching my file (the fsprj format one) but the file type is not supported. Is there a way for you to check what the cause of the error might be?


      Thank you very much,
      Eva

      Comment

      • weiss
        Moderator
        • Nov 2007
        • 124

        #4
        Hi Eva - I updated the forum file types allowed for attachments, you should be able to upload .fsprj files now.
        Jeffrey A. Weiss
        Professor, Department of Biomedical Engineering, University of Utah
        Director, Musculoskeletal Research Laboratories
        jeff.weiss@utah.edu

        Comment

        • ECHerbst
          Junior Member
          • Jan 2020
          • 9

          #5
          Thank you Jeff!

          Here is the file.

          I also wanted to ask if there are any problems with using nodal loads for this sort of analysis.
          In this post I saw that the nodal loads were not recommended: https://forums.febio.org/showthread....ighlight=scale

          However, in my simple hypermesh muscle model I use nodal loads to simulate muscle vectors acting on the lower jaw (i.e. pulling toward the skull)

          Best wishes,
          EvaTest_2_nodal_load_Jacobian_error.fsprj

          Comment

          • ECHerbst
            Junior Member
            • Jan 2020
            • 9

            #6
            Hello again,

            I tested several different conditions on the box.
            I changed the material to be isotropic elastic (which I will use in my bone model).

            Surface traction, pressure, and nodal loads work if I have a boundary conidtion of fixed displacement of faces.
            However, if I use fixed displacement of nodes it does not work..

            Comment

            • maas
              Lead Code Developer
              • Nov 2007
              • 3400

              #7
              Hi,

              In the second attached model, the main issue is that the two nodes you have fixed still allow a rigid body rotation. As a result, even for really small nodal forces, you are going to get very large displacements, which leads to negative jacobians. The only remedy is to add more constraints, like fixing more nodes.

              By the way, the "fixed rotations" boundary condition you added only applies to shell elements, so you do not need it in your model.

              Best,

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

              Comment

              • ECHerbst
                Junior Member
                • Jan 2020
                • 9

                #8
                Thank you very much Steve for explaining the constraints.

                I am still having issues when I run the same setup (with element contraints and a node load in the X direction) on my fossil jaw model.
                I am not sure what what could be causing the errors, if it is an issue with constraints or a mesh problem. A similarly large mesh is running well in Hypermesh. I am concerned about downsampling the mesh too much because I might lose the tooth structure. I am again unable to upload the mesh (maybe a size instead of format problem). Could I email it or should I reduce it some way?

                Also, for the node load, if I add a certain load and select several nodes, is this load applied at each node or distributed across them? For example, if load = 100 and I select 5 nodes, do each experience 20? or 100?

                Additionally, what does bc?

                Thanks again for the quick and helpful support! I really appreciate it.

                Best,
                Eva

                Comment

                • maas
                  Lead Code Developer
                  • Nov 2007
                  • 3400

                  #9
                  Hi Eva,

                  You may send me the model to steve dot maas at Utah dot edu. Once I can run the model for myself and see what kinds of issues you are running into, I might be able to provide some more feedback.

                  Cheers,

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

                  Comment

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