Relative motion between the rigid bodies

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Relative motion between the rigid bodies

    Hello Everyone....I have a foot model with hex elements which is running just fine in FEBio. The model is displacement controlled. The bones are modelled as rigid bodies and rigid joints are specified between them. Can a relative motion be secified between the rigid bodies as my initial displacement for the model. Rigid now I have a global displacement specified for the model. Is there a way to specify a relative displacement istead of a global displacement? And is there a way to log specific data such as plantar foot pressures in the log file?

    Thank you,
    Pavana.
  • maas
    Lead Code Developer
    • Nov 2007
    • 3400

    #2
    Hi Pavana,

    You can only prescribe global displacement for rigid bodies in FEBio. I'm not sure I understand why you would prefer relative displacements. Can you elaborate on what you are trying to do? Perhaps, if possible, you could send us your input file.

    The pressures are not saved in the log file since that file only logs what is output to screen during the analysis. However, you can look at pressures in PostView by selecting "pressure" from the expression list (which is a sub-item from the "stress"). Hope this helps.

    Cheers,

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

    Comment

    • weiss
      Moderator
      • Nov 2007
      • 124

      #3
      Hi - I think Pavana is interested in specifying the relative motion between two rigid bodies in FEBio. Although this cannot be done directly (since there must always be a global coordinate system for calculations in a finite element program), here is a summary of how to do it.

      Assume your two bodies are A and B, and they have local coordinate systems associated with them. Presumably you want to specify the transformation matrix [T_A->B] as a function of analysis time. This transformation matrix describes the spatial position and orientation of rigid body A relative to rigid body B.

      The easiest way to accomplish this is to translate and rotate the model (consisting of both rigid bodies) so that one of the local coordinate systems is aligned with the global coordinate system. Let's assume that you do this for rigid body B, so that its local coordinate system is aligned with the global system and the origin of the local coordinate system is the same as the global coordinate system.

      Then, your transformation matrix [T_A->B] can be used to prescribe the motion of rigid body A relative to the global coordinate system. Since FEBio uses incremental rotations and translations based on quaternions, you need to extract these incremental translations and rotations from the transformation matrix at each increment in kinematics to input them to FEBio.

      We use this approach all the time in our own research. Take a look at the following publications:

      Gardiner and Weiss, JOR, 2004 (see subsection titled "Boundary Conditions")

      You can find a Matlab program to extract incremental rotations and translations from the transformation matrix in the Appendix of this thesis:

      MS Thesis - Will Newman (see chapter 3 for an outline of the algorithm)

      Another approach is to define the motion of each rigid body relative to the global coordinate system as a function of analysis time. This is a more general approach in that it extends to any number of rigid bodies in your model, but the approach I have outlined above is easier when you have just two rigid bodies.

      If you have any further questions please do not hesitate to ask. If you have difficulty getting this going I'm sure we can help you if you can post your model and kinematic data here or email it to Steve.

      Cheers,

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

      Comment

      • weiss
        Moderator
        • Nov 2007
        • 124

        #4
        Regarding logging specific results to a separate file (rather than just to the plotfile database for postprocessing) - Steve, this is a feature that we may want to consider adding to FEBio. It is often available in commercial finite element codes.

        Pavana - if this is something that you need for your research, I suggest that you submit a "feature request" in the FEBio forum here:

        FEBio Bug Tracking and Feature Requests

        Cheers,

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

        Comment

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