Author Topic: 3D Contact? Howto?  (Read 7600 times)

vmagnier

  • New Member
  • *
  • Posts: 3
3D Contact? Howto?
« on: January 24, 2013, 06:51:30 AM »
Hi,

I would like to know if it is possible to do a 3D contact with feap 8.2 and if it's possible, how can i do?
I try to execute the following code and the message returned is "*ERROR* CRSURF: Reading data for SURFACE     1  Unrecognized data for command:"

Someone can help me?

Code:
feap * * 3-d block for contact test 1/24/2013
  0 0 0 3 3 4

para
   ee = 1000.0
   nu = 0.2

material 1
    solid
    elastic isotropic ee nu

material 2
    solid
    elastic isotropic ee*1000. nu

parameter
  a = 9.6
  n = 5

block
  cart n n n, , ,1,11
    1 0 0 0
    2 a 0 0
    3 a a 0
    4 0 a 0
    5 0 0 a/2
    6 a 0 a/2
    7 a a a/2
    8 0 a a

block
  cart n n n, , ,2,11
    1 0 0 0
    2 10.0 0 0
    3 10.0 10.0 0
    4 0 10.0 0
    5 0 0 -10.0/2
    6 10.0 0 -10.0/2
    7 10.0 10.0 -10.0/2
    8 0 10.0 -10.0/2

ebou
3 -10.0 1 1 1
3 a     1 1 1

edis
3 a     0 0 -0.1

end

contact

surface 1
tria
block cart
1 0.0 0.0 0.0
2 9.6 0.0 0.0
3 9.6 9.6 0.0
4 0.0 9.6 0.0

surface 2
tria
block cart
1 0 0 0
2 0 10.0 0
3 10.0 10.0 0
4 10.0 0 0

pair,1
ntos 1 2
solm,lagm

end,contact

batch
loop,contact,10
contact,check
loop,newton,10
tang,,1
next,newton
next,contact
end

inter

stop

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: 3D Contact? Howto?
« Reply #1 on: January 25, 2013, 09:36:26 AM »
Check the manual for the correct option on the contact surface block commands -- probably 'segment' instead of 'cart'

As a rule, you should do your problem in steps.  First make sure the blocks are what you want -- using tets is not necessarily the best choice, since many of the build in elements are not robust for 4-node tets.  After the blocks are what you want then input the contact data.  If that succeeds plot what you have and use 'plot pair' to see the contact surfaces generated.  Finally, you are then able to solve the problem.

Include your mesh as an attachment and we can check more

vmagnier

  • New Member
  • *
  • Posts: 3
Re: 3D Contact? Howto?
« Reply #2 on: January 31, 2013, 07:32:31 AM »
Thank you Pr Taylor for your advice that allowed me to go further.

However, another error occurs and prevents me from solving the system:

   *WARNING* Length allocation for:CTEM1 Length =                    0
*** glibc detected *** ./feap82: malloc(): memory corruption: 0x00000000013350c0 ***

Someone can try the following code to check it:

feap * * 3-d block for contact test 1/24/2013
  0 0 0 3 3 8

para
   ee = 1000.0
   nu = 0.2

material 1
    solid
    elastic isotropic ee nu

material 2
    solid
    elastic isotropic ee*1000. nu

parameter
  a = 9.6
  n = 5

block
  cart n n n, , ,1
    1 0 0 0
    2 a 0 0
    3 a a 0
    4 0 a 0
    5 0 0 a/2
    6 a 0 a/2
    7 a a a/2
    8 0 a a

block
  cart n n n, , ,2
    1 0 0 0
    2 10.0 0 0
    3 10.0 10.0 0
    4 0 10.0 0
    5 0 0 -10.0/2
    6 10.0 0 -10.0/2
    7 10.0 10.0 -10.0/2
    8 0 10.0 -10.0/2

ebou
3 -10.0/2 1 1 1
3 a/2     1 1 1

edis
3 a/2     0 0 -0.1

end

contact

surface 1
quad
block segment
1 0.0 0.0 0.0
2 9.6 0.0 0.0
3 9.6 9.6 0.0
4 0.0 9.6 0.0

surface 2
quad
block segment
1 0 0 0
2 0 10.0 0
3 10.0 10.0 0
4 10.0 0 0

pair,1
ntos 1 2
solm,lagm

end,contact

batch
loop,contact,10
contact,check
loop,newton,10
tang,,1
next,newton
next,contact
end

inter

stop

FEAP_Admin

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 993
Re: 3D Contact? Howto?
« Reply #3 on: January 31, 2013, 08:22:03 PM »
Forget contact, first make sure your mesh is correct.

If you try to run this even without contact you will see that it fails.  The reason is that you have not carefully followed the node numbering order specified in the manual.  In particular this block is incorrect:
Code: [Select]
block
  cart n n n, , ,2
    1 0 0 0
    2 10.0 0 0
    3 10.0 10.0 0
    4 0 10.0 0
    5 0 0 -10.0/2
    6 10.0 0 -10.0/2
    7 10.0 10.0 -10.0/2
    8 0 10.0 -10.0/2

vmagnier

  • New Member
  • *
  • Posts: 3
Re: 3D Contact? Howto?
« Reply #4 on: February 11, 2013, 04:34:57 AM »
Thank you a lot for your explanation.
At this step, my code works when i take a hexadrea mesh but when I try to use a tetrahedra mesh, it doesn't work. Indeed I have a core dumped message.
Anyone can help me? Please to find the associated code:

feap * * 3-d block for contact test 1/24/2013
  0 0 0 3 3 4

para
   ee = 1000.0
   nu = 0.2

material 1
    solid
    elastic isotropic ee nu

material 2
    solid
    elastic isotropic ee*1000. nu

parameter
  L = 2*9.6
  a = 9.6
  b1= -(L-9.6)/2
  b2=  (L+9.6)/2
  n = 5

block
  cart n n n, , ,1,11
    1 0 0 0
    2 a 0 0
    3 a a 0
    4 0 a 0
    5 0 0 a/2
    6 a 0 a/2
    7 a a a/2
    8 0 a a/2

block
  cart 2*n 2*n 2*n, , ,2,11
    1 b1 b1 -5.0
    2 b2 b1 -5.0
    3 b2 b2 -5.0
    4 b1 b2 -5.0
    5 b1 b1 0.0
    6 b2 b1 0.0
    7 b2 b2 0.0
    8 b1 b2 0.0

ebou
3 -5.0 1 1 1
3 a/2  1 1 1

edis
3 a/2 0 0 -0.1

end

contact

surface 1
tria
block segment
1 0.0 0.0 0.0
2 a   0.0 0.0
3 a   a   0.0
4 0.0 a   0.0

surface 2
tria
block segment
1 b1 b1 0.0
2 b1 b2 0.0
3 b2 b2 0.0
4 b2 b1 0.0

pair,1
ntos 1 2
solm,lagm

end,contact

batch
loop,contact,10
contact,check
loop,newton,10
tang,,1
next,newton
next,contact
end

inter

batch
plot,postscript
plot,pers
plot,hide
plot,axis
plot,cont,3
plot,postscript
end

inter

stop




Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: 3D Contact? Howto?
« Reply #5 on: February 13, 2013, 10:40:52 PM »
First start with a problem that has only a few nodes and elements.

If you set up and run your problem and look at the output file you will notice that it says facets must be quadrilaterals.  Unfortunately at the time we do not support all the element shapes, however, you may be able to get an execution by making the 'triangle' think it is a 'quadrilateral' by repeating the last node number on the facet.

Try this to see if it works. 

You will need to patch the files by hand by running the problem as you have set up now.  Then open the output file and get the facet numbers for each surface and enter into your file using the 'facet' optioin. Repeat the last node on each facet to get a 4-node facet.

See if this works.

If it works then you can modify the coding for the facets to get this automatically, since will not want to repeat the process for general meshes.