FEAP User Forum
FEAP => nurbFEAP => Topic started by: leeyongjae89 on February 15, 2017, 11:06:48 AM
-
Dear feap team,
This is a question about CONTact command with Nurb mesh.
Any stress, strain and displacements do not occur in the structure.
I guess RIGID SURFace 1 and the other surfaces are not contacted.
I can't find the reason. Could you help me.
Meshing is started in 'ifull3d' which is the coarsest mesh.
And by using input file 'i2' and 'i3', elevation is done, (up to here, I have no question, the elevation is successful)
and then CONTact command and RIGID surface command is added to the 'i3' file in the end of the file.
below is about Contact command
SURFACE 1
RIGID
FUNCTION CART 1,-1.00000000E+01,1,2 !the outer radius of the circle is 10.0
SURFace 2.
QUAD
BLOCk SEGMent ! nodes :46-20-21-47
1. -10.00 5.00000000 0.00000000 !
2. -10.00 0.00000000 0.00000000 !
3. -10.00 0.00000000 5.85786438 !
4. -10.00 5.00000000 5.85786438 !
SURFace 3.
QUAD
BLOCk SEGMent ! nodes :47-21-22-48
1. -1.00000000E+01 5.00000000E+00 5.85786438E+00 !
2. -1.00000000E+01 0.00000000E+00 5.85786438E+00 !
3. -5.85786438E+00 0.00000000E+00 1.00000000E+01 !
4. -5.85786438E+00 5.00000000E+00 1.00000000E+01 !
SURFace 4.
QUAD
BLOCk SEGMent ! nodes :45-19-20-46
1. -1.00000000E+01 5.00000000E+00 -5.85786438E+00 !
2. -1.00000000E+01 0.00000000E+00 -5.85786438E+00 !
3. -1.00000000E+01 0.00000000E+00 0.00000000E+00 !
4. -1.00000000E+01 5.00000000E+00 0.00000000E+00 !
SURFace 5.
QUAD
BLOCk SEGMent ! nodes :44-18-19-45
1. -5.85786438E+00 5.00000000E+00 -1.00000000E+01 !
2. -5.85786438E+00 0.00000000E+00 -1.00000000E+01 !
3. -1.00000000E+01 0.00000000E+00 -5.85786438E+00 !
4. -1.00000000E+01 5.00000000E+00 -5.85786438E+00 !
RIGID surface is located -10.0 in negative side of axis 1
The plane(normal)vector's direction is 1
(I upload some drawing, to make it easy to understand)
PAIR commands were added as well.(but I think that troubles do not occur in this step)
PAIR 1.
NTOR 2. 1.
SOLM PENAlty 2.e7 2.e7
AUGMent
PAIR 2.
NTOR 3. 1.
SOLM PENAlty 2.e7 2.e7
AUGMent
PAIR 3.
NTOR 4. 1.
SOLM PENAlty 2.e7 2.e7
AUGMent
PAIR 4.
NTOR 5. 1.
SOLM PENAlty 2.e7 2.e7
AUGMent
end contact
#Please let me know which line should be corrected in the input files.
-
Basically you cannot do contact with any of the nodal based algorithms -- the "nodes" are the "control points" which do not lie on the surface so any contact would be meaningless. There are some prototype algorithms in the ./nurbfeap/contact/celmt05 and celmt06 directories you might try.
The surfaces are described off nurb blocks: e.g.,
surface 1
nurb nf,3
nfac,,3
surface 2
nurb nf,1
nfac,,6
pair 1
nur3 1 2
solm penalty 1e6,,2
is a basic type of input used for the contact. You will have to experiment to get things right -- these are not fully developed modules and have been provided by others.
-
professor,
Is there any programmer manuals for NURBs contact?
-
I am sorry that presently there is no programming manual for the iga contact.
The contact for 3-d is in ./contact/celmt06 and is called type 'nur3'. The surfaces are usually defined from those of the input mesh nurbs patches. I attach a file that was prepared by a use that can help you define the contact.
Generally, you can define a rigid surface as a nurbs patch in which all the dof's are fixed.
-
Dear all,
I am working on a contact problem in nurbFEAP.
I have the following questions for a part of my geometry:
!********************
!*** KNOT VECTORS ***
!********************
KNOTs
open 1 6 0.00000000 0.00000000 0.00000000 1.00000000 1.00000000 1.00000000
open 2 6 0.00000000 0.00000000 0.00000000 1.00000000 1.00000000 1.00000000
open 3 6 0.00000000 0.00000000 0.00000000 1.00000000 1.00000000 1.00000000
!**********************
!*** CONTROL POINTS ***
!**********************
NURBs coordinates
1 0 0.000000000000 2.500000000000 -5.000000000000 1.000000000000
2 0 0.000000000000 2.500000000000 0.000000000000 1.000000000000
3 0 0.000000000000 2.500000000000 5.000000000000 1.000000000000
4 0 2.500000000000 2.500000000000 -5.000000000000 0.707106781187
5 0 2.500000000000 2.500000000000 0.000000000000 0.707106781187
6 0 2.500000000000 2.500000000000 5.000000000000 0.707106781187
7 0 2.500000000000 0.000000000000 -5.000000000000 1.000000000000
8 0 2.500000000000 0.000000000000 0.000000000000 1.000000000000
9 0 2.500000000000 0.000000000000 5.000000000000 1.000000000000
10 0 0.000000000000 2.750000000000 -5.000000000000 1.000000000000
11 0 0.000000000000 2.750000000000 0.000000000000 1.000000000000
12 0 0.000000000000 2.750000000000 5.000000000000 1.000000000000
13 0 2.750000000000 2.750000000000 -5.000000000000 0.707106781187
14 0 2.750000000000 2.750000000000 0.000000000000 0.707106781187
15 0 2.750000000000 2.750000000000 5.000000000000 0.707106781187
16 0 2.750000000000 0.000000000000 -5.000000000000 1.000000000000
17 0 2.750000000000 0.000000000000 0.000000000000 1.000000000000
18 0 2.750000000000 0.000000000000 5.000000000000 1.000000000000
19 0 0.000000000000 3.000000000000 -5.000000000000 1.000000000000
20 0 0.000000000000 3.000000000000 0.000000000000 1.000000000000
21 0 0.000000000000 3.000000000000 5.000000000000 1.000000000000
22 0 3.000000000000 3.000000000000 -5.000000000000 0.707106781187
23 0 3.000000000000 3.000000000000 0.000000000000 0.707106781187
24 0 3.000000000000 3.000000000000 5.000000000000 0.707106781187
25 0 3.000000000000 0.000000000000 -5.000000000000 1.000000000000
26 0 3.000000000000 0.000000000000 0.000000000000 1.000000000000
27 0 3.000000000000 0.000000000000 5.000000000000 1.000000000000
1) I defined the inner surface for the above geometry as follows:
!******************
!*** PATCH DATA ***
!******************
NPATch, 1
SOLId 1 3 3 3 1 2 3
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
19 20 21
22 23 24
25 26 27
NPATCH
SURFACE 1 3 3 3 1 2 3
1 2 3
4 5 6
7 8 9
Is my definition for inner surface correct?
2) How to define contact in polar coordinates
Thanks,
Chandra
-
THe NPATch for a surface is wrong. Look at the manual for correct input
-
Dear Prof. Taylor,
Thanks for the reply, I have corrected my input file.
I have another query: Is there a possibility to merge surfaces from different patches into one surface.
Regards,
Chandra
-
No, not in ver8.4. In the next release there will be some features to do this -- but not for contact surfaces at present.
-
Thank you Professor for your reply.
-
Dear all,
I am trying to perform cylinder-cylinder contact problem in nurbFEAP.
I experimented with different combinations but am still unable to avoid penetration.
Example code:
contact on
surface 1
nurb nf,1
nfac,,5
surface 2
nurb nf,2
nfac,,2
pair 1
nur3 1 2
solm penalty 1e6,,0
augm
quadrature,,2,2
end contact
It would really help if there is a clarification on these:
1. What is the role of 'norm minus'
2. what do 1e6,,0 in 'solm penalty 1e6,,0' mean
I am also attaching my input file for your reference, can you please tell me the error in my input file.
Warm Regards,
Chandra
P.S: I defined my mesh using NPATCH instead of NBLOCK
-
Can you simplify the problem so we start with only one quadrant of the cylinders. That will allow us to construct the surfaces and the contact in a manner that we can explain all the steps, including issues of the normal to surfaces. Also we can start to refine the meshing so that the contact can perform more reliably between the two objects.
-
Dear Prof. Taylor,
Thanks for the suggestion and support. I shall still simplify it to one quadrant of cylinders.
My goal is to achieve contact between stent geometry and a blood vessel.
Warm Regards,
Chandra
-
Dear Prof. Taylor,
I modified the geometry to be one quadrant of cylinder and I constructed surfaces with appropriate master/slave surfaces.
The issue with penetrating surfaces still exist. Can you please let me know how to define norm and penalty parameters correctly.
Modified contact code:
contact on
surface 1
nurb nf,1
nfac,,5
surface 2
nurb nf,2
nfac,,2
norm minus
pair 1
nur3 1 2
solm penalty 1e6,,0
augm
quadrature,,2,2
end contact
inter
batch
prop,,1
dt,,0.60
loop,time,20
time
loop,,10
augm
loop Newton 100
tang,,1
next Newton
next
dt,,0.01
npvi,ts,2,3
next Time
end
I am also forwarding the input file for your reference. It would really help me if you can point out the error in my input file.
Warm Regards,
Chandra
-
The attached file works. The main problem was to add boundary conditions and displacements in the main set up; also to reverse the location of the negative sign (probably it is needed for any surface > 3). The shape of the inside quadrant is not a cylinder and with the outside part fixed it is necessary to stop the analysis before pressing too hard. I also increased the number of qudrature points for contact -- it may be too high.
Now if you complete the full objects it is recomended you use a single knot vector for all four quadrants.
e.g.; 0 0 0 1 1 2 2 3 3 4 4 4
and then also the side all around the object (with a tie to close). This should keep your contact surfaces together too. Eventually, you will need to refine the mesh in all directions to gain accuracy.
-
Dear Prof. Taylor,
I now see my error, a big thanks for your time. I can now proceed further with my problem.
I shall post the example files for other users after I complete them.
Warm Regards,
Chandra
-
Dear all,
I am working on contact problem between two cylinders in NURBFEAP(84).
For a simple case I am unable to acheive contact, I get a segmentation error.
I am sharing the file with you, it would be great if you can give me insights on it.
Regards,
Chandra
-
Unfortunately, once you no longer use the block commands you cannot specify contact surfaces the way you did, feap does not know what a surface type is. You will have to define the surfaces as elements (facets) that feap can understand.
In future, you should look at the output file (Oxxxxx) file to make sure you have good data. You can also check that there are contact surfaces using the PLOT PAIR command.
-
Thanks for the clarification Prof. Taylor. I defined it as per the earlier version and it was working well. I shall try to debug the difference.
-
Dear Prof. Taylor,
I am working on a stent geometry which has multiple master patches enforcing contact on a slave cylinder.
Is there an elegant way of selecting the correct facet number for each individual patch of stent that should come in contact with inner surface of cylinder.
If I have to develop a code, can you please suggest me an approach to start with.
Warm Regards,
Chandra