|
[Sponsors] |
June 16, 2017, 04:09 |
Hyperelastic models implementation
|
#1 |
New Member
Behzad Taghilou
Join Date: Jul 2016
Posts: 7
Rep Power: 10 |
Hello,
My question is about how a hyperelastic model can be implemented in foam-extend? The displacement gradient is needed in hyperelastic models. I was starting with other rheology laws such as PronyViscoelastic model but in this model ((fvc::gradU)) is not used. When I define deformation gradient tensor from volTensorField class I get errors. Could anyone provide me the solution? Thanks a lot Last edited by Behzad Taghilou; June 16, 2017 at 16:21. |
|
June 19, 2017, 09:11 |
|
#2 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi,
if I get it right, you need the displacement field in the hyperelastic model, right? To do that, you can get access to the displacement field using the openfoam database. However, you have to be sure that this field exist, otherwise you will just get an runtime error. Within your own model, you have access to the regIOobjects like: Code:
volVectorField Displacement_ = this->db().lookupObject<volVectorField>("D");
__________________
Keep foaming, Tobias Holzmann |
|
June 19, 2017, 17:54 |
|
#3 |
New Member
Behzad Taghilou
Join Date: Jul 2016
Posts: 7
Rep Power: 10 |
Dear Tobias,
I imagine that I should define a elastic modulus (E) which is a function of the left Cauchy-Green deformation tensor (B). In PronyViscoelastic.C file, the elastic modulus is a function of time.In $FOAM_SOLVERS/solidMechanics/deprecatedSolvers/materialModels/rheologyModel/rheologyLaws/PronyViscoelastic/PronyViscoelastic.C The part of the definition of prony series is: Code:
Foam::tmp<Foam::volScalarField> Foam::PronyViscoelastic::E(scalar t) const { scalar E = 0.0; E = k_[0]; for (int i=1; i<k_.size(); i++) { E += k_[i]*exp(-t/tau_[i]); } if (t < 0) { E = 0; } So if the left Cauchy-Green deformation tensor is accessible then how can I define a elastic modulus depending on it? After all I'm not sure that this is the true way to define a hyperelastic material. If you have any solution tricks please let me know to do. Bests |
|
June 25, 2019, 06:30 |
|
#4 | |
Member
Emad Tandis
Join Date: Sep 2010
Posts: 77
Rep Power: 16 |
Quote:
Dear Behzad, I got interested in your explanation for hyperelastic material. I have implemented a Neo-Hookean constitutive model and want to extend it for mooney-rivlon material by calculating elasticity (E) as a function of B. So, please let me now if you could implement your idea. |
||
Tags |
foam-extend, hyperelastic |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Two-fluid models vs mixture models for bubbly flows | Hansong Tang | Main CFD Forum | 6 | December 8, 2009 04:21 |
Implementation of New models in FLuent | Najiha | Fluent UDF and Scheme Programming | 1 | May 24, 2009 15:56 |
How can I use a model's outlet as another model's inlet?? | jimmer | STAR-CD | 1 | May 4, 2009 12:25 |
Turbulence models implementation | vinz | OpenFOAM Running, Solving & CFD | 29 | April 29, 2008 11:28 |
MODELS | Murthy V N | FLUENT | 0 | February 9, 2008 02:48 |