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.
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
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
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
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
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:
- 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.
- 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?
- Similarly, where did you get the method for concrete and steel post-yield behaviour from?
- 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
The download link is the latest version (1.04). At the bottom of the post there are links to more recent posts.
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.
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.
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.
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
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
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
http://members.ozemail.com.au/~comecau/quad_plate_...
Hope this helps.
RE: Foundation p-y springs/stiffness variation in 1D FEA
Doug Jenkins
Interactive Design Services
http://newtonexcelbach.wordpress.com/
RE: Foundation p-y springs/stiffness variation in 1D FEA
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.