Nonlinear elasticity

Numerical methods and mathematical models of Elmer
Post Reply
zhanna
Posts: 17
Joined: 15 Nov 2009, 11:56

Nonlinear elasticity

Post by zhanna »

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
zhanna
Posts: 17
Joined: 15 Nov 2009, 11:56

Re: Nonlinear elasticity

Post by zhanna »

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,
kimsongoik
Posts: 35
Joined: 14 Oct 2009, 18:55

Re: Nonlinear elasticity

Post by kimsongoik »

I’m interested in this topic too. Especially I can’t understand the following lines of Elasticsolove.src.

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
I hope somebody helps me.
Thanks a million
KimSongOik
kanuk
Posts: 14
Joined: 20 Jul 2010, 02:51

Re: Nonlinear elasticity

Post by kanuk »

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
kimsongoik
Posts: 35
Joined: 14 Oct 2009, 18:55

Re: Nonlinear elasticity

Post by kimsongoik »

Hello
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
Best wishes, KimSongOik
Post Reply