Hello Elmer team
Would you please introduce me the text reference of Elmer’s “nonlinear elasticity” module? Since there is not Elmer documentation for this module it’s getting really hard for me to understand it.
Sincerely yours,
Zhanna
Nonlinear elasticity
Re: Nonlinear elasticity
Hello Elmer team
What is the mechanical constitutive theory used for the material in Elmer’s “nonlinear elasticity” module? Is it Hyperelasticity?
Sincerely yours,
Zhanna,
What is the mechanical constitutive theory used for the material in Elmer’s “nonlinear elasticity” module? Is it Hyperelasticity?
Sincerely yours,
Zhanna,
-
- Posts: 35
- Joined: 14 Oct 2009, 18:55
Re: Nonlinear elasticity
I’m interested in this topic too. Especially I can’t understand the following lines of Elasticsolove.src.
I hope somebody helps me.
Thanks a million
KimSongOik
Code: Select all
! Gateaux derivatives of the solution with respect to the displacement:
! ---------------------------------------------------------------------
dDefGU = Grad
dStrainU = (MATMUL(TRANSPOSE(DefG),dDefGU) &
+ MATMUL(TRANSPOSE(dDefGU),DefG))/2.0D0
dStress2U = 2.0D0*Lame2*dStrainU + Lame1*TRACE(dStrainU,dim)*Identity
dStress1U = MATMUL(dDefGU,Stress2) + MATMUL(DefG,dStress2U)
! Loop over the test functions (stiffness matrix):
! ------------------------------------------------
DO p = 1,N
DO i = 1,dim
! Gateaux derivatives of the solution with respect to the test functions:
! -----------------------------------------------------------------------
dDefG = 0.0D0; dDefG(i,:) = dBasisdx(p,:)
dStrain = (MATMUL(TRANSPOSE(DefG),dDefG) &
+ MATMUL(TRANSPOSE(dDefG),DefG))/2.0D0
dStress2 = 2.0D0*Lame2*dStrain + Lame1*TRACE(dStrain,dim)*Identity
dStress1 = MATMUL(dDefG,Stress2) + MATMUL(DefG,dStress2)
ForceVector(dim*(p-1)+i) = ForceVector(dim*(p-1)+i) &
+(Basis(p)*Force(i)*DetDefG &
-DOT_PRODUCT(dBasisdx(p,:),Stress1(i,:)) &
+DOT_PRODUCT(dBasisdx(p,:),dStress1U(i,:)))*s
! Loop over the basis functions:
! ------------------------------
DO q = 1,N
DO j = 1,dim
GradBasis = 0.0D0; GradBasis(j,:) = dBasisdx(q,:)
! Newton iteration:
! -----------------
StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
= StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
+ DOT_PRODUCT(dBasisdx(q,:),dStress1(j,:))*s
! + DDOT_PRODUCT(dStress1,GradBasis,3)*s
! Fixed point iteration:
! ----------------------
! dDefG = 0.0D0; dDefG(j,:) = dBasisdx(q,:)
! dStrain = (MATMUL(TRANSPOSE(DefG),dDefG) &
! + MATMUL(TRANSPOSE(dDefG),DefG))/2.0D0
! StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
! = StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
! + DDOT_PRODUCT(dStrain,dStress2,dim)*s
END DO
END DO
END DO
END DO
Thanks a million
KimSongOik
Re: Nonlinear elasticity
I am also very interested in this.
The term "nonlinear elasticity" is ambiguous, as there are a large number of nonlinear models around.. But from the turorials I would wager a guess - Mooney-Rivelin??
I could (read: should) go through the source code, but if anyone knows it would save me some time I will post back here when/if I have time to come up with the solution.
Best,
Dave
The term "nonlinear elasticity" is ambiguous, as there are a large number of nonlinear models around.. But from the turorials I would wager a guess - Mooney-Rivelin??
I could (read: should) go through the source code, but if anyone knows it would save me some time I will post back here when/if I have time to come up with the solution.
Best,
Dave
-
- Posts: 35
- Joined: 14 Oct 2009, 18:55
Re: Nonlinear elasticity
Hello
I'll be really grateful if somebody can help me understand the following lines in the "StressCompose" subroutine:
Best wishes, KimSongOik
I'll be really grateful if somebody can help me understand the following lines in the "StressCompose" subroutine:
Code: Select all
Newton iteration:
! -----------------
StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
= StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
+ DOT_PRODUCT(dBasisdx(q,:),dStress1(j,:))*s
! + DDOT_PRODUCT(dStress1,GradBasis,3)*s
! Fixed point iteration:
! ----------------------
! dDefG = 0.0D0; dDefG(j,:) = dBasisdx(q,:)
! dStrain = (MATMUL(TRANSPOSE(DefG),dDefG) &
! + MATMUL(TRANSPOSE(dDefG),DefG))/2.0D0
! StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
! = StiffMatrix(dim*(p-1)+i,dim*(q-1)+j) &
! + DDOT_PRODUCT(dStrain,dStress2,dim)*s