J-Integral

General discussion about Elmer
raback
Site Admin
Posts: 4868
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: J-Integral

Post by raback »

Hi

You should have a local SOLVER.KEYWORDS file that includes the new keyword so that you don't need to cast the type for it in the GUI. Basically GUI assumes that all the keywords that it deals with are defined in the SOLVER.KEYWORDS.

-Peter
saxonfahrer
Posts: 38
Joined: 27 Jan 2011, 13:47

Re: J-Integral

Post by saxonfahrer »

Hi Peter,
thank you for this hint. I added the Keyword "J Integral" as "Logical" to the solver.keywords file (and deleted the <type>-thing in the xml-file).

Nevertheless: When creating the SIF-file via ELMERGUI it is still only "J integral = True". But it have to be "J Integral = Logical True". What can i change in the keywords-file (or elsewhere) to get this correct by use of ElmerGUI?

Code: Select all

Boundary Condition 4
  Target Boundaries(1) = 33
  Name = "J-Integral"
  J Integral = True
End
Please find attached my project and the solver.keywords, dll and xml file to get the project running.

Thank you very much.
Attachments
Test_J-Integral_with_ELMERGUI.zip
(524.9 KiB) Downloaded 517 times
raback
Site Admin
Posts: 4868
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: J-Integral

Post by raback »

Hi

ElmerGUI never writes the type "Logical". Nor should your goal be to write "Logical True". Instead your updated SOLVER.KEYWORDS file should ensure that ElmerSolver knows the type of the "J Integral" keyword even though the type is not given.

-Peter
annier
Posts: 1169
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: J-Integral

Post by annier »

Hi,
I have run the Elasticity solver by jumping into the directory Jintegral and typing the following command:

Code: Select all

$elmerf90 -o Jintegral.so Jintegral.f90

Code: Select all

$ElmerSolver
The simulation result of ElmerSolver(Elmer) using the Jintegral subroutine is as following:
1. VonMises Stress
VonMises_Stress
VonMises_Stress
simulation_result1.jpg (94.1 KiB) Viewed 6562 times
2.Displacement
Displacement
Displacement
simulation_result2.jpg (117.7 KiB) Viewed 6562 times
A lecture note on J-integral is given here.

Notes:
1. The operating system is Ubuntu 14.04.
2. The Elmer has been installed using Cmake.

Yours
Anil Kunwar
Last edited by annier on 14 Feb 2015, 20:05, edited 3 times in total.
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
raback
Site Admin
Posts: 4868
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: J-Integral

Post by raback »

Hi

You could have a local copy of SOLVER.KEYWORDS including the J-integral keyword. Otherwise it is difficult to make ElmerGUI to save the "Logical". You could make it of type String and give a value "Logical True" as input but this is not pretty...

-Peter
annier
Posts: 1169
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: J-Integral

Post by annier »

raback wrote: Generalization into 3D should be pretty straight-forward. Few minutes of coding if you know what to do - and of course indefinite time if coding with Elmer is new ;-)
Hi Peter,
In the reference_1 and reference_2, the J-value for 3D model has been described by the following formula
Equation for J-integral in 3D
Equation for J-integral in 3D
J-integral_in_3D.png (9.07 KiB) Viewed 6558 times
where, m=1,2,3; L represents line integral and A represents surface integral.

How can the components of the equation be incorporated in the Jintegral.f90 for expressing it in 3D? The terms for line integral is the same as that mentioned for 2D model when m=1. How do we consider for m=2,3 ? How do we put the displacement term delta in the term for surface integral?

Code: Select all

       ! Stress components at integration point 
       Sxx = SUM( Basis(1:n) * NodalSxx(1:n) )
       Syy = SUM( Basis(1:n) * NodalSyy(1:n) )
       Szz = SUM( Basis(1:n) * NodalSzz(1:n) )
       Sxy = SUM( Basis(1:n) * NodalSxy(1:n) )
       Syz = SUM( Basis(1:n) * NodalSyz(1:n) )
       Sxz = SUM( Basis(1:n) * NodalSxz(1:n) )
       
       ! Strain components at integration point
       Exx = SUM( Basis(1:n) * NodalExx(1:n) )
       Eyy = SUM( Basis(1:n) * NodalEyy(1:n) )
       Ezz = SUM( Basis(1:n) * NodalEzz(1:n) )
       Exy = SUM( Basis(1:n) * NodalExy(1:n) )
       Eyz = SUM( Basis(1:n) * NodalEyz(1:n) )
       Exz = SUM( Basis(1:n) * NodalExz(1:n) )
       
       ! Displacements at the integration point
       U1x = SUM( dBasisdx(1:n,1) * NodalU1 )
       U2x = SUM( dBasisdx(1:n,1) * NodalU2 )
       U3x = SUM( dBasisdx(1:n,1) * NodalU3 )
       
       ! Strain energy and traction at the integration point
       Wenergy = ( Sxx*Exx + Syy*Eyy + Szz*Ezz + Sxy*Exy + Syz*Eyz + Sxz*Exz) / 2
       Traction(1) = Sxx*Normal(1) + Sxy*Normal(2) + Sxz*Normal(3)
       Traction(2) = Sxy*Normal(1) + Syy*Normal(2) + Syz*Normal(3)
       Traction(3) = Sxz*Normal(1) + Syz*Normal(2) + Szz*Normal(3)
Yours
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1169
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: J-Integral

Post by annier »

Hi All,
I have written some descriptive words for the J-integral code written by Peter. The implementation of J-integral subroutine in Elmer has been explained in this attached document.


Yours
Anil Kunwar
Attachments
J-integral_subroutine_implementation_in_Elmer.pdf
Description for J-integral subroutine written by Peter Raback
(92.86 KiB) Downloaded 758 times
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1169
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: J-Integral

Post by annier »

Hi Peter,
How do we define the boundaries (around the crack tip) in the geometry and mesh?
Are the crack within the closed loop and the remaining domain two different bodies of same material?


Yours Sincerely
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1169
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: J-Integral

Post by annier »

Hi All,
What is the region of crack tip in a Finite Element Model geometry?
If i draw a circular crack in a domain and pointed crack in the domain, how would the closed loop for J integral computation (Mode - I) go around the crack tip?


Yours Sincerely
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1169
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: J-Integral

Post by annier »

Hi,
In the run of the solver test file for J-integral, the following results are shown after the computation:

Code: Select all

Jintegral: Jintegral:    4.872E+01
Jintegral: Line length:    2.800E+00


What does the Line length indicate ?


Yours Sincerely
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Post Reply