Hi Marloes,
You should check the Outputs section of you febio file, to make sure you are requesting the "fiber stretch" output. It is not automatically added. See the febio users manual for details on requesting outputs.
Best,
Ariel
The Question about Pre-strain
- Marloes vdH
- Posts: 8
- Joined: Fri Nov 06, 2020 1:07 am
Re: The Question about Pre-strain
Hi dr Schwartz,
Thank you for your quick reply. The fiber stretch was included inside the output as <var type="fiber stretch"/>.
I thought this should be the way to request the fiber stretch in the output, but it didn't give any results. It seems like the PreStrain isn't applied to the fibers.
Kind Regards,
Marloes
Thank you for your quick reply. The fiber stretch was included inside the output as <var type="fiber stretch"/>.
I thought this should be the way to request the fiber stretch in the output, but it didn't give any results. It seems like the PreStrain isn't applied to the fibers.
Kind Regards,
Marloes
- Attachments
-
- Schermafbeelding 2020-11-20 om 16.38.22.png (203.28 KiB) Viewed 1804 times
- Ahmet Erdemir
- Posts: 77
- Joined: Sun Sep 10, 2006 1:35 pm
Re: The Question about Pre-strain
Dear Marloes,
Did you try by defining fiber direction outside the elastic material definition? As
<material id="11" name="acl" type="uncoupled prestrain elastic">
<density>1.5e-09</density>
<k>73.2</k>
<elastic type="trans iso Mooney-Rivlin">
<c1>1.95</c1>
<c2>0</c2>
<c3>0.0139</c3>
<c4>116.22</c4>
<c5>535.039</c5>
<lam_max>1.046</lam_max>
</elastic>
<prestrain type="in-situ stretch">
<stretch lc="1">1</stretch>
<isochoric>1</isochoric>
</prestrain>
<fiber type="local">1,4</fiber>
</material>
Did you try by defining fiber direction outside the elastic material definition? As
<material id="11" name="acl" type="uncoupled prestrain elastic">
<density>1.5e-09</density>
<k>73.2</k>
<elastic type="trans iso Mooney-Rivlin">
<c1>1.95</c1>
<c2>0</c2>
<c3>0.0139</c3>
<c4>116.22</c4>
<c5>535.039</c5>
<lam_max>1.046</lam_max>
</elastic>
<prestrain type="in-situ stretch">
<stretch lc="1">1</stretch>
<isochoric>1</isochoric>
</prestrain>
<fiber type="local">1,4</fiber>
</material>
- Marloes vdH
- Posts: 8
- Joined: Fri Nov 06, 2020 1:07 am
Re: The Question about Pre-strain
Dear Ahmet Erdemir,
I did try that, however, in 2.5 files 'fiber' is seen as a synonym for 'mat_axis'. In 3.0 files this is no longer the case. When loading it into FEBio Studio (3.0 files) it shifts into the MRTI part. I also tried to include this axes after loading the 2.5 file with the fiber outside the MRTI however, nothing seems to work... The prestretch seems to be applied on the matrix in stead of the fibers. Furthermore, when I don't fix the femur in all DOF there is a +0.2 translation in z direction (upwards) and the orientation of the fibers changes.
Besides, I had an other small question. Since the assumption of a hyperelastic material is made when using the prestrain, I suppose it will be difficult to go to a viscoelastic material.
In the end I want to simulate several gait cycles and look at the tibial cartilage stresses. Therefore, I want to include the viscoelastic behavior of the ligaments, which is time dependent, hypoelastic. I can imagine that when applying the prestrain on a viscoelastic material there will be problems with the relaxation of the material.
Is there an other possibility to apply prestrain to the material?
Kind regards,
Marloes
I did try that, however, in 2.5 files 'fiber' is seen as a synonym for 'mat_axis'. In 3.0 files this is no longer the case. When loading it into FEBio Studio (3.0 files) it shifts into the MRTI part. I also tried to include this axes after loading the 2.5 file with the fiber outside the MRTI however, nothing seems to work... The prestretch seems to be applied on the matrix in stead of the fibers. Furthermore, when I don't fix the femur in all DOF there is a +0.2 translation in z direction (upwards) and the orientation of the fibers changes.
Besides, I had an other small question. Since the assumption of a hyperelastic material is made when using the prestrain, I suppose it will be difficult to go to a viscoelastic material.
In the end I want to simulate several gait cycles and look at the tibial cartilage stresses. Therefore, I want to include the viscoelastic behavior of the ligaments, which is time dependent, hypoelastic. I can imagine that when applying the prestrain on a viscoelastic material there will be problems with the relaxation of the material.
Is there an other possibility to apply prestrain to the material?
Kind regards,
Marloes
- Ahmet Erdemir
- Posts: 77
- Joined: Sun Sep 10, 2006 1:35 pm
Re: The Question about Pre-strain
We are currently using FEBio version 2.9. We also create our models in a scripted fashion, without using PreView nor FEBio Studio. We have seen some compatibility issues importing our files to FEBio Studio, i.e. while they are compliant with FEBio file format 2.5, sometimes things are not fully recognized. I recommend you to start with a simple model. See https://simtk.org/svn/openknee/app/PrestrainExamples/ for one that works with FEBio version 2.9 and PreStrain plug in. You may want to first run this in FEBio version 2.9 and then port it to FEBio version 3 to get accustomed to format changes and make sure that you can visualize fiber stretch and prestrain stretch. You may want to reach out to Steve Maas in regard to nuances of FEBio Studio and the updated file format.
I did try that, however, in 2.5 files 'fiber' is seen as a synonym for 'mat_axis'. In 3.0 files this is no longer the case. When loading it into FEBio Studio (3.0 files) it shifts into the MRTI part.
These material models are essentially solid mixtures. There is a ground substance (matrix) and a fiber component. When you specify in situ stretch it should be applied to fiber. In the example above, it is applied in a weak way: A target overall in situ stretch is specified. However, this is allowed to adjust with the aim of decreasing deviations from geometry due to in situ stretch application. In the end, when in situ stretch is applied, the geometry is deformed (at t=1 of the simulation, fiber stretch (indicating deformation) is different than 1 and prestrain stretch (indicating both applied in situ stretch and deformation)
I also tried to include this axes after loading the 2.5 file with the fiber outside the MRTI however, nothing seems to work... The prestretch seems to be applied on the matrix in stead of the fibers.
When you apply prestrain, the ligament becomes loaded and all the material points should be in equilibrium. If you want to apply the prestrain exactly and if this is not compatible with the geometry (i.e., equilibrium is not possible at the reference geometry), it will deform the geometry (therefore your femur may move). If you want to keep geometry fixed, you need to apply pre-strain weakly, e.g. allow it to adjust while maintaining equilibrium and minimizing deformations from the reference geometry. The above example tries that. By increasing number of augmentations during in situ application, you try to reduce deviations from the reference geometry.
Furthermore, when I don't fix the femur in all DOF there is a +0.2 translation in z direction (upwards) and the orientation of the fibers changes.
I suspect that this will be possible. We never tried it but the way material properties are defined in FEBio should allow it. I guess this will be an adventure to learn from.
Besides, I had an other small question. Since the assumption of a hyperelastic material is made when using the prestrain, I suppose it will be difficult to go to a viscoelastic material.
I recommend you to read the PreStrain manual and also check https://pubmed.ncbi.nlm.nih.gov/27131609/.Is there an other possibility to apply prestrain to the material?