# Elasticity neo-Hookean material

**URL:** https://community.freefem.org/t/elasticity-neo-hookean-material/1505
**Category:** General Discussion
**Created:** [February 17, 2022, 4:34pm UTC](https://community.freefem.org/t/elasticity-neo-hookean-material/1505 "2022-02-17T16:34:14Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![amir](https://avatars.discourse-cdn.com/v4/letter/a/c37758/32.png) [@amir](https://community.freefem.org/u/amir)
#### Post date: [February 17, 2022, 4:34pm UTC](https://community.freefem.org/t/elasticity-neo-hookean-material/1505/1 "2022-02-17T16:34:14Z")

</div>

Hi,  
There is an error in the following code.  
Would you please help me with how I can fix it??  
As far as I understood, the error belongs to F11 and F22, but I don’t know why there are errors!

border a1(t=0,20){x=t;y=-1;label=1;}; //Lower side  
border a2(t=-1, 1){x=20;y=t;label=2;}; //Right side  
border a3(t=0,20){x=20-t;y=1;label=3;}; //Upper side  
border a4(t=-1,1){x=0;y=-t;label=4;}; //Left side

mesh TD=buildmesh(a1(50)+a2(50)+a3(50)+a4(50));

plot(TD);

fespace Vh(TD,P2);

Vh u,v,uh,vh;

real E = 21e5, nu = 0.3;  
real lambda = E_nu/((1+nu)_(1-2_nu)), mu= E/(2_(1+nu));  
real f = -1;  
real C1 = mu/2, D1 = lambda/2;

//--------------------------------------------------------------  
// epsilon  
macro epsilon11(u,v) dx(u) //  
macro epsilon12(u,v) (dx(v)+dy(u))/2 //  
macro epsilon21(u,v) (dx(v)+dy(u))/2 //  
macro epsilon22(u,v) dy(v) //

//--------------------------------------------------------------  
// grad  
macro grad11(u,v) (dx(u)) //  
macro grad21(u,v) (dy(u)) //  
macro grad12(u,v) (dx(v)) //  
macro grad22(u,v) (dy(v)) //

//--------------------------------------------------------------  
// F  
macro F11(u,v) (1.0+grad11(u,v))//  
macro F12(u,v) grad12(u,v)//  
macro F21(u,v) grad21(u,v)//  
macro F22(u,v) (1.0+grad22(u,v))//

//--------------------------------------------------------------  
// b  
macro b11(u,v) F11(u,v)\*F11(u,v)+F12(u,v)\*F12(u,v) //  
macro b12(u,v) F11(u,v)\*F21(u,v)+F12(u,v)\*F22(u,v) //  
macro b21(u,v) F21(u,v)\*F11(u,v)+F22(u,v)\*F12(u,v) //  
macro b22(u,v) F21(u,v)\*F21(u,v)+F22(u,v)\*F22(u,v) //

//--------------------------------------------------------------  
macro J(u,v) (F11(u,v)\*F22(u,v)-F12(u,v)\*F21(u,v)) //

//--------------------------------------------------------------  
// sigma  
macro sigma11(u,v) 2_C1_(1/J(u,v))_b11(u,v)-1+2_D1\*(J(u,v)-1)_1 //  
macro sigma12(u,v) 2_C1\*(1/J(u,v))_b12(u,v) //  
macro sigma21(u,v) 2_C1\*(1/J(u,v))_b21(u,v) //  
macro simga22(u,v) 2_C1\*(1/J(u,v))_b22(u,v)-1+2_D1\*(J(u,v)-1)\*1 //

//--------------------------------------------------------------  
problem neohookean([u,v],[uh,vh])=  
int2d(TD)(sigma11(u,v)\*epsilon11(uh,vh)  
+sigma12(u,v)\*epsilon12(uh,vh)  
+sigma21(u,v)\*epsilon21(uh,vh)  
+sigma22(u,v)_epsilon22(uh,vh))  
-int2d(TD)(f_vh) + on(4,u=0,v=0);
