Hyperelastic models implementation
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 |
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"); |
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 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 |
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. |
All times are GMT -4. The time now is 01:19. |