Setting Conditions + Model Setup Questions

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Jessica
    Junior Member
    • Sep 2019
    • 3

    Setting Conditions + Model Setup Questions

    I'm very new to PreView/FEBio and could use some clarification on appropriate usage of all the model settings. I have a tibia model with 170,811 surfaces, 21,921 edges, and 11,779 nodes. When I look at the mesh settings it says it is an editable mesh. This means it is a volume mesh, correct? How can I scale the model to the tibia length of a specific subject?

    I am attempting to determine the maximal principle strains on the bone when a force is applied. I would like to constrain the proximal and apply the force to the distal end. From perusing other posts in the forum, I learned that boundary conditions should be applied to deformable bodies, so I should constrain the x, y, and z displacement of the tibial plateau as a boundary condition, correct? When I try to select the surfaces on the proximal or distal end to do this, an entire cross-section of the bone gets selected rather than just the surfaces. An alternative I've tried is selecting a small cross section at the end to apply the conditions to but I'm not sure if this will affect the analysis.

    What steps are most appropriate to apply the load? I've explored physics->add analysis step->structural mechanics, but then it's not clear how to proceed. Using the static option of the structural mechanics makes the most sense to me, but then I don't understand how best to adjust the time settings.

    Generally regarding Boundary Conditions, Initial Conditions, Constraints, and Steps-when and how do you decide which to use? I understand that Boundary Conditions are for deformable bodies while Constraints are for rigid bodies from a previous post, but besides that I don't understand how to differentiate the use of these.

    I know this is a lot of questions and I really appreciate any assistance and clarification you can provide.

    Jessica
  • ateshian
    Developer
    • Dec 2007
    • 1830

    #2
    Hi Jessica,

    When I look at the mesh settings it says it is an editable mesh. This means it is a volume mesh, correct?
    Not necessarily. Select your model and use the Mesh Inspector tool to see what type(s) of element your model includes. If the type(s) only include TRI or QUAD elements (e.g. TRI3, TRI6, QUAD4, QUAD8, ...) that would imply that your mesh is a surface mesh. If it includes TET, PENTA and/or HEX elements, that means it is a solid (volume) mesh.
    How can I scale the model to the tibia length of a specific subject?
    After selecting the part, use Edit->Transform... and change the scale values (either Absolute or Relative). To scale uniformly, use the same values along x, y and z.
    so I should constrain the x, y, and z displacement of the tibial plateau as a boundary condition, correct?
    Yes.
    When I try to select the surfaces on the proximal or distal end to do this, an entire cross-section of the bone gets selected rather than just the surfaces. An alternative I've tried is selecting a small cross section at the end to apply the conditions to but I'm not sure if this will affect the analysis.
    When you import a mesh into PreView, the mesh may or may not be partitioned to your liking. (For example, you may import a cubic geometry into PreView and it can automatically detect the sharp edges forming the corners of each surface pair; but this may not work as well if you import a tibia model.) In that case you can manually select the surfaces on which you plan to prescribe a boundary condition and use Edit Mesh->Partition->Apply to create a partition for that portion of the tibial surface.
    What steps are most appropriate to apply the load? I've explored physics->add analysis step->structural mechanics, but then it's not clear how to proceed. Using the static option of the structural mechanics makes the most sense to me, but then I don't understand how best to adjust the time settings.
    Structural mechanics is the correct choice for your application. The static option is also correct since your post does not suggest that you need to analyze dynamics. To figure out the meaning of the rest of the settings please follow some of the tutorials in the PreView manual, Section 2, and/or consult the FEBio User Manual, Section 3.5.1.
    Generally regarding Boundary Conditions, Initial Conditions, Constraints, and Steps-when and how do you decide which to use? I understand that Boundary Conditions are for deformable bodies while Constraints are for rigid bodies from a previous post, but besides that I don't understand how to differentiate the use of these.
    The tutorials in the PreView manual should help you a lot with these questions. Boundary conditions are indeed used for deformable bodies whereas Rigid Constraints are used for rigid bodies. It seems from your post that your model does not include rigid bodies so you need not worry about rigid constraints. Initial conditions are for problems that are time-dependent (including structural dynamics), whereas your structural analysis is quasi-static, so you need not worry about those either. Please keep in mind that PreView is designed to help one create models for all the various types of modules/analyses available in FEBio (beyond structural mechanics), so it includes many more options than one would need for a specific type of analysis.

    Best,

    Gerard

    Comment

    • Jessica
      Junior Member
      • Sep 2019
      • 3

      #3
      Thanks Gerard for all your recommendations. I've spent more time with my model, reviewing the tutorials again, and reading through many other posts on the forum here.

      I'm still unclear how to scale it but not in terms of the steps to execute. I need to scale the model in meters to a subject-specific length. When I go to to Edit->Transform->Scale the Absolute and Relative scale are both (1,1,1). Is this in meters or some arbitrary unit, and how do I make it so the Z is equivalent to 0.5m (for example) and the x and y scale proportionally?

      Regarding partitioning-what exactly does this do? It seems like it should create a single surface (out of the many I have selected) to which I can apply conditions/loads/etc. I can select the surfaces on the proximal end and create the partition successfully according to the command window. Is this new surface saved somewhere that I can apply conditions/steps to it?

      For applying the load, I'm still not clear on the settings in the structural mechanics static load option. The tutorials explain how to adjust the setting but not WHY the settings are adjusted from the default, so it's hard to determine how to adjust them appropriately for my analysis. How do I set the load magnitude? I'd like to apply a fixed load (say 3000N) and I don't see anywhere to set this.

      In addition, Dr. Maas advised someone on another post that nodal force is ideal when trying to apply a net force in N (which is what I'd like to do). Would this be a method I should explore? His suggestion was to create a rigid body connected to the deformable body you want to apply the load to (the tibia in my case) and use Physics->Rigid Constraints -> prescribed rigid force. This seems like it would be quite difficult since the proximal and distal surface of the tibia are not flat and therefore could create some issues to attach another surface.

      Again, thanks for any help and advice you can offer.

      Jessica

      Comment

      • ateshian
        Developer
        • Dec 2007
        • 1830

        #4
        Hi Jessica,

        I need to scale the model in meters to a subject-specific length. When I go to to Edit->Transform->Scale the Absolute and Relative scale are both (1,1,1). Is this in meters or some arbitrary unit, and how do I make it so the Z is equivalent to 0.5m (for example) and the x and y scale proportionally?
        Scale factors are unitless, they are not associated with any dimensions. If your original model is 1 m in length along Z, you would have to scale it by 0.5 to make it 0.5 m. Please see Section 1.3 in the User Manual to understand how units are set in FEBio.
        Regarding partitioning-what exactly does this do? It seems like it should create a single surface (out of the many I have selected) to which I can apply conditions/loads/etc. I can select the surfaces on the proximal end and create the partition successfully according to the command window. Is this new surface saved somewhere that I can apply conditions/steps to it?
        The purpose of partitioning is to facilitate the application of boundary conditions to a pre-selected set of faces in your model. It is not strictly necessary to partition your model to do that; you can manually select the faces each time you prescribe a boundary condition. Partitioned surfaces are only saved in the PreView (.prv) file. If you don't apply boundary conditions on a partitioned surface, the FEBio model (.feb) file does not include them.
        The tutorials explain how to adjust the setting but not WHY the settings are adjusted from the default, so it's hard to determine how to adjust them appropriately for my analysis.
        If there is a specific set of settings that remain unclear, I suggest that you first search this forum for those keywords. If you don't find a satisfactory explanation please post a question specific to those settings.
        How do I set the load magnitude? I'd like to apply a fixed load (say 3000N) and I don't see anywhere to set this.
        In continuum mechanics of deformable solids the standard boundary conditions are the traction vector (with units of force per area, e.g., Physics->Add Surface Load...->Pressure or Physics->Add Surface Load...->Surface traction) and displacement constraints (with units of length). Therefore, the easiest way to apply a load in a finite element model is to prescribe a known uniform traction over a known area, such that traction x area = force. To figure out the surface area in a complex geometry is a little tricky in PreView (we can fix that in the future): For now, you need to select the faces on which you want to prescribe the traction, use Extract Faces to create a (temporary) part which consists of shell elements, select that part and open the Mesh Inspector; display the Variable: Shell area and multiply the Avg. value by the Count to get the total area. Once done, you can delete the extracted part.

        To apply loads directly, the two standard options are to prescribe nodal forces or rigid body forces. It is tricky to apply nodal forces because you would need to understand how the finite element method converts these nodal forces into traction vectors. This conversion is calculated using the discretized mesh and most users would not be comfortable figuring out the correct way to do it unless they also studied in detail which types of finite elements and element interpolations are being used in their model. There are a few simple cases where a uniform nodal load distribution would be acceptable (e.g., a perfectly regular mesh with identically sized elements and a uniform nodal load distribution) though not necessarily exact. Therefore, in general, it is not recommended to apply nodal loads directly.

        The final alternative is to apply a rigid body load, since forces and moments, or the displacement of the rigid body center of mass, are the standard boundary conditions for rigid bodies. The question becomes how to do this with a model that consists of deformable solid elements. The easiest way that would be relevant to your tibia problem is to (a) create a rigid body material, and (b) select a surface (e.g. all the faces of the tibial plateau mesh) and create a "rigid contact" (Physics->Add Contact...->Rigid) which ties the selected surface to the rigid body material. Then Physics->Add Rigid Constraint...->Prescribed rigid force to prescribe the desired force on that entire surface. (You also need to constrain the rigid body displacements and rotations along the remaining coordinate directions to make sure that the model has enough boundary conditions to produce a unique solution.)

        The results of your analysis will depend on which way you applied the desired load: When using surface tractions or nodal loads, no additional constraints are placed on the displacements of nodes belonging to the selected surface. When using a rigid interface, the selected surface behaves as a rigid body, implying that there cannot be relative displacements among the nodes belonging to that surface. However, the remainder of the model is deformable. Based on St-Venant's principle, the solution far away from this selected boundary surface will not be influenced by the exact nature of the boundary condition. In other words, if you are not concerned with what happens right next to that surface you should just pick whichever of these two methods you find more convenient. Conversely, if you are most interested in what happens in the immediate vicinity of that boundary, you should apply the most realistic boundary condition (which would most likely be a contact interface with another body to which the load is applied).

        Best,

        Gerard

        Comment

        • lyra
          Member
          • Jul 2019
          • 37

          #5
          Hi,

          I have a question about the options that have been explained in the above post, for applying the loads.
          I have a rigid body which I am interested to apply a net force to a specific part of it.

          - Does it make any difference if I apply a nodal force to it or use another rigid body to apply the net force to it?
          - Would it be possible to connect a rigid body, as mentioned above, to another rigid body?

          And in the case that I am applying the nodal force to a deformable surface is the load applied at each node or is it distributed across them? For example, if load = 100 and I select 5 nodes, do each experience 20? or 100?

          Thank you for your help,

          Lyra

          Comment

          • maas
            Lead Code Developer
            • Nov 2007
            • 3441

            #6
            Hi Lyra,

            - Does it make any difference if I apply a nodal force to it or use another rigid body to apply the net force to it?
            Yes, it does. The rigid force is applied to the center of mass of the rigid body, whereas a nodal force is applied at the selected locations and may thus induce a moment as well.

            - Would it be possible to connect a rigid body, as mentioned above, to another rigid body?
            In what way would you like to connect them? There are quite a few options in FEBio to connect two rigid bodies together.

            And in the case that I am applying the nodal force to a deformable surface is the load applied at each node or is it distributed across them? For example, if load = 100 and I select 5 nodes, do each experience 20? or 100?
            If you apply a nodal load, then the load is applied to each node separately.

            Cheers,

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

            Comment

            • Jessica
              Junior Member
              • Sep 2019
              • 3

              #7
              I'm revisiting this tibia model after quite some time and these suggestions have been extremely helpful.

              I'm still having issues selected the parts of the model I want to apply boundary conditions and loads. My model is a solid volume mesh of Hex elements. When I try to select the faces on the proximal or distal ends it seems to select faces of all the elements along an axis of the element I select. This results in nearly all the elements of the model being selected. When I select faces through the mesh panel to create a partition it allows me to do this, but when I try to add the faces to the boundary condition I get a warning that "The selection is not of the correct type." How can I select the exterior faces of the elements on the proximal and distal ends and be able to assign boundary conditions and loads?

              Based on the suggestions on how to add load, I'm attempting to apply a rigid body load and have been using the tutorial 2.3 Twisted bar problem as a guide. When assigning properties of the object and rigid body that I create for this, is it sufficient to align the X and Y axes of the COM of tibial model and the object/rigid body? Adjusting the Z position of the rigid body places it closer to the tibia model in the workspace, but if I understand the tutorial correctly these do not necessarily need to be touching for the forces to be applied appropriately between them.

              I appreciate any advice you have on these issues.
              Thank you,
              Jessica

              Comment

              • maas
                Lead Code Developer
                • Nov 2007
                • 3441

                #8
                Hi Jessica,

                There is an option that sets whether or not you can select backfacing faces. I suggest to turn that off. If you are using FEBioStudio, there is an icon on the toolbar below the Graphics View, or you can go to Tools-> Options, then select "Selection" and set "Ignore backfacing items" to Yes. You can also play with the angle criterion for the "select connected" option. You can enter a smaller value (in degrees) in the corresponding box in the same toolbar.

                Currently, it is not possible to assign different types of selections to boundary conditions. If you had assigned a surface (with the blue surface selection icon on), you cannot assign mesh facets. We'll have some better workarounds for this in the next FEBioStudio release, but the only way around this for now is to delete the boundary condition and recreate it.

                The position of the COM of a rigid body is only important when you are dealing with rotations. If all of the six degrees of freedom are fixed or prescribed, and no rotations are prescribed the location of the COM does not matter. (If you want to convince yourself of this, you can always try to change the COM and see if it affects the results.)

                I hope this helps. Let us know if you have any further questions.

                Best,

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

                Comment

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