FEAP User Forum

FEAP => Input File Issues => Topic started by: bharathn on March 18, 2019, 06:22:44 AM

Title: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on March 18, 2019, 06:22:44 AM
Dear all,

I have a cylindrical structure. I would like to apply a pressure to the inner surface in order to make it expand. I increase the pressure over 10 load steps. I believe that the syntax below only creates a pressure load basd on the initial geometry. Physically, this would be incorrect. I tried looking into creating pressure elements. However, in case I have a number of blocks, where do I link the pressure elements to the correct nblock?

'load prop 1
   nload
      normal 1 6 -lf*q0
   load end   

end '

I have pasted a snippet of my input file below where I have tried to use the pressure elements. There seems to be no load that is being applied.
I would greatly appreciate any help in this regard.


Code: [Select]
feap * *
 0 0 0 3 3 0

parameters
e1 = 2e-07
h1 = 2e-08
h2 = 4e-08
b1 = 35
q0 = 1.33e-9
lf = 10

! **************** MATERIAL DEFINITIONS *********************
mate 1
         SOLID
         FINITE VOLUME 2
         ELAStic NEOH e1 0.4
         NURBs,, 3 3 3

mate 2
  solid fiber 1
  elastic holzapfel h1 h2 cosd(b1) sind(b1) 0

mate 3
    PRESsure
      LOAD -1e-4 1 ! I want to apply a pressure of 1e-04 on the inner surface
     

! *********************** GEOMETRY DEFINITION ********************
knots
knot 1 48  0.000000E+00  0.000000E+00  0.000000E+00  2.500000E-02  5.000000E-02  7.500000E-02  1.000000E-01  1.250000E-01  1.500000E-01  1.750000E-01  2.000000E-01  2.250000E-01  2.500000E-
-- --   
knot 3 5  0.000000E+00  0.000000E+00  5.000000E-01  1.000000E+00  1.000000E+00 


nurbs
1 0    -144.0600228      -7.7378540       4.8750000       1.0000000
2 0    -168.5801687     -25.5570550       4.8750000       1.0000000
--
--
2969 0    -162.4596792     -37.3363566     365.6250000       1.0000000
2970 0    -188.6318166     -57.5475172     365.6250000       1.0000000

NSIDES
   side 1 3 3 1 2 3
   side 2 3 3 4 5 6
   side 3 3 3 7 8 9
   side 4 3 3 10 11 12


NBLOCK
  block 3 1 1 2
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
--
977 978 979 980 981 982 983 984 985 986 987 988 989 990

! *************** BOUNDARY CONDITIONS ***************

ebou
3 4.875 0 0 1
3 365.625 0 0 1

cbou
node  -150       0       4.8750000 0 1 1
node   150       0       4.8750000 0 1 1
node     0      -150     4.8750000 1 0 1
node     0      150     4.8750000 1 0 1

! ************ PROP LOAD DEFINITION ***************

tie
batch
  prop,,1
end

! ************ SOLUTION COMMANDS ***************
batch
 dt,,0.1
 loop,,11
 loop,time,1
   time
     loop,,20
        tang,,1
     next
 next Time
disp all
next
end
stop

Many thanks,
Bharath
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on March 18, 2019, 02:01:15 PM
Can you tell me what version of the code you are using?  The current release (ver8.5) should support pressure loading on the deformed body (you use pressure material form, not nload).  You have to define a material set that matches the surface you want to load and 'tie' these together.
 
Earlier versions probably need to be adapted to work with nurbs elements.
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on March 18, 2019, 02:36:35 PM
Dear Professor,

Thank you for your prompt reply. I am using version 8.4 I believe. Do you know of any other work around to this?
Else, I could try installing the latest version and hope nothing breaks :-).

Out of curiosity, what changes would I have had to make to the code I pasted earlier? In the rather large code snippet, I had created a pressure material.

Code: [Select]
mate 3
    PRESsure
      LOAD -1e-4 1 ! I want to apply a pressure of 1e-04 on the inner surf

I then used a tie command in the end. I am a little lost when it comes to 'tying' the material set to the pressure material. When I define my Nblock, I specify the material that it needs to use which in my case would be the material number 2 (the holzapfel model added to the Neo Hookian base). Do I then specify another assignment for the same block?

Code: [Select]
! ************ PROP LOAD DEFINITION ***************

tie
batch
  prop,,1
end

! ************ SOLUTION COMMANDS ***************
batch
 dt,,0.1
 loop,,11
 loop,time,1
   time
     loop,,20
        tang,,1
     next
 next Time
disp all
next
end
stop

Regards,
Bharath
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on March 19, 2019, 01:35:58 PM
In 8.4 you will need to increase the dimension of xu(3,9) to xu(3,25) for NURBS.  If the quadr2d and interp2d in your code include calls for NURBS then it may work. 

Try on ad cantilever with pressure on the top as follower loading to see if it does the right thing.

I don't understand the tie comment.  The fibers should be on solid elements or already on a surface mesh if you are doing a shell.  Can you give more information?
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on March 21, 2019, 09:59:27 AM
Dear professor,

I have used the following method to add the fibers :

Code: [Select]
mate 1
         SOLID
         FINITE VOLUME 2
         ELAStic NEOH e1 0.4
         NURBs,, 3 3 3

mate 2
  solid fiber 1
  elastic holzapfel h1 h2 cosd(b1) sind(b1) 0
I assume this is tagging the fibers to my material 1?
I have then used the following to assign the material to the block:
Code: [Select]
NBLOCK
  block 3 [b]2[/b] 1 2
    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 28 29 30 31 32
The number 2 in bold indicates the material that is tagged to this block. When I use material 1 - which is the solid material, the simulation runs 'correctly'. However, when I change the fiber material parameters, I see no change in displacements at all. So I decided to change to using material 2. However, this time the simulation doesn't seem to have any load or response at all.

I have attached the input file that I have used. My apologies in advance if I am making a really fundamental error!

Regards,
Bharath
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on March 21, 2019, 10:43:02 AM
Material 1 should be the correct material.   Can you look at the output file to see what is input.


Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on March 21, 2019, 11:17:47 AM
You need to tell that material 2 is a NURBS model.

Do not name your input file with a "P" Feap uses this letter for other things.  Always start with "I" for input.
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on March 21, 2019, 03:19:54 PM
Great, now it seems to work :-) Thank you! Going back to the follower pressure load. Is there anyway I could plug the script from feap 85 into feap 84 in order to allow follower NLOADs ?

Thank you so much!
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on March 21, 2019, 06:05:11 PM
YOu should be able to adapt the presld.f routine for nurbs use if you tell the shape functions to use nurbs (look ta the nurbs shape functions to see which of the material parameters are used [ -- values of d(?) --]; also make sure array dimensions in the routine are big enough for the  order of nurbs used.
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on March 22, 2019, 01:13:24 PM
Dear professor, I will try to do this now.

I haven't edited any of the fortran codes inside the program before. Once I am done, I will keep you updated on the results.

Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on April 02, 2019, 03:13:36 AM
Dear professor,

I have edited the presld.f file (attached with this message). I tried simulations using a beam with L = 1, W = 0.2, H = 0.1. I clamped it at one end and tried applying dead/follower loads to it.
I checked the convergence of the system with different values of k. I find this strange phenomenon where the follower load seems to get 'stuck' at a certain point. I am not sure if I have done something incorrectly. In all the pictures below, the dead load is in blue and the follower load is in red. I have also attached the input files for your perusal.

Note that I have tried to conduct the same experiments using ordinary finite elements (without NURBs). The follower load seems to curl the beam (which I would expect) for the same loading scenario. So it seems that there might be some issue with the NURBs implementation I have made. I don't know I have made a trivial error or not and any input would be greatly appreciated!


Thank you,
Bharath

Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on April 02, 2019, 10:17:14 AM
I compared results from your module with the one I have and they agree.  I used the attached file for runs and final plot has a max plot value of -6.9943e-01 (Displacement 3)
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on April 02, 2019, 01:25:03 PM
OK, that is quite reassuring!! :)

But you used your own subroutine and not the one I had attached earlier?

Also, when I run the same experiment using a standard FEA, I get a different result. I have shown this result in the attached image. The red curve uses the follower load.

Any idea what could be causing this discrepancy?

Regards,
Bharath
Title: nurbfeap : Discrepancy between Nload and Dead pressure
Post by: bharathn on April 08, 2019, 03:32:29 AM
Dear all,

I have tried using the dead and follower pressure loading on the inner surface of a cylinder. I have then compared these to using an NLoad on the interior. The results are not in agreement with the Nloading scenario even when using a dead load for pressure.

I also found that the Nload agrees well with an Abaqus simulation run with the same loading.

Any feedback would be appreciated.

Regards,
Bharath
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on April 08, 2019, 09:51:18 AM
I do not understand the mesh for the pressure elements.  They should only have 9 nodes on each surface element but the mesh says they have 18?  It seems you generated a solid for the surface too.  You should generate a surface mesh that is tied to the load surface of the solid mesh.
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on April 08, 2019, 02:54:27 PM
OK I understand what you mean.

For others::

I have attached the correct file along with the output!
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: Prof. R.L. Taylor on April 09, 2019, 10:01:42 AM
The quadrature was different between the NLOAD case and the Pressure element case.  If I turned off follower and set the quadrature to 4 x 4 the answers agreed which verifies that the pressure element is working for the dead load case.  The answers are slightly different for the follower case.  Thus, the problem should now be o.k. -- seems one should use the higher quadrature as it made the plot better too.  May not be too meaningful though as the mesh is very crude.

Good work in extending the element to work in ver8.4!
Title: Re: nurbfeap : Incremental pressure on the inner surface of a cylindrical structure
Post by: bharathn on April 09, 2019, 12:06:10 PM
Dear professor, thank you for pointing that out. I will keep it in mind.

Thank you for all your prompt replies! :-)