×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Foundation p-y springs/stiffness variation in 1D FEA

Foundation p-y springs/stiffness variation in 1D FEA

Foundation p-y springs/stiffness variation in 1D FEA

(OP)
Hi everyone! This is my first post here, so I hope it's a good one!

I am looking to write a 1D FEA program to perform laterally loaded pile analyses and I wanted to know how best to incorporate the foundation p-y springs. I've got a working 1D FEA spreadsheet which allows variable stiffness at each node of the beam (or, in this case, against the pile) and I am using this as a basis for my work. I suspect the p-y springs need to be linked to the stiffness somehow, but I'm not sure how.

[EDIT: Sorry, for those not accustomed to soil modelling, the load-displacement response of a soil element is defined by its lateral load (p)-displacement (y) curves. So the resistance will vary depending on how much displacement has taken place]

I've tried linking the load-deflection p-y values and turned on iterative calculations, but this creates problems, particularly when there are a large number of elements (inevitably one iteration will create an error and then destroy the whole global stiffness matrix irrevocably). Excel's iterative calculations don't seem to create a workable solution.

Is there a way of incorporating displacement-dependency on the soil stiffness (supposing I am right that the stiffness is what is controlling this)?

And yes, before anyone says anything, I realise there are better programs out there to do this (e.g. MATLAB), but I wanted something easily portable that others could more readily pick up and understand.

Cheers for any help and advice.

Kind regards,

LRJ.

RE: Foundation p-y springs/stiffness variation in 1D FEA

You have an excellent spreadsheet that already does that (it's a link to the website of a member of this forum, so full credit goes to him, of course):
https://newtonexcelbach.wordpress.com/2009/09/26/l...

I've developed my own just for elasto-platic behaviour, that you can find on the following link (fully open source as well, use it and modify it as you wish):
https://www.dropbox.com/s/my5u805q3zgrd9a/LPile_VB...
The VBA code is more or less well documented within the code itself (as I have the attention span of a fish in a bowl...), so you can get an idea of what the program is doing.
I first started with an elastic version and then upgraded it for the EP version. You can get the elastic spreadsheet on the following link:
https://www.dropbox.com/s/7cr7p9vm9iyy6gn/LPile_VB...

Most of the time, for the projects I'm involved in, I can't get geotechnical information that is sufficiently accurate for the generation of a full set of site-specific non-linear curves. In this way, I normally use just an elasto-plastic analysis, with stiffnesses and limits on passive pressures estimated from the results of the site and lab investigations. This tends to produce acceptable results and compare quite well with the laterally loaded pile test results within the area which I operate.

Hope it helps.

ASC

RE: Foundation p-y springs/stiffness variation in 1D FEA

(OP)
Thanks a lot for those - I'll check them out and see if I can get to grips with how to implement them in my spreadsheet. For my own benefit I'd like to implement them.

Out of interest, who is the person who developed LatPile on this board?

I've got a good book called 'Programming the Finite Element Method' - I'm sure many of you have heard of it as it seems to be commonly cited - and it is what I'm using as a basis. However, I imagine there must be some additional things that could be implemented, so it'd be good to see what else is out there.

Cheers,

LRJ.

RE: Foundation p-y springs/stiffness variation in 1D FEA

Quote:

Out of interest, who is the person who developed LatPile on this board?

That's me.

Feel free to ask if you have any questions.

Have a look around the blog as well. You might be interested in the frame analysis spreadsheets (which use a lot of stuff from the 'Programming the Finite Element Method' book).

Doug Jenkins
Interactive Design Services
http://newtonexcelbach.wordpress.com/

RE: Foundation p-y springs/stiffness variation in 1D FEA

(OP)
Hi IDS,

Firstly, great spreadsheet! Am I right in thinking the LatPilePY spreadsheet is the most up to date version/most alike to what I am trying to create?

I have a few questions after having a quick look:
  1. How have you incorporated the p-y springs into the code? How does the stiffness-deflection-stiffness iteration work? A flow chart might be useful, but I appreciate that might be asking too much.
  2. I noticed there were some weighting values in one of the subroutines. Where did those numbers come from? Do you have a reference? Is it somewhere in the 'Programming the Finite Element Method' book?
  3. Similarly, where did you get the method for concrete and steel post-yield behaviour from?
  4. Would you ever recommend not using 6 integration points? From my (limited) understanding of FEM, I was led to believe that more integration points lead to greater accuracy.
That's all the questions I could think of for now. Maybe I'll have more the further I delve into it...

Cheers,

LRJ.

RE: Foundation p-y springs/stiffness variation in 1D FEA

Quote:

Firstly, great spreadsheet! Am I right in thinking the LatPilePY spreadsheet is the most up to date version/most alike to what I am trying to create?

The download link is the latest version (1.04). At the bottom of the post there are links to more recent posts.

Quote:

1.How have you incorporated the p-y springs into the code? How does the stiffness-deflection-stiffness iteration work? A flow chart might be useful, but I appreciate that might be asking too much.

After each iteration the array of node deflections (YA) is passed to the PY_624 function, that returns an array of spring stiffness values, PYA:
PYA = PY_624(SoilTabs, YA, Loads, PYCurveA, KOption)
The values in PYA are then copied to the third column of the FSA array, which is used in the BoEF routine.
It would be nice to document these things more thoroughly, but I'm afraid that other things have priority at the moment.

Quote:

2.I noticed there were some weighting values in one of the subroutines. Where did those numbers come from? Do you have a reference? Is it somewhere in the 'Programming the Finite Element Method' book?

Yes, the weights are generated in the sample subroutine, which is called by the BoEF routine, which (if I recall correctly) is pretty well a direct translation of the Fortran code in the Smith and Griffiths book. The weights come from the book, but they are standard Gauss integration values avaialable from many sources on the Web.

Quote:

3.Similarly, where did you get the method for concrete and steel post-yield behaviour from?

The reinforced concrete stiffness calculations come from my own routines to be found in the "RC Design Functions" spreadsheet, which is documented elsewhere on the blog. The Downloads by category is probably the best place to look. Note that the calculation is for non-linear behaviour after concrete cracking, it does not take account of reinforcing steel yielding. For steel sections it assumes elastic behaviour, based on the EI value.

Quote:

4.Would you ever recommend not using 6 integration points? From my (limited) understanding of FEM, I was led to believe that more integration points lead to greater accuracy.

I would have to remind myself how the BoEF routine works, but from a quick look it seems to applying the integration, using six points, to each element of the pile, so that's actually a much higher level of precision than typically used in frame analysis, which uses a cubic shape function. The precision would be much higher than is available for materials properties, so I don't see any benefit in increasing the number of integration points




Doug Jenkins
Interactive Design Services
http://newtonexcelbach.wordpress.com/

RE: Foundation p-y springs/stiffness variation in 1D FEA

(OP)
Thanks for the answers. That's a great help.

Regarding integration points, I was aluding to when (if ever) it would be more appropriate to use less integration points? As I say, my understanding was that more is better, so 6 is always the better option rather than two.

RE: Foundation p-y springs/stiffness variation in 1D FEA

(OP)
Hi again. I've got some code working now - LatPilePY was very useful as an example - and I just have one issue remaining regarding the implementation of p-y curves.

Basically I want to be able to have two springs at a single node (to model soil layer changes) and wondered how best to implement this as in my current code I would need to apply a small offset to prevent the element lengths being 0.

My current thinking is that I should just skip elements with zero length and apply the same displacement, etc. as the adjacent node (i.e. the node at the same depth). I think I would need to think carefully about what soil reaction/stiffness to use at this depth though - would it be an average? Has anyone else implemented such things?

RE: Foundation p-y springs/stiffness variation in 1D FEA

LRJ - you could apply a single spring with the average stiffness of the two layers, but I really think that's getting over refined. I'd just apply the stiffness of the softer layer.

Doug Jenkins
Interactive Design Services
http://newtonexcelbach.wordpress.com/

RE: Foundation p-y springs/stiffness variation in 1D FEA

(OP)
I'm not sure if an average of the springs is always appropriate given that the form of the p-y curves can differ considerably between layers. Applying the 'softer' spring may also not be conservative in all cases, e.g. fatigue limit state (FLS) load cases.

Having the second spring at a small offset is usually not a problem, though if the offset is very small then this can cause anomalies (I guess because the element length is a divisor in the stiffness matrix, so small element lengths result in large values in the stiffness matrix?). I'd just like an elegant solution. It'd also serve as a good basis if I wanted to add a base shear spring to my model.

I'm not sure of the best way to go about this. I have seen other software implement 'double nodes', though I'm not sure how that was done. I just wondered if anyone else had done this.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources