HyperElastic Material Modeling

Dear FEniCS user,

I have a question before start using FEniCS. I looked at the FEniCS hyperelasticity webpage and I would like to know is it possible to use FEniCS if the constant of the energy function \miu and \lambda is no longer constant and it spatial dependent? Thank you for your reply.

Regards,
Mehedi

Yes, it is possible to do that. You can take a look at this tutorial: https://fenicsproject.org/pub/tutorial/sphinx1/._ftut1005.html

1 Like

I have just gone through the exact same problem. The link provided by aditya_kumar is the right place to look. I would like to add one detail. The expression in the tutorial:

class K(Expression):
    def __init__(self, materials, k_0, k_1, **kwargs):
        self.materials = materials
        self.k_0 = k_0
        self.k_1 = k_1
    ......

needs to be used to define the strain energy function in the hyperelastic example. In order to do so, I had to modify the class definition as follows:

class K(Expression):
    def __init__(self, materials, k_0, k_1, **kwargs):
        super().__init__(kwargs)
        self.materials = materials
        self.k_0 = k_0
        self.k_1 = k_1

Otherwise the example would not compile.