FEAP User Forum
FEAP => General questions => Topic started by: vmagnier 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
-
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
-
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
-
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:
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
-
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
-
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.