Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

FEM software actual Maxima and Minima Beam Elements(Paging user JoshPlum) 2

Status
Not open for further replies.

Celt83

Structural
Sep 4, 2007
2,083
This is a question for any user/s that are involved with or have extensive knowledge of FEM software for bar/beam elements. This is more directed at Joshplum since he has intimate knowledge of RISA 3D although answering my ? may not be possible per any NDA/s (Non-Disclosure Agreement/s).

Is RISA 3D determining actual/real minimum and maximum shear, moment, and deflection values or is it reporting the maximum/minimum values based on end nodes and a set number of reporting stations per member?

I ask as I am trying to work on some less complex programs of my own to be made freely available and have found that at about 20 to 25 reporting stations I am usually capturing the max and mins as long as I include some additional stations for point loads and point moments.I have a couple methods in mind to refine the results to capture the absolute locations of max and mins but the computation time will increase which may be a turn off for end users in terms of how long it takes from them clicking run until results are returned.

Would greatly appreciate any insight that can be provided.

edit: Not looking for a detailed response. Just looking to get a yes absolute max/mins typically determined or No max/mins determined based on set number of reporting stations/coordinates


Open Source Structural Applications:
 
Replies continue below

Recommended for you

I don't know Risa, but Strand7 reports values at whatever interval you specify + location and value for any internal maximum or minimum.

Doug Jenkins
Interactive Design Services
 
If I recall, RISA will report values for up to 20 sections (spreadsheet output), but calculates for 100 sections per element.

Of course, Josh will know better than I do.

----
The name is a long story -- just call me Lo.
 
Thanks for the responses IDS and Lo

IDS: is it somewhere in the Strand7 documentation that they indicate they find the true local member max and mins, looking thru the documentation on their website and the scale of the software I would assume that is what they are doing.

Lo: that is basically what my setup is doing now you really don't take too much of a hit going up to 100 stations and this usually gets you within a couple percent of the real max/mins if not actually capture them.

Open Source Structural Applications:
 
Wouldn't the use of an appropriate solver to solve for the location where the shear equals zero to find local max/min moment be a better way than the hit/miss of adding more intermediate stations throughout the entire beam length, you can obviously narrow down the location based on the initial 20 stations before using a solver. Similarly for deflection checking the value at each of the 20 stations you can probably narrow down which segment contains a maximum/minimum based on the change in slope. Then just add addition points or use a solver between these two bounds to find the maximum within some tolerance.

Adding additional points at concentrated loads and moments would for most practical structures capture the min/max points.

I wouldn't expect any commercial software to simply divide the member further and pick the max even if it was a few percent out. They would only calculate the True max/min to some tolerance.
 
Agent666:
yes that's essentially one of the ways I was going to capture it.
- do an initially evaluation of 20 stations + 3 additional at each point load/point moment (load point, load point - small number, load point + small number)
- do a first pass of max/min on those results to narrow the search bounds
- with the reduced bounds run a solver function to vary the location and compare the result and have a kick-out option if the delta between the current result and the last result is within some tolerance.

For Slopes and Deflections it's a bit simpler since they should be continuous functions so can directly solve for the max/mins

Open Source Structural Applications:
 
Strand7 has a theoretical manual, and a series of "Web Notes", but these are only accessible with a current licence.

I haven't actually checked what they say, but I'm sure that they report the theoretical values, rather than interpolated values, because that's the simplest way to do it. Just find the points of zero shear, or change of shear sign, and calculate bending moments at those points.

Doug Jenkins
Interactive Design Services
 
Surely if you know the UDL loading within the segment and shear at one end you can easily solve for the distance to the point of zero shear within the segment.
 
Not knowing the exact way you are going about things, just throwing this out there as the way I'd go about it, probably you've already gone through it one way or another:-

Assuming you already have a station at point moments and loads and a way to check at these points for zero shear being crossed for the point load case (your small increment before and past the point you mentioned earlier) then the sum of all the UDLs is still linear so you just need a single formulation to check for zero shear given a total trapezoidal load (will also work for a constant UDL obviously as some terms for the triangular bit will drop out). It would seem to me this is a fairly trivial calculation without any iteration at this point to solve for the distance from one end of the segment for the total combined applied UDL "area" being equal to the shear at one end for determining the zero shear location.
 
There is a solid chance I am overcomplicating this.

I have the full general form piecewise functions for each load type, from these it might be simple to construct the full piecewise load function for the beam. I probably need to brush up on how to find the roots of piecewise functions that also include step functions.
Edit: to make this bold because I've been so wrapped up in solvers I never thought to just write the combined piecewise shear, moment, slope and deflection equations. Forest from the Trees.

Here's my current process:
- Gather all the applied loads pre-process all the location data, load start and end points, to add some more reporting spots so my charts capture any discontinuities.

- Calculate all the results at my 20+extra stations since I need these to plot with regardless. Reactions get calculated at the same time. Save the results to separate lists for shear, moment, slope, and deflection

- Within my current result data return the x coordinate corresponding to the current max and mins are from the V,M,S,D result lists. This is easy since the x coordinate is just the station at the same list index of the result.

- Since I know the exact load equations all I need is an x coordinate to get a value this is were the solver steps in at this point I have a "good" starting point so I set my bounds as 1 station before and 1 station after my current max/min location and then the solver intelligently changes x until the result whether that be V,M,S,orD is at a maximum or minimum.


Open Source Structural Applications:
 
Here's my new process:
- gather all the loads and build the piecewise shear, moment, slope, and deflection functions inclusive of steps in the shear function for point loads and steps in the moment function for point moments

- quickly check the step locations for a sign change. If there is one then we're done don't go onto the next step.

- Directly solve for the root/s of each piece function and check that the root is within the piece bounds (within my allowed loads types this would only be as high as a quadratic for shear)

Alternatively I could do my same first three steps from my previous post, I'm going to do them anyway to get plotting data, and just directly go to the right piece function to solve rather than solve them all.

Open Source Structural Applications:
 
For completeness in case anyone else struggles with this in the future:

single span 10 ft beam
1 kip point load @ 3 ft
1 kip/ft UDL from 4 ft to 7.5 ft
a 1 kip/ft to 0 kip/ft Trap load from 2 ft to 8 ft

Piecewise shear formulas per load:
Point load:
Code:
0.0000< x <= 3.0000
0.7000
3.0000< x <= 10.0000
-0.3000

UDL:
Code:
0.0000< x <= 4.0000
1.4875
4.0000< x <= 7.5000
5.4875-1.0000*x
7.5000< x <= 10.0000
-2.0125

TRAP:
Code:
0.0000< x <= 2.0000
1.8000
2.0000< x <= 8.0000
4.1333-1.3333*x+0.0833*x^2
8.0000< x <= 10.0000
-1.2000

Piecewise Shear Formula for beam:
Code:
0 < x <= 2
3.9875
2 < x <= 3
6.3208-1.3333*x+0.0833*x^2
3 < x <= 4
5.3208-1.3333*x+0.0833*x^2
4 < x <= 7.5
9.3208-2.3333*x+0.0833*x^2
7.5 < x <= 8
1.8208-1.3333*x+0.0833*x^2
8 < x <= 10
-3.5125

checking each step at it bound for a sign change shows that the inflection point occurs in the range 4 < x <=7.5.
so finding the roots for 9.3208-2.3333*x+0.0833*x^2 yields 4.826 and 23.184 only 4.826 is with in the bounds so the max moment occurs at x=4.826 ft.
can repeat the process with the slope formulas to find the location of maximum deflection.

Open Source Structural Applications:
 
I think that's the simplest way to tackle it. If you want the maximum deflection with trapezoidal loading you will need to solve a quartic equation for the slope, but there are libraries for that, so not a problem.

Doug Jenkins
Interactive Design Services
 
IDS: yes this is way simpler than any other approach I was trying to take. I've updated my github with the pieces to do this if anyone is interested. In the Analysis folder there are two relevant files:
pin_pin_beam_equations_classes.py
This file has all the general form equations for the load types including fixed-end forces: Point Loads, Point Moments, Uniform Distributed Loads, and Trapezoidal Loads (covers triangular)

simple_beam.py
This is a GUI program that you can run a simply supported beam with various loadings and see the response. There is a new tab now that shows you the full combined piecewise functions for the center span and locations of 0 shear and slope. Edit: Works with the cantilevers now also, still only give the piece function for the center span

Open Source Structural Applications:
 
I assume its a lot quicker than using an iterative solver as well?!
 
Agent666:
For up to quadratics that is a definite yes, for cubics and up yes/maybe depends on the methods used by the solvers. The numpy method relies on computing the companion matrix and solving for the eigenvalues.

In terms of determining the full lists of 0 shear and 0 slope locations and not just the location of the singular max and mins for something like a continuous beam the direct root solution I would expect to always be faster. For just a single span with no redundant interior reactions, 0 shear by direct root will still be faster but the 0 slope I'd need to time the two methods and see if there is an observable difference.

Open Source Structural Applications:
 
I am using RISA 2D which is very similar.

When I review the maximum values for member forces I assume that RISA is calculating it based on some method with much higher resolution than the few sections I asked it to additionally report. This seems to be confirmed by my tinkering with the last job I did. The maximum member forces appear on the graphical output and also in the maximum force table but were not captured on the 8 sections that I told it to calculate since the sections did not occur at the location of the maximum force. Increasing the number of sections to report did not affect the maximum graphical or tabular values. I would guess that this resolution is controlled by the "Internal Sections" setting which is default to 100.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor