cross sect
TRANSCRIPT
-
8/13/2019 Cross Sect
1/38
PRODUCTS SOLUTIONS PURCHASE SUPPORT COMPANY OUR SITES SEARCH
DOCUMENTATION CENTER SEARCH
Documentation Structural Mechanics
ap er
Cross-Sectional Properties of Areas
2.1 Introduction
Engineering analysis and design often uses properties of plane sections in calculations. For example, in stress analysis of a beam under bending
and torsional loads, you use the cross-sectional properties to determine the stress and displacement distributions in the beam cross section. In
calculating the natural frequencies and mode shapes of a machine element, you also need to know the area, centroid, and various moments ofinertia of a cross section. You can use the package SymCrossSectionProperties, designed toact as of an electronic handbook, to calculate
properties of cross sections parametrically. Then you can use the functions in the package NumCrossSectionPropertiesto compute these
attributes numerically.
This chapter deals with the cross-sectional properties of plane sections, both symbolically and numerically. The advantage of a symbolic output is
that analytical solutions can be expressed in closed form, which enables further mathematical manipulations of the result. In the cases for which a
symbolic result is not needed and/or is dif ficult to obtain, a numerical approach based on a triangulation scheme is used.
With the functionality of the packages SymCrossSectionPropertiesand NumCrossSectionProperties, you can compute various
cross-sectional properties, such as area, centroid, and moment of inertia. For symbolic results, the package includes standard cross sections, such
as T-sections, I-sections, and channel sections, as well as basic domain objects, such as rectangular and triangular shapes, circular and elliptical
sectors, and sectors of circular and elliptical annuli. A simple procedure to combine these subdomain objects to form a complex cross section is
also introduced. Using this procedure, you can easily in clude many practical shapes, such as L-sections, Z-sections, tampered I-sections, T-
sections, and channel sections, in the calculations. The design of Structural Mechanics makes it possible to add a set of definitions for new
subdomain objects to the functionality of the package. When computing the cross-sectional properties of a complex domain, numerical techniques
are preferred. The numerical computations are based on a triangulation technique and an integration-in-a-triangle routine.
2.2 Symbolic Computations
2.2.1 General Remarks
The main advantage of having symbolic expressions for the cross-sectional properties of a section is that they enable the employment of powerful
mathematical techniques in later stages of engineering computations. As a result of a symbolic expression, instead of finding one specific solution,
you can obtain a general solution to a class of p roblems. With this general solution, you can evaluate a wide range o f design possibilities and,
consequently, reach a better design.
In Structural Mechanics, the plane sections are represented by using the function Domain.
Each cross section is treated as an object or a set of objects created using the Domainfunction. For example, Domain[CircleSector, r, {0, /2}]
represents a data object, one-fourth of a circle with radius r,on which you can perform various operations, including SectionArea, which
calculates the area of this sector. Note that angles are in radians, and the sign of an angle is described by the traditional counterclockwise direction
convention. An angle described counterclockwise from the positive part of the x axis is considered positive. If it is described clockwise, the angle
is considered negative. You can obtain the usage message for a domain object by typing ?objectname. For instance, ?CircleSector
generates the usage message for the domain object CircleSector.
Page 1 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
2/38
The area of one-fourth of a circle with radius r is calculated by the function SectionArea, which will be described in detail shortly.
In[1]:=
In[2]:=SectionArea[Domain[CircleSector,r,{0, /2}]]
Out[2]=
Using the Structural Mechanics' graphics primitive DomainGraphics,you can plot the shape of this sector.
In[3]:=Show[DomainGraphics[Domain[CircleSector,1,{0, /2}]]];
You can generate the same plot by using the function CrossSectionPlot.
In[4]:=
You can view the basic domains introduced in Structural Mechanicsusing the variable name BasicDomainList.
In[5]:=BasicDomainList
Out[5]=
The listSectionListcontains built-in data objects for common cross sections generated by using domains in the list BasicDomainList.
Page 2 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
3/38
In[6]:=SectionList
Out[6]=
The cross sections in both lists form the collection of predefined cross sections of the package SymCrossSectionProperties. As shown in
the following sections, you can easily add a new cro ss section to this list as either a basic domain object or a section obj ect. When you add a new
object to the package, the lists BasicDomainListand SectionListmust be edited accordingly.
You can depict the area of a sector with the radius 1 unit, the origin at (1, 1), and the sweeping angle from /4 to .
In[7]:=
In[8]:=p1=Show[DomainGraphics[dmn],
Axes->True,
PlotRange->{{-4,4},{-4,4}}];
To compute the area of the following elliptical domain object, first, create a domain object for the ellipse sector. It is important to n ote that the
arguments { , } in Domain[ EllipseSector, { , }, { , } ]are the actual polar angles as opposed to the
parametrization variable sinx= andy=
In[9]:=els=Domain[EllipseSector,{1,1},{3,2},{0,3 /2}];
A number of option sets graphically represent this object.
In[10]:=p2=Show[DomainGraphics[els],
Axes->True,
PlotRange->{{-4,4},{-4,4}}];
Page 3 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
4/38
As already noted, the other three basic built-in domain objects included in Structural Mechanicsare RectangularSection,
RightTriangle, and Parallelogram. Here are the usage messages for the domain objects created using these section names.
As as with the ellipse sector earlier, you can generate plots of these basic domain objects.
In[11]:=tri=DomainGraphics[Domain[RectangularSection,{0,0},1,1]];
rtri=DomainGraphics[Domain[RightTriangle,{0,0},0.5,1]];
par=DomainGraphics[Domain[Parallelogram,{1,1},{4,1},{5,3},{0,3}]];
Show[GraphicsArray[{tri,rtri,par}]];
Many useful cross sections, such as hollow-rectangular, annulus, T-sections, and I-sections, can be created by arranging these basic domains as
building blocks. For example, you can create the section IsoscelesTriangledomain by using two right triangles.
In[15]:=Domain[IsoscelesTriangle, b, h]
Out[15]=
In[16]:=iso=DomainGraphics[Domain[IsoscelesTriangle,{0,0},0.5,0.5]];
This shows the domain objectiso.
In[17]:=Show[iso,Axes->True];
Page 4 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
5/38
You can create the domain objects HollowCircleand HollowRectangleby removing the inner domain from the outer domain of a
relevant domain object.
The domain HollowCircleis represented as the difference between two circular domains.
In[18]:=Domain[HollowCircle,{xo,yo},r1,r2]
Out[18]=
The graphical representation of composite domains with the function DomainGraphicsis supported as well.
In[19]:=p3=Show[DomainGraphics[Domain[HollowCircle,{1,1},1,2]],
Axes->True,
PlotRange->{{-4,4},{-4,4}} ];
Similarly, you can use the domain HollowEllipsefor elliptical hollow areas.
This graphically represents the domain HollowEllipse.
In[20]:=Show[DomainGraphics[Domain[HollowEllipse,{1,1},{2,1},{3,2}]],
Axes->True,
PlotRange->{{-4,4},{-4,4}}];
Page 5 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
6/38
-
8/13/2019 Cross Sect
7/38
-
8/13/2019 Cross Sect
8/38
In[27]:=tp1=ShowDimensions[TSection];
Note that by using Structural Mechanics, in addition to symmetric T-sections, you can also consider asym metric T-sections by changing the value
of the arguments. Unlike most handbooks and reference books, this feature provides you with a more flexible tool to deal with more general
sections.
With this depiction of the dimensions of a T-section, you can accurately place the arguments in the domain object without any confusion.
In[28]:=tsec=Domain[TSection,2.8,0.6,1.0,6.8,3.0];
In[29]:=Show[DomainGraphics[tsec]];
I-Section
Another type of section commonly used in engineering and design is the I-section, for wh ich Structural Mechanicscontains the built-in domain
object ISection.
An I-section consists of three rectangular domain objects.
In[30]:=Domain[ISection,e1,e2,a,b,c,t1,t2,t3]
Out[30]=
Again, the function ShowDimensionsprovides a graphical representation of the arguments for characteristic dimensions.
This sets the default font type and size.
In[31]:=
Out[31]=
In[32]:=tp2=ShowDimensions[ISection];
Page 8 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
9/38
The section need not be symmetric. You can consider asymmetric I-sections by setting the variables and . Here is an example with the
dimensions in an appropriate length unit = 2.4, = 2.0, a= 5.4, b= 4.4, c= 2.0, = 0.4, = 0.4, and = 0.6.
In[33]:=isec=Domain[ISection,2.4,2.0,5.4,4.4,2.0,0.4,0.4,0.6];
In[34]:=Show[DomainGraphics[isec]];
Channel Section
The channel section is also used in a wide range of applications. The object ChannelSectionis reserved for general channel sections.
In[35]:=tp3=ShowDimensions[ChannelSection];
Now create a channel section with the bottom-left corner located at (1, 1) and the dimensions in an appropriate length un it b= 3, = 1.5, =
1.5, = 0.5, = 0.5, and = 0.5. A channel section consists of three rectangular domain objects.
In[36]:=ch=Domain[ChannelSection,{1,1},3,1.5,1.5,0.5,0.5,0.5]
Out[36]=
Here is how this section looks.
In[37]:=Show[DomainGraphics[ch],
Axes->True,
PlotRange->{{0,5},{0,4}},
AspectRatio->1];
L-Section
As explained earlier, you can construct new complex cross sections by using the domain objects introduced in Structural Mechanics. You can
create an L-section using two rectangular domain objects.
Page 9 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
10/38
-
8/13/2019 Cross Sect
11/38
As you did for the L- and Z-sections, you can create a domain object for the hor seshoe cross section.
In[54]:=horseshoe=hc+rec1+rec2;
This shows the horseshoe cross section consisting of these three basic domain objects.
In[55]:=hsplot=Show[DomainGraphics[horseshoe]];
2.2.2 Area of Cross Sections
The function SectionAreain the package SymCrossSectionPropertiesis used to compute the area of both a built-in cross-section
object and the user-defined composite domain objects. There are two ways to use this function.
You can compute the areas of the domain objectsp1, p2,andp4, which are discussed in the previous subsection, using the SectionArea
function.
In[56]:=Show[GraphicsArray[{p1,p2,p4}]];
The area of the first section from the left,p1,has a radius of 1 unit length, the origin at (1, 1), and the sweeping angles from /4 to .
In[57]:=dmn=Domain[CircleSector,{1,1},3,{ /4, }];
You can use consistent units in calculations. For example, the area of the sector dmnis computed as follows for the radius of 3 meters.
In[58]:=dmn=Domain[CircleSector,{1,1},3Meter,{ /4, }];
In[59]:=area=SectionArea[dmn]
Out[59]=
This result is the exact value for the area of this sector. The numerical value is obtained by employing the Mathematicafunction Nwith any digit
precision.
In[60]:=N[area]
Out[60]=
Page 11 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
12/38
The area is calculated with 20-digit precision.
In[61]:=
Out[61]=
The function Convertfrom theMathematica 4 Standard Add-on Packages converts the area from
to
. This converts the area towith 10-digit precision.
In[62]:=N[Convert[area,Inch^2],10]
Out[62]=
In[63]:=dmn=Domain[CircleSector,{1,1},3,{ /4, }];
In[64]:=SectionArea[dmn]
Out[64]=
This is the area of the sectionp2.
In[65]:=els=Domain[EllipseSector,{1,1},{3,2},{0,3 /2}];
In[66]:=SectionArea[els]
Out[66]=
In[67]:=N[%]
Out[67]=
Now you compute the area of the third section from the left, p3, symbolically.
In[68]:=Domain[HollowCircle,{xo,yo},R1,R2]
Out[68]=
In[69]:=SectionArea[%]
Out[69]=
Equivalently, you obtain a more familiar form using Factor.
In[70]:=
Out[70]=
Next, you compute the areas of the built-in composite sections both symbolically and numerically.
In[71]:=standardsections=Show[GraphicsArray[{tp1,tp2,tp3}]];
A T-section consists of two rectangular domain objects.
In[72]:=Domain[TSection,e1,t1,t2,b,d]
Out[72]=
Here is the area of a T-section in symbolic form.
Page 12 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
13/38
In[73]:=SectionArea[Domain[TSection,{xo,yo},e1,t1,t2,d,b]]
Out[73]=
This is the area of an I-section.
In[74]:=SectionArea[Domain[ISection,e1,e2,a,b,c,t1,t2,t3]]
Out[74]=
Here is the area of a channel section.
In[75]:=Domain[ChannelSection,b,d1,d2,t1,t2,t3]
Out[75]=
In[76]:=SectionArea[Domain[ChannelSection,b,d1,d2,t1,t2,t3 ]]
Out[76]=
The area of user-defined sections can also be calculated with SectionArea. For example, this gives the area of the horseshoe section previously
created.
In[77]:=SectionArea[horseshoe]
Out[77]=
In[78]:=N[%]
Out[78]=
Now calculate the area in terms of the characteristic dimensions of the ho rseshoe. First, use the function ShowSectionDimensionsto depict
these dimensions.
The listptsdenotes the locations of the point where the arrow bases are located.
In[79]:=pts={{1,1},{1.793,1.61},{1,1},{1.630,2.901},{0.44,1},{0.44,-1.}};
The list tptsdenotes the locations of the points where the parameters for dimensions, { "r1", "r2", "lx" }, are placed. Note that the orders of tpts
and the dimensions must be the same for the correct correspondence.
In[80]:=tpts={{1.65,1.25},{1.55,2.15},{0.65,0.00}};
In[81]:=pp0=ShowSectionDimensions[pts,tpts,{"r1","r2","lx"} ,
DisplayFunction->Identity ];
This shows the horseshoe cross section with the specified dimensions and the aspect ratio.
In[82]:=horseshoesection=Show[pp0,hsplot,
DisplayFunction->$DisplayFunction,AspectRatio->1];
Page 13 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
14/38
With these dimensions, you first represent the horseshoe parametrically.
In[83]:=
In[84]:=hc=Domain[HollowCircleSector,{xo,yo},r1,r2,{0, }];
In[85]:=rec1=Domain[RectangularSection,{xo-r2,yo},r2-r1,-lx];
rec2=Domain[RectangularSection,{xo+r1,yo},r2-r1,-lx];
In[87]:=horseshoe=hc+rec1+rec2
Out[87]=
Now you calculate the area of the horseshoe parametrically.
In[88]:=SectionArea[horseshoe]
Out[88]=
The factorization of this expression with Factorresults in a compact form for the section area.
In[89]:=Factor[%]
Out[89]=
2.2.3 Centroid of Cross Sections
The centroid, or center of gravity of a plane object, is a point about which the moment of area of the object is zero, or
= 0 and
= 0. You express the
centroid of an object with the areaAwith the following formulas.
and
Like the function SectionArea, SectionCentroidapplies to both the built-in domains and user-defined composite domains.
First, compute the locations of the centroid of the previously created cross sections,p1, p2, andp4.
In[90]:=Show[GraphicsArray[{p1,p2,p4}]];
Page 14 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
15/38
-
8/13/2019 Cross Sect
16/38
This is the centroid of the third section from the left, p4.
In[99]:=an=Domain[HollowCircleSector,{1,1},1,2,{0,7 /4}];
In[100]:=sc=SectionCentroid[an]
Out[100]=
You can simplify this result to a shorter expression using the Mathematicafunction Simplify.
In[101]:=Simplify[sc]
Out[101]=
This is the numerical value for scwith 10-digit precision.
In[102]:=N[sc]
Out[102]=
As expected, when the center of this HollowCircleSectorsection is translated by sc, the centroid moves to the origin of the coordinate
system.
In[103]:=SectionCentroid[Domain[HollowCircleSector,{1,1}-sc,1,2,{0,7 /4}] ]
Out[103]=
By the definition of centroid, you would expect this result to be (0, 0). You simplify this long expression to verify that it is actually equal to {0, 0}.
In[104]:=
Out[104]=
Now compute the location of the centroid of the HollowCircleSectordomain with respect to the angle determining its shape. In other
Page 16 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
17/38
words, find how the location of its centroid changes with respect to increasing the sector angle measured fro m the positivexaxis.
You use theMathematicaParametricPlotfunction to plot the results.
In[105]:=pp1=ParametricPlot[Evaluate[SectionCentroid[Domain[HollowCircleSector,{1,1},1,2,{0,ang}]]],
{ang,0.001,2 },PlotStyle->RGBColor[0,0,1]];
You can illustrate the location of the centroid by superimposing pp1and the cross-section plot,p4. The plus sign in the graphic marks the centroid
of the object drawn,p4.
In[106]:=Show[pp1,p4,Epilog->MarkPoint[sc],AspectRatio->1];
The centroids of built-in composite domains are computed.
In[107]:=Show[standardsections];
This is the centroid of a T-section in symbolic form.
In[108]:=Domain[TSection,{xo,yo},e1,t1,t2,b,d];
In[109]:=Clear[xo,yo,e1,t1,t2,b,d]
For the centroid of a symmetric T-section, take to carry thex-component of the centroid to = .
In[110]:=SectionCentroid[Domain[TSection,(b-tw)/2,t,tw,b,d]]//Together
Out[110]=
Calculate the centroid of this section for the set of numerical values previously introduced and mark the centroid on the drawing.
In[111]:=tsec=Domain[TSection,2.9,0.6,1.0,6.8,3.0];
In[112]:=SectionCentroid[tsec]
Out[112]=
In[113]:=Show[DomainGraphics[tsec],Epilog->MarkPoint[SectionCentroid[tsec]],
PlotRange->{{-3,4},{-0,4}}];
Page 17 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
18/38
Here you symbolically calculate the centroid of an I-section.
In[114]:=Clear[e1,e2,a,b,c,t1,t2,t3]
In[115]:=SectionCentroid[Domain[ISection,{xo,yo},e,e2,a,b,c,t1,t2,t3]]//Factor
Out[115]=
Calculate and mark the location of the centroid of the I-section.
In[116]:=isec=Domain[ISection,2.4,2.0,5.4,4.6,2.0,0.4,0.4,0.6];
In[117]:=sc=SectionCentroid[isec]
Out[117]=
In[118]:=Show[DomainGraphics[isec],Epilog->MarkPoint[sc]];
Find the centroid of a channel section.
In[119]:=Domain[ChannelSection,{xo,yo},b,d1,d2,t1,t2,t3 ]
Out[119]=
In[120]:=SectionCentroid[Domain[ChannelSection,{xo,yo},b,d1,d2,t1,t2,t3 ]]//Together
Out[120]=
The centroid of a user-defined composite cross section is easy to compute.
In[121]:=ch1=Domain[ChannelSection,{0,0},3,1.5,1.5,0.5,0.5,0.5];
ch2=Domain[ChannelSection,{0,0},3,1.5,2.5,0.5,0.5,0.5];
In[123]:=sc1=SectionCentroid[ch1];
sc2=SectionCentroid[ch2];
As expected, the centroid is located on the positive part of the coordinate system since the right leg of the channel section is longe r than the left
leg.
In[125]:=Show[DomainGraphics[ch2],
Epilog->MarkPoint[sc2],
Axes->True ,
AxesOrigin->{0,0}];
Page 18 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
19/38
SectionCentroidalso calculates the centroid of user-defined sections. For example, here is the centroid of the horseshoe cross section,
horseshoe,which you created previously.
In[126]:=
In[127]:=hc=Domain[HollowCircleSector,{xo,yo},r1,r2,{0, }];
In[128]:=rec1=Domain[RectangularSection,{xo-r2,yo},r2-r1,-lx];
rec2=Domain[RectangularSection,{xo+r1,yo},r2-r1,-lx];
In[130]:=horseshoe=hc+rec1+rec2
Out[130]=
As previously noted, the domain object tophcrepresents the top of the cross section.
In[131]:=Show[tophc,Axes->True];
Two parallel rectangular sections are used to build the sides of the section.
In[132]:=Show[recshc,Axes->True,AspectRatio->1];
These symbols in horseshoe correspond to the dimensions, as shown here.
In[134]:=Show[pp0,hsplot,DisplayFunction->$DisplayFunction,AspectRatio->1];
Page 19 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
20/38
From these dimensions, you can calculate the centroid of a horseshoe section parametrically.
In[135]:=SectionCentroid[horseshoe]
Out[135]=
You can simplify this expression.
In[136]:=
Out[136]=
Now consider a numerical example.
In[137]:=hc=Domain[HollowCircleSector,{1,1},1,2,{0, }];
In[138]:=rec1=Domain[RectangularSection,{-1,-1},1,2];
rec2=Domain[RectangularSection,{ 2,-1},1,2];
In[140]:=horseshoe=hc+rec1+rec2;
In[141]:=sc=SectionCentroid[horseshoe]
Out[141]=
This gives the numerical value of the location of the centroid of the cross section horseshoewith 10-digit precision.
In[142]:=N[sc,10]
Out[142]=
Here is the location of the centroid indicated with Mark.
In[143]:=Show[hsplot,Epilog->MarkPoint[sc],Axes->True];
Page 20 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
21/38
2.2.4 Moments of Inertia
In this section, you can obtain the expressions for the moments of inertia, products of inertia, and polar moments of inertia of various cross-
sectional domains using the functions provided in Structural Mechanics. Functions for calculating these moments of translated and rotated
domains are also included. By using the function SectionAreaalong with the functions introduced in this section, you can compute the radius
of gyration of a section.
Here is a list of the functions available in Structural Mechanicsfor calculating moments of inertia and other related quantities.
In[144]:=?Section*Moment*
SectionInertialMoments SectionPolarInertialMoments
SectionMomentsRotate SectionPolarMomentsRotate
SectionMomentsTranslate SectionPolarMomentsTranslate
The moments of inertia with respect to the xandyaxes for a planar geometry with the area Aare defined as follows.
and
Similarly, the cross product of inertia of an area is given as follows.
The definition of the polar moment of inertia of an area is given below.
= = +
You compute the moments and the products of inertia of a rectangular section about an axis system originating at the lower-left corner of the
rectangle.
In[145]:=SectionInertialMoments[Domain[RectangularSection,{0,0},b,d]]
Out[145]=
Using the following, you can generate a set of replacement rules for future use.
In[146]:=
Out[146]=
The centroid of this section is at the point (b/2, d/2).
In[147]:=SectionCentroid[Domain[RectangularSection,{0,0},b,d]]
Out[147]=
In order to calculate the section moments and product m oment about the coordinate system translated to the section centroid, you need to slide the
centroid point in the opposite direction by the coordinates of the centroid, that is, (-b/2, -d/2).
In[148]:=smi=SectionInertialMoments[Domain[RectangularSection,{-b/2,-d/2},b,d]]
Page 21 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
22/38
-
8/13/2019 Cross Sect
23/38
-
8/13/2019 Cross Sect
24/38
In[161]:=smr=SectionMomentsRotate[Domain[RectangularSection,{x1,y1},b,d], ]//Together
Out[161]=
In[162]:=SectionPolarInertialMoments[Domain[TSection,-sc,(b-tw)/2,t,tw,b,d]]//Together
Out[162]=
By definition, the polar moments of inertia are the sum of and . Thus, the difference between this result and must vanish.
In[163]:=
Out[163]=
Similarly, the function SectionPolarMomentsTranslatecomputes the polar section moments of inertia.
2.2.5 Principal Axes
For a cross section, there exists a coordinate system in which the product moment of inertia vanishes, that is, = 0. You can determinethis coordinate system by either rotating the original coordinate system , with its origin located at the centroid of the cross section, or
rotating the cross section with respect to the same original coordinate system (Oxy). In Structural Mechanics,the latter is adopted in the function
DomainPrincipalAxesDirections,while the former can also easily be performed.
Now define a Z-section and illustrate its principal axes.
Page 24 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
25/38
In[164]:=
In[165]:=
The origin of the geometry is at the centroid of the section due to the symmetry.
In[166]:=
Out[166]=
This calculates the two vectors defining the orientation of the principal axes.
In[167]:=
Out[167]=
Using the function MarkAxisSystem, you can show these directions. The axis system is shown in blue by prepending the color graphics
directive RGBColor[0,0,1]to the object created by MarkAxisSystem.
In[168]:=
Rotate the section by the orientations of the principal axes and calculate the moments of inertia. Note that the rotation angles are negated since it is
the section that is rotated, not the coordinate systems.
In[169]:=
Page 25 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
26/38
Out[169]=
In[170]:=
Out[170]=
2.3 Numerical Computations
2.3.1 General Remarks
While you can add a set of new subdomains in order to enhance the symbolic functionality of Structural Mechanics, a numerical result may be
sufficient for a quick calculation of geometric attributes of a complex shape. Include for this purpose are a numerical scheme based on a
triangulation method and an integration-in-a-triangle routine. The functionality of Structural Mechanics is not limited to convex domains;
therefore, you can also consider the domains th at contain openings (e.g., holes) by using the tools presented here.
This subsection considers a simple domain that is used as an example to introduce some ideas behind the package
NumCrossSectionProperties,a T-section, an unconventional I-section, a complex section, and a section with a n opening. After these
geometries are introduced, the areas, centroids, moments of area, and cross-produ ct moments are calculated.
Example 1: A Simple Domain
First, consider the very simple domain formed by the following coordinate points.
In[171]:=ptsSimple={{0, 0},{1,-2},{1.5,-2},{1,0},{4,4},{2.5,4}}
Out[171]=
The function PolygonPlotdepicts this domain with its numbered vertices.
In[172]:=ppSimple=PolygonPlot[ptsSimple];
You use the function PolygonAreato determine the area of a polygon from its triangulation.
You compute the area of the polygon defined by the coordinate points ptsSimple after the interior of the polygon is triangulated using the function
TriangleCoordinates.
This triangulates the polygon. Each three-element list is the coordinates of a t riangle.
In[173]:=
Out[173]=
You use PolygonAreato calculate the area of the polygon from its triangulated coordinates.
In[174]:=PolygonArea[%]
Out[174]=
Next you partition this domain into triangles using the function PolygonTriangulate.
Page 26 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
27/38
In[175]:=ptsSimple
Out[175]=
In[176]:=ptSimple=PolygonTriangulate[ptsSimple]
Out[176]=
This output indicates that the vertices 1, 2, and 3 form a triangle, and so on. The function TriangulationPlotproduces a plot showing the
triangulation.
Now draw the graph of the triangulation of this polygon.
In[177]:=tpSimple=TriangulationPlot[ptsSimple ];
Unlike PolygonPlot, TriangulationPlotdoes not number the nodal points. However, the superimposition of two plots produces the
nodal number on the triangulated polygon.
In[178]:=Show[tpSimple,ppSimple];
The winding number for a polygon and a point are calculated to determine if the point is inside the polygon. You use the function
WindingNumberfor this purpose.
This tells you that the point ( ) is located inside the area specified by the polygonptsSimple.
In[179]:=
Out[179]=
Example 2: A T-Section
The following list,ptsTsection, represents the coordinates of a polygon forming a typical T-section.
Page 27 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
28/38
In[180]:=ptsTsection={{-2,-0.6},{-0.3,-0.6},{-0.3,-4},{0.3,-4},
{0.3,-0.6},{2,-0.6},{2, 0},{-2, 0}};
This T-section may be visualized in many differ ent ways. First, you use theMathematicabuilt-in graphic primitives.
In[181]:=Show[Graphics[Polygon[ptsTsection]],AspectRatio->1];
PolygonPlotgenerates a graph with numbered nodal points.
In[182]:=ppTsection=PolygonPlot[ptsTsection,Axes->True];
The function PolygonTriangulatecalculates a triangulation of the cross section given by the polygon ptsTsection.
In[183]:=PolygonTriangulate[ptsTsection]
Out[183]=
This is how a particular triangulation looks.
In[184]:=tpTsection=TriangulationPlot[ptsTsection,
PlotRange->{{-3,3},{-5,1}},
AspectRatio->1];
SuperimposingppTsectionand tpTsectionadds the node number to the triangulated cross section.
In[185]:=Show[ppTsection, tpTsection];
To rotate a group of poin ts with respect to the reference point by a specified angle, you can use the function PolygonRotate.
This is a rotation of the section about the origin of the coordinate system (0, 0) by /10.
Page 28 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
29/38
In[186]:=PolygonPlot[PolygonRotate[ptsTsection,{0,0},N[ /10]],Axes->True];
Now rotate it about the point (2, 0).
In[187]:=PolygonPlot[PolygonRotate[ptsTsection,{2,0},N[ /10]],Axes->True];
PolygonTranslateis employed to translate a cross section.
This translates the previously rotated polygon by (1, 2).
In[188]:=
Example 3: An Unconventional I-Section
By taking advantage of the triangulation function, you can deal with complex and irregular cross-section geometries. In this example, consider an
I-section with an additional attachment.
In[189]:=ptsIsection={{-2,-0.6},{-0.3,-0.6},{-0.3,-4},
{-3,-4},{-3,-4.6},{3,-4.6},{4,-4.6},{4,-3},
{3,-3},{3,-4},{0.3,-4},{0.3,-0.6},{2,-0.6},{2,0},{-2,0}};
In[190]:=ppIsection=PolygonPlot[ptsIsection];
Here is the depiction of this triangulation of ptsIsection.
Page 29 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
30/38
In[191]:=tpIsection=TriangulationPlot[ptsIsection];
You rotate this I-section with respect to the origin (0, 0) by 180 degrees and generate the new coordinates of the nodal points.
In[192]:=rotatedI=PolygonRotate[ptsIsection,{0,0},N[ ]]//Chop
Out[192]=
This is the rotated section.
In[193]:=PolygonPlot[rotatedI,Axes->True];
Example 4: A Complex Domain with an Opening
As noted earlier, the triangulation function in Structural Mechanicscan handle domains with openings. Now consider a complex shape with an
opening.
In[194]:=ptsComplex={{-0.770, -3.06}, {1.25, -3.69}, {1.99, -1.7},
{1.91, -0.70}, {1.3, -0.67}, {0.88, -2.57},
{0.28, -1.33}, {0.34, -0.31}, {0.88, -0.19},
{1.3, -0.67}, {1.91, -0.70}, {1.93, -0.12},
{1.2, 0.13}, {-1.96, -0.09}};
This shows the domain.
In[195]:=Show[Graphics[Polygon[ptsComplex]]];
As the following graph shows, you create the opening in this cross section by including overlapping sides to form the polygon. In this example, the
points 4 and 11 and the points 5 and 10 are of the same coordinates. Note that the pl ot generated by the function PolygonPlotshows only the
points 4 and 5.
In[196]:=p2=PolygonPlot[ptsComplex];
Here you can generate and plot the triangulation of the region with the opening.
Page 30 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
31/38
-
8/13/2019 Cross Sect
32/38
-
8/13/2019 Cross Sect
33/38
After you compute the location of the centroid of the previously introduced T-section , it is ma rked on the triangulation of the shape.
In[215]:=pc=PolygonCentroid[tcTsection]
Out[215]=
In[216]:=Show[tpTsection,Epilog->MarkPoint[pc],PlotRange->{{-3,3},{-5,1}},AspectRatio->1];
As mentioned earlier, you can rotate a section by an angle about a point on the plane. The list rotptsTsectioncontains the coordinates of the rotated
section. The section is rotated about the point (2, 0) by /10.
In[217]:=rotptsTsection=PolygonRotate[ptsTsection,{2,0},N[ /10]];
Draw the picture of the rotated T-section here.
In[218]:=rotpp=PolygonPlot[rotptsTsection,Axes->True];
You calculate the centroid of the rotated section from the coordinates of the rotated section.
In[219]:=sc=PolygonCentroid[TriangleCoordinates[rotptsTsection]]
Out[219]=
As expected, the relative location of the centroid, with respect to the section, has not changed.
In[220]:=Show[rotpp,Epilog->MarkPoint[sc]];
You calculate and mark the location of the centroid of the unconventional cross section that was introduced previously.
In[221]:=pc=PolygonCentroid[TriangleCoordinates[ptsIsection]]
Out[221]=
In[222]:=Show[tpIsection,Epilog->MarkPoint[pc]];
Page 33 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
34/38
Here is the location of the centroid of the complex domain.
In[223]:=pc=PolygonCentroid[tcComplex]
Out[223]=
This shows the location of the centroid on the triangulation plot.
In[224]:=Show[tpComplex,Epilog->MarkPoint[pc]];
The centroid of a hand tool can be useful information. Compute the centroid of the wrench and mark it on its triangulation.
In[225]:=pc=PolygonCentroid[tcWrench]
Out[225]=
In[226]:=Show[tpWrench,Epilog->MarkPoint[pc]];
2.3.4 Moments of Inertia
The package NumCrossSectionPropertiesincludes polygon versions of the moment functions that are examined in Section 2.2.4. The
command ?*Moment*exhibits these correspondences.
In[227]:=
PolygonInertialMoments SectionInertialMoments
PolygonMomentsRotate SectionMomentsRotate
PolygonMomentsTranslate SectionMomentsTranslate
PolygonPolarInertialMoments SectionPolarInertialMoments
PolygonPolarMomentsRotate SectionPolarMomentsRotate
PolygonPolarMomentsTranslate SectionPolarMomentsTranslate
You calculate the moments of inertia of the T-section.
In[228]:=PolygonInertialMoments[tcSimple]
Page 34 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
35/38
Out[228]=
Find the moments of inertia of the unconvent ional T-section.
In[229]:=PolygonInertialMoments[tcTsection]
Out[229]=
Next give the moments of inertia of the unconventional I-section.
In[230]:=PolygonInertialMoments[tcIsection]
Out[230]=
Then calculate the moments of inertia of the complex domain with an opening.
In[231]:=PolygonInertialMoments[tcComplex]
Out[231]=
Finally, find the moments of inertia of the wrench profile.
In[232]:=PolygonInertialMoments[tcWrench]
Out[232]=
There are three ways to calculate the moments of inertia of a rotated polygon.
The first method is to use the fu nction PolygonMomentsRotate.
In[233]:=PolygonMomentsRotate[tcTsection, /10]//N
Out[233]=
For the second method, rotate the polygon using the function PolygonRotate, and then compute the moments of inertia of this rotated polygon.
In[234]:=rottcTsection=TriangleCoordinates[PolygonRotate[ptsTsection,{0,0},N[ /10]]];
In[235]:=PolygonInertialMoments[rottcTsection]
Out[235]=
Use PolygonMomentsRotatewith the previously computed moments of inertia for the third method.
In[236]:=PolygonInertialMoments[tcTsection]
Out[236]=
In[237]:=PolygonMomentsRotate[%,N[ /10]]
Out[237]=
Page 35 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
36/38
In[238]:=PolygonMomentsTranslate[tcSimple,{0.1,-0.1}]
Out[238]=
You may obtain the same result by using the moments of inertia, area, and centroid that were previously calculated: = 31. , = 24.3125
, = 24.2083 , area = 6.5 , and centroid = {1.70 , 1.43 }.
In[239]:=PolygonMomentsTranslate[{31.,24.3125,24.2083},6.5,{1.70513,1.4359},{0.1,-.1}]
Out[239]=
You use the following fun ctions for triangulated sections in the same manner as their counterpart s for domain names in the previous section.
PolygonPolarInertialMomentscalculates the polar moments of inertia from a triangulation of the polygon domain.
You use the function PolygonPolarInertialMomentsRotateto compute the polar moments of in ertia of a rotated polygon from its
triangulation.
You use the function PolygonPolarMomentsTranslateto compute the polar moments of inertia of a translated polygon from its
triangulation.
2.3.5 Principal Axes
For a cross section specified by a polygon, there exists a coordinate system in which the product moment of inertia vanishes. You can
determine this coordinate system either by rotating the original coordinate system with its origin axis system located at the centroid of the
cross section, or by rotating the cross section with respect to the same coordinate system (Oxy). You use the function
DomainPrincipalAxesDirectionsto calculate the orientations of the principal axes.
Page 36 of 38Cross-Sectional Properties
6/27/2011http://reference.wolfram.com/applications/structural/Cross-Secti...
-
8/13/2019 Cross Sect
37/38
-
8/13/2019 Cross Sect
38/38
2011 About Wolfram Wolfram Blog Wolfram|Alpha Terms Privacy Site Map Contact
Page 38 of 38Cross-Sectional Properties