PDA

View Full Version : Bone remodelling after Total Hip Replacement


microfem
2008-01-26, 06:59
Bone remodelling after Total Hip Replacement

Hi

I am working on a project where I have to simulate bone remodelling using abaqus and UMAT.

In my input file I start with a lower young's modulus and this is the value UMAT takes at the first iteration to calculate stresses.

Then it calculates the new young's modulus using the following equation.

EMOD=EMOD+EMOD*B*(((stran(1)+stran(2))/2)-control stran)

this is the DeltaEMOD = EMOD*B*(((stran(1)+stran(2))/2)-control stran)

B is the rate of bone adaptation

Then it saves this as a state variable and pass it on to input file, where one has to use *DEPVAR in order to accept this value and at next iteration this is given back to the UMAT to continue with the stresses calculation and material propeties calculation.

STATEV(1)=EMOD

My problem is how should I ensure that the program terminates when the EMOD is equal to the final EMOD as there is no error signal from the above control equation any more. I can use a condition here to observe whether the average strain is equal to expected strain or whether EMODS are equal and that EMOD should stay the same, but is this the way one should do it or is there a better way to do the same. If I give a condition at what range I should say that the error signal is zero.

Any comment and advice on this regard would be greatly appreciated.

Jorgen
2008-01-28, 05:53
I do not think there is an easy and elegant way to stop the simulation at a preset EMOD value. You can either just let your simulation run long enough, or terminate the simulation from within the UMAT.

- Jorgen

microfem
2008-01-28, 08:27
Hi Jorgen,

Thanks for the reply. Is it possible to terminate the simulation from within the UMAT having observed that the present EMOD is the expected EMOD or did you mean that I should stop calculating EMOD once the new EMOD is equal to preset EMOD.

EMOD=STATEV(1)

IF(STATEV(1).LT.x) THEN

EMOD=EMOD+EMOD*B*(((STRAN(1)+STRAN(2))/2)-control Strain)

ELSE

EMOD=x

ENDIF

STATEV(1)=EMOD Storing new EMOD or the preset EMOD as state variable

Should it be something like above or any other suggestion.

Again any comment and advice on this regard would be greatly appreciated.

Thanks

Jorgen
2008-02-03, 20:41
Both of those approaches are possible. I do not know what approach is best since I do not know exactly what you are trying to achieve.

- Jorgen

microfem
2008-02-04, 01:33
Hi Jorgen

Thanks for the reply.

What I want is that the simulation stops once nomore bone remodelling occurs having reached the expected youngs modulus.

Is it possible for you let me know how one could stop simulation from within the UMAT. Your assistance in this regard would be greatly appreciated.

Thanks once again

microfem

uldave
2008-10-10, 08:55
Hi all,

i am doing a study looking at fatigue modelling of hip implants and im looking to use a UMAT. i am fairly new to using user subroutines and just thought id ask are they quite complicated to create, and if so would there be anywhere i would be able to get one, even a simple one to get me started?

thanks

dave

Jorgen
2008-10-26, 22:26
Fatigue of hip implants - interesting. That's an are that I have work in as well.

Yes, writing a UMAT is quite time consuming and challenging. The Abaqus manual contains one example that you should study to get started.

-Jorgen