Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Bone growth modeling

Bone growth modeling

Bone growth modeling

I am trying to simulate bone growth in my spine model using a fortran code for the growth. If I use quadratic instead of linear elements in the hardware, will it result in convergence issues? Also, my next question is, whenever a maximum penetration error arises, is it because the contacts are not defined properly or there could be other reasons as well? Please let me know if the question is not clear and/or additional information needs to be told so that I can get proper suggestions regarding this.


RE: Bone growth modeling

From what I know bone remodeling in FEA consists of changing material properties based on solution variables (in Abaqus with the use of USDFLD subroutine). The rest is the same as in usual simulations. Thus all rules of typical FEA apply. Quadratic elements should be more accurate and shouldn’t cause convergence issues. Penetration mainly depends on contact properties.

Interesting paper about it:
„Simulation of Adaptive Bone Remodeling with Abaqus/Standard” Abaqus Technology Brief

RE: Bone growth modeling

I recently did a similar simulation where the bone-properties were adapted according to the strain in the bone. For this I used an UMAT subroutine with fortran. It worked for me to use c3D4 tet elements. The model also included an implant and I had no problems with the contact between the implant and bone. I think as mentioned above that the problems you describe are not specific to the remodelling algorithm and are identical to the usual simulations. One thing I could think of is that for a UMAT subroutine it is necessary to specify the hourglass stifness. Maybe this could cause your penetration errors? If you could show your model and the locations where the error occur it might be easier to help.

RE: Bone growth modeling

Hi FEA way,

Yes I am using the USDFLD subroutine. Thank you very much for your response. I will go through the paper you sent.

RE: Bone growth modeling

Hi vazaar,

I am using the USDFLD subroutine with fortran. My model has implants too. It did run for range of motion simulations, so I think the changes I did in the model to run it for the growth have gone wrong somewhere. Could you please tell what kind of steps you applied in your model to run it for bone growth? I could have missed some necessary steps may be. I have tried several things to troubleshoot the model but nothing is working. Can incorrect material orientation result in penetration errors?

I am sorry, my file is huge and is not being uploaded for some reason. I will try to upload it later on.

Thank you very much for your response.

RE: Bone growth modeling

I dont have a lot of experience with penetration errors, but I think it is best to indeed first do the simulation without your remodelling algorithm, then see if you obtain some errors. Try to solve the errors first before you apply your algorithm. For the remodelling I wrote a Fortran code which reads out the principal strains from every step and then adjust the E-modulus of the bone accordingly for the next step. In addition I have a SDVINI subroutine to define the initial values of the E-modulus. I also had some trouble in the beginning (e.g. obtaining NaN values for stress). I solved this by printing out everything which I adjust (with "WRITE(7,*) 'IND1-1',ddsdde(1,1)" for example), which helped me finding the mistakes. Maybe it is a good idea to look again at your code and print every property which you are changing, make sure you use the correct units, etc. Otherwise I would start with a simple code, for example use the one from the abaqus manual: Link . Try and see if this one works. It basically already does what you want, namely adjusting the E-modulus based on the strain. Then if this works, try to change it step by step to finetune what you exactly want. Without seeing the fortran code it is quite difficult to tell what exactly goes wrong.

RE: Bone growth modeling

Hi vazaar,

Thank you very much for your suggestions! I will definitely do that and try to figure out the issues.

RE: Bone growth modeling

Hi vazaar,

I have one more question to you. As I have mentioned that I am trying to apply growth in spine and simulate the model, I wanted to know if the assignment of local material orientation to each vertebra separately is correct or assigning the orientation all at once is correct too? Since my model is dying in the growth step, the possible mistake I could think as of now is assigning the material orientation incorrectly. I have made some changes and put the model in run but is queued so meanwhile I thought of posting this question here. If you could tell me the proper steps regarding this, it would really help me.

Thanks a lot.

RE: Bone growth modeling

I havent worked with the material orientation in the remodelling algorithm. I assumed that the material (bone) was isotropic. The Youngs modulus changed simply on the total strain for each element. If you think that it might be the issue, first try it without your definition of material orientation and try to run it without errors. I think if you want to change the material in every direction you can use the UMAT subroutine. Read out the strains in every direction and adapt the youngs modulus in that direction based on the strain in that direction.

RE: Bone growth modeling

Thank you vazaar. Really appreciate your help!

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login


White Paper - Reliability Verification for AI and ML Processors
Artificial intelligence and machine learning are seeing growing adoption in a wide range of applications. ICs used for AI/ML applications are characterized by large parallel processing computation units, high power dissipation, and complex circuitry that can deliver maximum performance within a strict power budget. Download Now

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close