Author Topic: CONTact code with NURB  (Read 24958 times)

leeyongjae89

  • Jr. Member
  • **
  • Posts: 24
CONTact code with NURB
« 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
Code: [Select]
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)
Code: [Select]
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.


« Last Edit: February 15, 2017, 11:12:13 AM by leeyongjae89 »

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: CONTact code with NURB
« Reply #1 on: February 15, 2017, 05:23:58 PM »
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.



leeyongjae89

  • Jr. Member
  • **
  • Posts: 24
Re: CONTact code with NURB
« Reply #2 on: February 27, 2017, 04:49:36 PM »
professor,
Is there any programmer manuals for NURBs contact?

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: CONTact code with NURB
« Reply #3 on: March 03, 2017, 08:59:52 AM »
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. 


Schandra

  • Full Member
  • ***
  • Posts: 82
Re: CONTact code with NURB
« Reply #4 on: March 26, 2017, 08:50:21 AM »
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



« Last Edit: March 27, 2017, 06:06:08 AM by schandra »

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: CONTact code with NURB
« Reply #5 on: March 28, 2017, 03:08:59 PM »
THe NPATch for a surface is wrong.  Look at the manual for correct input

Schandra

  • Full Member
  • ***
  • Posts: 82
Re: CONTact code with NURB
« Reply #6 on: March 30, 2017, 04:30:59 AM »
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

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: CONTact code with NURB
« Reply #7 on: March 30, 2017, 09:07:57 AM »
No, not in ver8.4.  In the next release there will be some features to do this -- but not for contact surfaces at present.

Schandra

  • Full Member
  • ***
  • Posts: 82
Re: CONTact code with NURB
« Reply #8 on: March 30, 2017, 09:08:57 AM »
Thank you Professor for your reply.

Schandra

  • Full Member
  • ***
  • Posts: 82
Re: CONTact code with NURB
« Reply #9 on: March 31, 2017, 09:08:01 AM »
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

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: CONTact code with NURB
« Reply #10 on: March 31, 2017, 08:17:29 PM »
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.

Schandra

  • Full Member
  • ***
  • Posts: 82
Re: CONTact code with NURB
« Reply #11 on: April 01, 2017, 03:23:55 AM »
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

Schandra

  • Full Member
  • ***
  • Posts: 82
Re: CONTact code with NURB
« Reply #12 on: April 01, 2017, 05:56:54 AM »
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

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: CONTact code with NURB
« Reply #13 on: April 01, 2017, 10:24:43 AM »
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.

Schandra

  • Full Member
  • ***
  • Posts: 82
Re: CONTact code with NURB
« Reply #14 on: April 01, 2017, 10:34:33 AM »
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