Cross Sect

Embed Size (px)

Citation preview

  • 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