Page 2 of 2

Re: J-Integral

Posted: 11 Nov 2014, 19:16
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

Re: J-Integral

Posted: 12 Nov 2014, 10:51
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.

Re: J-Integral

Posted: 12 Nov 2014, 11:46
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

Re: J-Integral

Posted: 13 Feb 2015, 21:29
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 6560 times
2.Displacement
Displacement
Displacement
simulation_result2.jpg (117.7 KiB) Viewed 6560 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

Re: J-Integral

Posted: 13 Feb 2015, 21:38
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

Re: J-Integral

Posted: 14 Feb 2015, 23:40
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 6556 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

Re: J-Integral

Posted: 15 Feb 2015, 14:43
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

Re: J-Integral

Posted: 17 Jun 2015, 09:59
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

Re: J-Integral

Posted: 19 Jun 2015, 09:40
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

Re: J-Integral

Posted: 21 Jun 2015, 17:35
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