Dear developers,
I realize that svFSI currently supports three different material models: St. Venat-Kirchoff, modified St. Venant-Kirchoff, and Neo-Hookean.
The model used for deformable wall simulations in SimVascular is a linear elastic model (if I understand correctly:)).
In principle, it should be very straightforward to include the Skalak model (a popular strain-hardening model for 2D membrane) since the vessel wall in SimVascular is also modeled as a very thin wall (2D membrane). However, It appears to me that I myself as just a user cannot do it.
Is there any possibility to include other material models (especially the Skalak model which I do need) into the svFSI?
Best regards,
Haifeng
Possible to use other material models?
- David Parker
- Posts: 1747
- Joined: Tue Aug 23, 2005 2:43 pm
Re: Possible to use other material models?
Hi Haifeng,
Adding another material model to svFSI requires adding a new function to the file Code/Source/svFSI/MATMODELS.f and calling it from Code/Source/svFSI/STRUCT.f. You would also need to modify other parts of the code to read in the material parameters.
Cheers,
Dave
Adding another material model to svFSI requires adding a new function to the file Code/Source/svFSI/MATMODELS.f and calling it from Code/Source/svFSI/STRUCT.f. You would also need to modify other parts of the code to read in the material parameters.
Cheers,
Dave
- Vijay Vedula
- Posts: 63
- Joined: Mon Feb 09, 2015 1:27 pm
Re: Possible to use other material models?
Hi Haifeng,
Additionally, the new svFSI code allows you to choose Mooney-Rivlin model, transversely isotropic Guccione model and orthotropic models HGO (for arteries) and Holzapfel & Ogden (for myocardium) for solids.
Regarding the Skalak model, I believe you are talking about the one proposed in 1973 for red blood cells. This is fundamentally different from the above models as Skalak model is applied for membrane like structures while the above models are for solids. There are two ways to treat membrane/shell model in svFSI: (a) analogous to coupled momentum method (CMM) but replacing the linear material model with the Skalak model, but the validity of the original assumptions used in developing CMM need to be carefully assessed; (b) implement this as a stand alone non-linear membrane/shell model and use ALE approach to do FSI.
For implementing (a), you need to primarily modify sections of the code CMM.f related to stiffness matrix computation (see subroutine CMM_STIFFNESS). Other areas of code such as MOD.f, READFILES.f and DISTRIBUTE.f may need modification if you are reading additional parameters and sharing them to all processes. For (b), we have a non-linear Kirchhoff's thin shell model implemented using St.Venant-Kirchhoff constitutive model (see SHELLS.f) which also takes bending strains into account. However, FSI using ALE approach for shell model is not available yet and we plan to add this in near future. If you decide to choose ALE approach for your problem, then sections of SHELLS.f need to be modified for Skalak model and we need to derive the equations (membrane and bending strains, and associated tangent matrices) again.
Whatever option you choose, please let us know. We welcome outside contributions to our code and can help you with the implementation.
Thanks,
Vijay
Additionally, the new svFSI code allows you to choose Mooney-Rivlin model, transversely isotropic Guccione model and orthotropic models HGO (for arteries) and Holzapfel & Ogden (for myocardium) for solids.
Regarding the Skalak model, I believe you are talking about the one proposed in 1973 for red blood cells. This is fundamentally different from the above models as Skalak model is applied for membrane like structures while the above models are for solids. There are two ways to treat membrane/shell model in svFSI: (a) analogous to coupled momentum method (CMM) but replacing the linear material model with the Skalak model, but the validity of the original assumptions used in developing CMM need to be carefully assessed; (b) implement this as a stand alone non-linear membrane/shell model and use ALE approach to do FSI.
For implementing (a), you need to primarily modify sections of the code CMM.f related to stiffness matrix computation (see subroutine CMM_STIFFNESS). Other areas of code such as MOD.f, READFILES.f and DISTRIBUTE.f may need modification if you are reading additional parameters and sharing them to all processes. For (b), we have a non-linear Kirchhoff's thin shell model implemented using St.Venant-Kirchhoff constitutive model (see SHELLS.f) which also takes bending strains into account. However, FSI using ALE approach for shell model is not available yet and we plan to add this in near future. If you decide to choose ALE approach for your problem, then sections of SHELLS.f need to be modified for Skalak model and we need to derive the equations (membrane and bending strains, and associated tangent matrices) again.
Whatever option you choose, please let us know. We welcome outside contributions to our code and can help you with the implementation.
Thanks,
Vijay
- Haifeng Wang
- Posts: 14
- Joined: Tue Aug 01, 2017 3:22 am
Re: Possible to use other material models?
Hi Vijay,
many thanks for your detailed response!
I will back to you when I have further questions in this regard.
Cheers,
Haifeng
many thanks for your detailed response!
I will back to you when I have further questions in this regard.
Cheers,
Haifeng