Quantcast
Channel: RAM | STAAD | ADINA Wiki
Viewing all 8748 articles
Browse latest View live

RAM Concept Structure [FAQ]

$
0
0
Revision 26 posted to RAM | STAAD Wiki by Karl G on 4/13/2017 8:10:59 PM
 Product(s):RAM Concept
 Version(s):Any
 Environment: N/A
 Area: Modeling, Analysis
 Original Author:Bentley Technical Support Group

Mesh Input layer

Why is it necessary to have priorities?

Without the priority system the modeling of floors would require one of two methods:

  1. Objects for slabs of different thicknesses, beams, openings etc. could not overlap - this would be very tiresome for all but very simple floors, or
  2. Depths would have to be additive. For example, you would have to deduct slab depth from beam depth. If you had to change the slab depth then a change would be required for the beam, unless its depth changed by the same amount.

How can I copy columns or walls below to the same above?

  1. Select all of the columns or walls you wish to copy.
  2. Choose Edit > Copy (or right-click and choose Copy from the popup menu that appears). Then double click off the edge to select nothing.
  3. Choose Edit > Paste (or right-click and choose Paste from the popup menu that appears). The pasted objects are the current selection.
  4. Choose Edit > Selection Properties, or right-click and choose Selection Properties.
  5. Change Support Set from Below to Above, and click OK.

Note: It is important that you do not abandon the process after pasting. Otherwise, you will have two supports below at various locations, which causes calculation errors.

How can I model curved edges or walls?

Use a series of short straight lines to model any curve in the plan. Do not make the line segments too short or the mesh will become very fine in that region. This approximation should have negligible effect. This also applies to circular drop caps which have to be simulated using a multi-sided polygon.

 

Element layer

How can I view the slab without the mesh?

Choose Layers > Element > Slab Summary Plan or go to the visible objects dialog box and check the "Outline only" option under slab elements.

What is the difference between beam and slab elements?

There is no difference unless you modify their behavior. Refer to the RAM Concept Manual Chapter 18 "Defining the Structure" for more information. The main difference between beam and slabs is how they are modeled: a beam is modeled by clicking on two end points along its centerline and always has two parallel edges offset from centerline, while a slab area is closed polygon and can be any shape in plan.

How many nodes or elements are allowed?

There is no limit, other than the limitations of your computer. If you find the program performance too slow, consider any of the following to help:

  1. increase the mesh size to reduce the number of elements 
  2. delete an imported drawing file that is no longer needed 
  3. reduce the number of load cases and/or load combinations
  4. reduce the number of design strips or increase the spacing of the design strip cross sections.

How many elements should I use per span or panel?

This cannot be answered directly as it depends upon the structure and loads. The maximum is 32.8 feet (10 meters). To speed the analysis, it is useful to choose a coarse mesh for preliminary design and a fine mesh for final design.

  • A coarse mesh might have an element size of span length /6.
  • A fine mesh might have an element size of span length /12.

If in doubt, you should investigate the effects of different mesh element sizes.

Columns

Do columns restrain the slab?

Depending upon the defined fixity, columns can provide rotational and lateral restraint. If the far end of a column is defined as a “roller” support (or both ends of the column are pinned) then the column does not provide any lateral restraint to the slab. Columns above the slab do not support the slab vertically, they can only restrain the slab rotationally and laterally.

Why is there deflection at the face of a supporting column or wall?

Columns in Ram Concept connect to the slab finite element mesh at a single node located at the column centroid. They are not solid objects nor do they provide vertical support to multiple nodes. This is apparent viewing the Elements - Standard Plan.

As such, deflections in the slab start from that node and increase towards the face of the column. For small columns this may not matter much, but for large area columns this is significant. 

To mimic the behavior of a stiff column support, we suggest modeling a thick and stiff slab object that overlays the column volume like a mini-drop cap. Be sure to assign a higher priority to this patch of concrete. It is recommended to model this patch with an elevated top of concrete elevation such that the slab centroid aligns with the mid-depth of the patch in order to avoid eccentricity at this joint.

The same approach could be taken for thick walls supporting the slab as well. A beam or slab object can be used there.

Beams

Where should you define the end points of a beam, at the face of the column, passing the column or at the center line? 

The general preference is to model the beams through the column, extended to the slab edge since it best matches the built condition and how things are formed. Stopping the beam at the column centerline results in a slightly more flexible system.

Walls

Do walls restrain the slab laterally?

Yes, if you select Shear Wall as a property. If the Shear Wall is unchecked then the slab is allowed to slip freely over the top of the wall. The walls rotational stiffness is independent of the Shear Wall setting; use the fixity settings to control the walls rotational stiffness about its longitudinal axis.

What is the effect of specifying walls above?

Wall elements can be used to model the stiffness and spanning ability of walls connected to the slab. Walls above behave similarly to beams in that they stiffen the floor. One could actually model the walls above the slab as beams instead, but it is not generally recommended.

Using beam or slab elements does have some advantages over using wall elements (“wall-beams”):

  • Concept design strip cross sections automatically integrate the forces across slab-beam elements; wall-beam elements are ignored in these integrations, however.
  • Also, Concept provides you many controls over how slab element results can be displayed; wall-beam elements (like wall elements) can only plot their reactions to the slab.
  • However, Concept’s standard slab elements have a torsional stiffness that is proportional to their depth cubed. This can cause a large over-estimation of the torsional stiffness for a very thick slab element if it is adjacent to relatively thin elements. “Wall-beam” elements do not have this problem. As such, walls above that are modeled as upturned beams should use the “No-torsion” beam property.

When modeling wall-beams above the slab, Concept interprets some of the wall element parameters differently than for walls below.

  • If the wall-beam is not rotationally fixed to the slab then the wall-beam will have zero torsional stiffness.
  • If the wall-beam is not a shear wall then it will have zero axial stiffness. The vertically compressible and rotationally fixed at far end parameters are ignored.

Wall-beam elements have one advantage over slab elements.

  • Slab elements of drastically differing thicknesses in the same structure can cause the automatic plotting controls to show (correctly) huge force variations in and adjacent to thick slab elements and almost no variation within the thin slab element areas. This does not generally happen if walls above are modeled as wall-beams.

Do walls above the slab provide rotational restraint?

There is no restraint at the far end of a wall above. (Even if “Rotationally Fixed at Far End” is checked, it is ignored).

Tags: FAQs, SELECTservices, RAM Concept, WALLS, mesh, Elements

Modeling Mat Foundations (Rafts)

$
0
0
Current Revision posted to RAM | STAAD Wiki by Karl G on 4/13/2017 8:18:33 PM

  
 Applies To 
  
 Product(s):RAM Concept
 Version(s):Various
 Environment: N/A
 Area: Modeling; Analysis
 Original Author:Bentley Technical Support Group
  

Does Concept ignore soil tension?

You can reduce the tension by iteration. The tension gets closer to zero with an increase in the number of iterations. See “Zero tension iteration options” on page 126 for more information.

What value should I use for the area springs Z force constant?

The geotechnical engineer commonly provides a value called the “subgrade modulus” or “modulus of subgrade reaction”. As a guide only, realistic values vary from 100 pci (approx. 25 MN/m3) for soft clay to 750 pci (approx. 200 MN/m3) for very dense gravel.

RAM Concept automatically multiples the area spring constant (units of force per cubic length) by the tributary area of each finite node (determined from mesh size) to determine the spring constant (units of force per length) at each node.

The subgrade modulus is determined in the field using a plate load test, typically using a 1ft x 1ft square plate. The actual modulus value is dependent on the size of the loading area: for a given displacement, the modulus value decreases as the plate size is increased. RAM Concept does not automatically adjust the input area spring constant to account for this size effect. If you are not sure what area spring constant to use, consult with a geotechnical engineer. Some engineers choose to run the analysis with a spring constant varying from 0.5 to 5-10 times the provided value and design for the worst case (see ACI 336.2R-88). In many cases, the stiffness of the mat is much larger than the soil stiffness. In these cases, the forces in the slab and the computed soil pressure may not be sensitive to the area spring constant.

Note: Area springs are always assumed to be compression only springs in the Z direction, but they behave elastically in the R and S axes. Line and point springs are also linear elastic supports resisting tension or compression.

If 2 or more area springs overlap, is the spring stiffness cumulative?

Yes, soil area spring stiffness values are cumulative. If you model two area springs with 100 pci stiffness you will get 200 pci stiffness in the intersection.

Does Concept design for soil heave?

Not directly. You could draw spring supports that approximate varying soil support.

Do I need to draw the columns above in a mat foundation model?

No, but it is a good idea. It ensures a node is placed at that location where there is likely to be a heavy point load. The columns also provide convenient snap points for tendons or design strips.

Can Concept design for pile supports?

Yes. Use either (flexible) columns under, or point springs. Skin friction is not considered.

Can Concept design for pile and mat (raft) action together?

Yes, but the results could be very susceptible to variations in geotechnical parameters. For example, if the soil’s stiffness is overestimated, the actual pile reactions could be significantly underestimated. Use caution.

Does the area spring support have to match the mesh?

No. An oversized area spring is fine. The program applies the individual nodal springs based on the mesh tributary area.

Can the soil stiffness vary?

Yes. You can vary the stiffness in two directions. See “Area spring properties” on page 55.

Where do I select the allowable soil bearing pressure?

This is not an input parameter. You need to look at soil bearing pressure plans (which have a maxima / minima legend) to assess the maximum pressures. 

 

See Also

Structural Product TechNotes And FAQs

Tags: FAQs, rafts, SELECTservices, mat foundation, RAM Concept, Modeling

RAM Concept Support Solutions

$
0
0

Importing DXF Files into RAM SS [TN]

$
0
0
Current Revision posted to RAM | STAAD Wiki by Esra Persellin on 4/13/2017 11:29:51 PM

  
 Applies To 
  
 Product(s):RAM Structural System
 Version(s):13.00.00.00 or later
 Environment: N/A
 Area: N/A
 Subarea: N/A
 Original Author:Bentley Technical Support Group
  

Importing DXF Files into RAM SS

General

DXF plans can be imported into RAM Modeler. This process is discussed in Section 3.3 of the RAM Modeler documentation. In order to achieve a successful import, it is imperative that you have a properly formatted DXF file that is precise so that the entities can be mapped properly and subtle framing inaccuracies can be avoided. Here is a link to a sample DXF file that is formatted to match the out-of-the-box RAM Structural System defaults. The only exception is the Grid Label Symbol should be changed to the GRIDLABEL block. It contains the "I" shaped column, rectangular shaped column, and grid label block definitions that are mentioned in this document.

http://communities.bentley.com/products/structural/structural_analysis___design/m/structural_analysis_and_design_gallery/270488

DXF files can only be imported into layout types that contain no information. To import a DXF file, create and select a new layout in RAM Modeler and go to Layout > Type > Import from DXF. Select the DXF file and the following dialog box will appear. The default parameters may be changed in the Defaults Utility in RAM Manager. For simplicity, use the same layers in the DXF as the import defaults so the layer names do not need to be changed in the Import DXF dialog box. When a DXF file is imported, RAM Modeler will only look for information on these layers and other layers will be ignored. In order to prevent inaccuracies, it is recommended that you reduce the drawing to its bare essentials prior to importing. This also speeds up the process of regeneration in very large drawing files. If you intend to import the sample.dxf file, the parameters in the Import DXF dialog box should match those shown below.


Grids

RAM Modeler is capable of creating orthogonal and radial grid systems. For grid lines to be recognized as part of a single grid system, they must be drawn accurately. Orthogonal grid systems must have at least one grid in two orthogonal axes to be recognized. For additional grids to be recognized in the same orthogonal grid system, they must be precisely parallel. If the ‘Split Disconnected Orthogonal Grids' option is selected, any grid lines that do not physically intersect will be treated as separate system. Radial grids must be composed of a circular grid(s) intersected by radial grids lines that pass through the center of the circular grid. Make sure that grid lines are actually lines, not polylines, and not part of a larger block or external reference file. CAD files often have closely spaced grids in which the grid bubbles overlap if they were centered on the grid line. It is common practice to offset the grid bubbles in the drawings using grid extensions. Grid extensions must not exist in the DXF file or they will be erroneously treated as grid lines.


Grid Labels

Grid labels should be drawn on a separate layer than the grid lines. A common problem occurs when users model circles for grid bubbles on the grid lines layer instead of the grid labels layer. The circles will be interpreted as circular grids instead of grid labels. Grid labels should preferably be defined by as a block with a text attribute.
The insertion point should be at the exact center so the grid bubbles are located precisely on the grid lines. Alternatively, draw the grid labels as simple pieces of text that are middle center justified and located at the end of the grid. If desired, grid labels can be added in RAM Modeler so it is not a necessity to have a grid labels in the DXF file.


Columns

Columns should be drawn as blocks. The program will recognize one type of block for "I" sections, Rectangular HS sections, and Round HS sections. You cannot use more than one block type to represent different column sizes within the same drawing and there should not be separate blocks for gravity and lateral columns. When defining the blocks, make sure that the insertion point of the block is in the exact center which is then placed precisely on the grid line. It is required to have all of the gravity columns on a single layer. Likewise, all lateral columns must exist on a single layer.


Beams and Joists

All beams and joists should be lines, not polylines. Use snaps to place lines from column to column as required. The finished beam line should be cut back from the supports just as a beam would typically be drawn on a structural framing plan. The dimension of the offset should be between 6 and 24 inches to maintain accuracy. Joist and infill beams can be drawn in the DXF import file or simply added in the RAM Modeler using the various member generation features available. If they are to be drawn in the DXF import file, remember to use a distinct layer for joists.


Cantilevers

For cantilever beams, draw lines continuous over supports (whether columns or other beams). End the line at the exact endpoint of the cantilever and do not trim it back. Members that frame into the end of the cantilever are then cut back as typical beams. Be sure that the apparent intersection of these beams matches the exact endpoint of the cantilever. Alternatively, cantilevers can be indicated using a block inserted at the end of the beams where the moment connection occurs as shown below. Notice how the cantilever tips extend to the actual location and are not cut back.

  


Slab Edges and Openings

Slab edges/openings should be lines, not polylines. Slab edges and slab openings are imported as free formed edges/openings with a zero inch offset. Therefore, the slab edges/openings are not tied to the perimeter beams/walls. This is acceptable but can lead to problems building the framing tables when complicated perimeter geometry exists and there are one way slabs. For this reason, it is recommended that slab edges/openings only be imported for two way slabs.

Concrete

The DXF import facility is only for steel members at this time. If you are trying to import concrete columns or beams, first import them as steel members using the procedures above, then use the Modeler Layout - Column (or Beam) - Change Material command to convert the imported members over to Concrete.

Since concrete is not supported, walls are also not imported. It may help to import two columns at the wall CL endpoints so that drawing in walls in Modeler is easier.

Concrete columns, walls and slabs can also be exported from RAM Concept to a new RAM SS layer using RAM Concept - File menu - Sync Ram Structural System - Export Geometry to RAM.

 
Tips and Tricks

If you are working in English units, verify that the drawing units are architectural. If other units are being used it is necessary for one drawing unit to equal 1 inch. If not, the drawing may need to be scaled. For metric or SI drawings, one unit should equal 1 millimeter.

Establish a logical origin point for the drawing that will assure precise locations for grid intersections, and relocate the drawing if necessary. Large coordinates are known to cause problems in RAM Structural System. These problems can be related to graphical issues such that some view tools in RAM Frame can become corrupt and can prevent the user from rotating the model or zooming in/out when in the module. Typically, the column in the lower left hand corner of the plan should be moved to (0, 0, 0) unless a more logical origin exists. Be sure to reference the World Coordinate system and not a local UCS, since the World coordinates are always referenced in the DXF file.

When saving the drawing as a DXF file in AutoCAD, go to Tools > Options in the Save As dialog box. In the DXF options tab you have the ability to specify the number of decimal places of accuracy. Reducing the decimal places in the DXF file might help eliminate minor framing discrepancies. For example, imagine two grids defined by end points (0, 0, 0) ; (0, 1200, 0) and (240, 0, 0) ; (240.0003, 1200, 0). These two lines are not parallel because of the small inaccuracy in the X coordinates of the second line and would import as separate grid systems. However, if the decimal places where rounded to 3, this inaccuracy would be resolved and the grids would import as a single system as intended. RAM Structural System only displays to three decimal places of an inch but may be stored internally at a higher precision. However, be careful if you have skewed framing or radial grids. Eliminating too many decimal places might cause framing errors in RAM Structural System. In these situations it might be best to save the DXF with 4 decimal places and be certain that the framing is drawn very accurately in CAD. RAM Structural System expects framing locations to be accurate to 3 decimal places of an inch to avoid tolerance related problems.

Once the framing has been imported, try to add a slab edge around the whole perimeter. If there are any other modeling errors they will likely be indicated at this time. If this works fine, then you should add a deck and surface load to the whole floor, assign story data, run the data check, and perform the beam design, all before you make any minor changes to the file. 

See Also

RAM SS - Using DXF as a Reference Layout

Integrated Structural Modeling Home

Structural Product TechNotes And FAQs

RAMSS Two Way Decks

Tags: SELECTservices, RAM Structural System, TechNote, RAM Modeler

SELECT Licensing of Microstran

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/18/2017 9:25:54 PM

While hardware locks were previously the means of licensing Microstran, this is no longer the case. Microstran is now licensed through Bentley CONNECT SELECTservices (BCSS). The fundamental concept in gaining access to software licensed through BCSS is product activation. Activation of a product is required regardless of the type of agreement a customer has with Bentley, the products owned, and the permissions set by a systems administrator. This article describes how to activate the desired tier of the Microstran product on a computer, as well as any design codes or features.

 

Activating Microstran and Associated Features

To configure and activate a Microstran license, go to License Configuration under the File menu within Microstran. Note that this dialog will appear automatically after the first launch of Microstran following installation.


Select the tier of Microstran to be activated on the computer: Microstran, Microstran.Pro, or Microstran.Advanced. For a list of features associated with each tier, see the technote Bentley's Tiered Offering of Microstran. The design codes and integrated steel connection design feature can then additionally be selected as desired. Selecting Apply at the bottom of the dialog will enable only the features that have been selected. Note that at this point the product is not activated, but the desired tier and additional features chosen will be communicated to SELECT server once activation takes place.

To activate the product, select Product Activation Wizard at the bottom of the dialog. The ensuing screen will list four activation options. To determine which option is appropriate, consult the systems administrator at your organization or contact Bentley technical support. Generally speaking, users new to Bentley will, in most cases, be activating against a hosted SELECTserver.

Detailed instructions for completing the product activation, dependent on which activation method is utilized, are available at the following links:

Activating against a hosted (Bentley) SELECTserver:

https://communities.bentley.com/products/licensing/w/licensing__wiki/4987.aspx

Activating against a deployed (local) SELECTserver:

https://communities.bentley.com/products/licensing/w/licensing__wiki/5277.aspx

Activating as a NON-SELECT or Node Locked User:

https://communities.bentley.com/products/licensing/w/licensing__wiki/5278.aspx

 

As with past versions of Microstran, the features that have been activated and are available to the user can be reviewed in the Help -> About dialog, as shown below.


 

What is the License Management Tool?

Just below the Product Activation Wizard button in the Microstran Licensing Configuration dialog is a button called License Management Tool. This tool allows users to revise and manage licensing settings for all Bentley products. This includes the checking out of a license. Information on this feature is available in the following article:

http://communities.bentley.com/products/licensing/w/licensing__wiki/license-management-tool.aspx

 

If we are allowed to activate and use any number of licenses, how does this relate to the number of licenses we own?

Although a given organization may own a set number of licenses of a specific Bentley product, authorized users may activate and use as many licenses as needed, with no cap enforced on usage.

The only exceptions to the above are the design codes listed under the category: check-out-only licenses. For these design codes, users may only check out up to the number of licenses the organization owns. Attempts to check-out more licenses than owned will be prevented by the License Management Tool. Licenses are freed by issuing the Check In command.

Enabling the option “Check in All on Closing Microstran”, will ensure the above mentioned Checked Out only licenses are checked back in upon closing Microstran.

For detailed information on Bentley’s licensing policies and benefits, see the following link:

https://communities.bentley.com/products/licensing/w/licensing__wiki/12388.bentley-connect-selectservices-formerly-selectserver-quick-start-guide.aspx

See Also

Microstran License Configuration

Tags: Licensing Utility, Microstran Licensing, Product Activation Wizard, Microstran hot links, About Microstran

RAM Elements

$
0
0
Revision 21 posted to RAM | STAAD Wiki by F_Diego on 4/19/2017 6:42:54 PM

3D Structural Analysis and Design Software

RAM Elements is a unique combination of a 3D finite element analysis/design program with structural engineering toolkit modules for every day engineering design needs.

  • Design of hot-rolled and cold-formed steel, wood, masonry, and concrete can be done, all within a single model in one interface.
  • RAM Elements provides structural engineers with a toolkit set of modules for the analysis and design of structural elements, including: concrete beams, continuous beams, reinforced concrete columns, wood structures, trusses, spread or combined footings, retaining walls, tilt-up walls, concrete walls, and masonry walls.
  • [[RAM Connection]] is also integrated grated with RAM Elements with an appropriate license. Steel connections can be designed without leaving the RAM Elements interface.
  • Full 3D finite element analysis capabilities are also in RAM Elements.  

Vist the RAM Elements product Page for additional information on this product.

Bentley CONNECT RAM Elements is CONNECTED. Why CONNECT?

ISM Enabled RAM Elements is ISM Enabled.

LEARN

View RAM Elements learning paths on Bentley's LEARNserver.

Video

(Please visit the site to view this video)

Download

You can download the latest version of RAM Elements from Bentley's Fulfillment Center.

RAM Elements is available under a Structural Enterprise License. Learn more.

Support

Visit [[RAM Elements Support Solutions]]

Related

[[RAM Structural System]], [[RAM Connection]], [[STAAD(X)]], [[STAAD.Pro]], [[Microstran]]

Tags: NDS, RAM Elements, structural engineering, ACI, finite elements, structural design, ToolKit, metal buildings, masonry, hot rolled steel, AS, RAM Advanse, Reinforced Concrete, wood, cold formed steel, retaining wall, tiltup, design modules, BS, FEA, Structural Analysis, AISC, product description, EC3, timber, AISI

The self weight of my mat is not getting multiplied by the 1.4 factor

$
0
0
Current Revision posted to RAM | STAAD Wiki by Sye on 4/19/2017 6:48:55 PM

Applies To
Product(s):STAAD Foundation Advanced
Version(s):ALL
Environment: ALL
Area: General
Subarea: Mat foundation
Original Author:Sye Chakraborty, Bentley Technical Support Group

 

I am designing a mat foundation and have defined DL, LL, EL etc. and a number combinations with these loads. One of the combinations is 1.4 DL + 1.6 LL. When I look at the combination it seems like the self weight of the mat is not being factored by 1.4 whereas the other dead loads applied as part of the DL are being factored correctly. Why is that ?

 

The self weight is not multiplied by the load combination factor. All other loads are factored. To factor the self weight by a factor, you need to select the Add Self Weight and Dead weight factor option and specify the Dead Weight Factor as shown next.

 


Tags: Dead weight factor, factor, self weight, selfweight, selfweight is not factored

Mat Foundation

$
0
0
Current Revision posted to RAM | STAAD Wiki by Sye on 4/19/2017 6:49:32 PM

  
 Applies To 
  
 Product(s):STAAD.Foundation Advanced
 Version(s):All
 Environment: N/A
 Area: Mat Foundation
 Subarea: N/A
 Original Author:Sye Chakraborty
Bentley Technical Support Group
  

This page contain FAQs related to the Mat Foundation module.

  1. Assigning Different Thickness at Different Locations in Mat
  2. Circular Line Loads
  3. Combining Loads Created in SFA with Loads Imported from STAAD.Pro
  4. Density of Concrete
  5. SFA Saving Results
  6. Error : No Pile or Soil Support Defined
  7. Excessively High Displacements
  8. Modifying a Mesh Region
  9. Punching Shear Check
  10. Viewing Warnings & Errors
  11. Magnitude of the Base Pressure at Various Nodes
  12. Mat Analyzed in STAAD.Pro and Designed in SFA
  13. Modeling Footings Connected by Grade Beams
  14. Moment Envelope not Generated
  15. Sliding and Overturning Check
  16. Moments Reporting not Matching
  17. What are Analysis Thickness and Design Thickness in SFA ?
  18. [[Obtaining bearing pressure plots and stress plots for mat foundation in SFA]]
  19. [[For a mat, how to find the most critical service load case for the soil bearing and obtain a bearing pressure plot for that case ?]]
  20. [[Does SFA account for the moments due to horizontal shears in foundation design ?]]
  21. [[How can I graphically identify the node at which the displacement is maximum in a mat ?]]
  22. [[The self weight of my mat is not getting multiplied by the 1.4 factor]]

Tags: sliding, different thickness, save results, mat foundation, moments report, mat, density of concrete, density, magnitude, Grade beams, modify mesh region, overturning, high displacements, punching shear, moment envelope, circular line loads

Appendix B: RAM Structural System data available through SQLite - Technology Preview

$
0
0
Revision 3 posted to RAM | STAAD Wiki by Seth Guthrie on 4/19/2017 9:53:42 PM

Appendix B

 

Technology Preview – RAM Structural System data available through SQLite

 

Enabling the Feature

In order to make this feature available for use you must edit the ramis.ini file. The file is located in the RAM Structural System directory; for normal installations this can be found at:

C:\ProgramData\Bentley\Engineering\RAM Structural System.

 

In the ramis.ini file there is a line in the [Testing] section that looks like:

 

WriteDataToExternalDatabase=0

or

WriteDataToExternalDatabase=1

 

A value of 0 indicates that the feature is not available; a value of 1 means the feature is available. With an editor such as Notepad modify the line so that it says WriteDataToExternalDatabase=1. This will allow data to be saved to an SQLite database which can be accessed with the report generator. If necessary the feature can be disabled by editing the ramis.ini file and modifying the line to say WriteDataToExternalDatabase=0.

 

Description

Two SQLite files are generated by the RAM Structural System. The first file with geometric data will be created when you exit the RAM Modeler. The second file is created in RAM Frame as part of the Analysis. To write the analysis results to SQLite, select the check box at the bottom of the dialog:

 

 

These files are part of the model. They are initially written to the working directory and then saved into the .rss file.

 

A report generator that reads the SQLite database tables and creates reports in Excel has been added to the RAM Manager. The commands to run the viewer are located under the Post-Processing menu. The report generator can be run in two different ways:

  • View SQLite Report command will automatically generate a report using all the data in all the tables in the SQLite files. The report opens in Excel with one tab per table in the SQLite files.

  • SQLite Report Generator… command will launch the report generation tool providing the user with control over the generated report.

 

When the Report manager opens, the

available SQLite tables are listed to the left.

 

All tables can be selected for inclusion in the report by clicking the double arrow button below the list.

 

This will result in all table names being moved to the window on the right indicating that they will be included in the report.

 

 

 

Tables can be added individually to a report by selecting the table and then clicking the single arrow button below the list.

 

This will result in the single table being listed in the right-hand window indicating it will be included in the report.

 

 

 

A report can be further refined by selected only certain fields from a table.

 

In the left-hand window, click the + beside the table name to expose the field names.

 

Select a field and click the single arrow button below the list.

 

The result will be that the table name and only that field will be moved to the window on the right. Additional fields can be added.

 

When the report is generated for this table, only the selected fields will be included.

 

 

 

To generate a report, select the green Lightning button from the toolbar. An Excel report will be generated from the data in the selected SQLite database tables.

 

 

 

To view the report in Excel format, select the Excel button beside the Generate button. One tab is created for each table selected from the database.

 

 

Tags: RAM Frame, RAM Structural System, Export, release notes, 15.04, SQLite, Report

Excel Tabular Output of Design Results for a RAM Structural System Model

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/19/2017 9:56:48 PM

RAM Structural System provides a wealth of built-in reporting functionality. However, users often times have requested the ability to have a custom report of all the beam designs in one big table that is beyond the default reporting functionality. We can achieve this and much more by using RAM DataAccess API.

RAM DataAccess API allows programmatic input/output of a RAM Database file. The following is an outline of the steps involved to produce an Excel design report of all the steel beams in a RAM Structural System database file.

For an in-depth discussion about RAM DataAccess API see http://communities.bentley.com/products/structural/structural_analysis___design/m/structural_analysis_and_design_gallery/141899

If you are VBA inclined, search for a document on your computer entitled “RAM DATAAccess Developers Guide.pdf”. It is included in the RAM Structural System installation and details the entire RAM DataAccess API for input and output.

User Story:

  1. In Microsoft Excel, the user clicks a button, a file selection dialog is displayed and prompts the user to select the source RAM Structural System (*.rss) file.
  2. Once a RAM Structural System file is selected, the program outputs the design result of each beam into a “outputTbl”, with each row being 1 beam, and each column being the design value of interest

See it in action:

(Please visit the site to view this video)

 

Steps:

Setting up your Excel Workbook for VBA Development

  1. Ensure the “Developers” Ribbon is displayed. File->Options->Customize Ribbon, and check “Developers”

                       

 

  1. Save your blank workbook as “*.xlsm”  macro enabled spreadsheet
  2. In the developer tab go to “Visual Basic”, and your should see the VBA Code Editor
  3. Right click “ThisWorkbook” and insert a new module

 

2. Our code will reside in this new module. Go to Tools – References and select ‘RAMDataAccess 2.0 Type Library’ from the ‘References – VBAProject’ dialog box. Adding this reference to your application creates a library of the functions and constants that are available in RAM DA. Also select Microsoft Scripting Runtime, as this will allow us to use “Dictionaries”. Dictionaries are a handy Key Value Pair storage system.

 

3. With “Module 1” selected, copy and paste the following code:

''''''''''''''''''''''''''' CODE START ''''''''''''''''''''''''''''''
Dim RamDataAcc1 As RAMDATAACCESSLib.RamDataAccess1
Dim RamDataAccIDBIO As RAMDATAACCESSLib.IDBIO1
Dim IModel As RAMDATAACCESSLib.IModel
Dim ISteelCriteria As RAMDATAACCESSLib.ISteelCriteria
Dim IModelData1 As RAMDATAACCESSLib.IModelData1
Dim IStories As RAMDATAACCESSLib.IStories
Dim IStory As RAMDATAACCESSLib.IStory
Dim IBeams As RAMDATAACCESSLib.IBeams
Dim IBeam As RAMDATAACCESSLib.IBeam
Dim IProperties As RAMDATAACCESSLib.IProperties
Dim IProperty As RAMDATAACCESSLib.IProperty
Dim ISteelBeamDesignResult As RAMDATAACCESSLib.ISteelBeamDesignResult
Dim prop As Props

Dim pStartPoint As RAMDATAACCESSLib.SCoordinate
Dim pEndPoint As RAMDATAACCESSLib.SCoordinate
Dim dVersion As Double
Dim dVMin As Double


'Long
Dim R As Long
Dim lNumMems As Long
Dim lNumStories As Long
Dim lStory As Long
Dim lMem As Long
Dim lNumCants As Long
Dim lMemberID As Double
Dim plNumStudSegments As Long
Dim lSizeOfArrayOfStuds As Long
Dim lTotalStuds As Long
Dim lStudSeg As Long
Dim i As Long
Dim lNumPoints As Long
Dim lPoint As Long
Dim lStoryUID As Long
Dim NumFinalPolygons As Long
Dim lFinalPolygon As Long
Dim NumFinalDiaphragms As Long
Dim lHole As Long
Dim lFirstSpace As Long
Dim j As Long
Dim lNumWebOpenings As Long
Dim lBasePlate As Long
Dim lFixity As Long
Dim lAboveUID As Long
Dim lSplice As Long
Dim lLoadDB As Long
Dim palNumStuds() As Long'Double
Dim dMemLength As Double
Dim pdArea As Double
Dim pdBfTop As Double
Dim pdBfBot As Double
Dim pdTfTop As Double
Dim pdTfBot As Double
Dim pdDepth As Double
Dim pdWebT As Double
Dim dSectionPerimeter As Double
Dim dX1 As Double
Dim dY1 As Double
Dim dZ1 As Double
Dim dX2 As Double
Dim dY2 As Double
Dim dZ2 As Double
Dim dPerimeterLength As Double
Dim dConcThick As Double
Dim dPolygonArea As Double
Dim dHoleArea As Double
Dim dP1X As Double
Dim dP2X As Double
Dim dP3X As Double
Dim dP1Y As Double
Dim dP2Y As Double
Dim dP3Y As Double
Dim dP1Z As Double
Dim dP2Z As Double
Dim dP3Z As Double
Dim dP1P2 As Double
Dim dP2P3 As Double
Dim dP1P3 As Double
Dim dTemp As Double
Dim dWeight As Double
Dim dUnitsFactor As Double
Dim dDesignCamber As Double

Dim A As Double
Dim B As Double
Dim C As Double
Dim dAngle As Double
Dim dM1 As Double
Dim dM2 As Double


'Enumerators
Dim eBeamCoordLoc As eBeamCoordLoc
Dim peBeamStatus As model_status
Dim peColumnStatus As model_status
Dim peFrameStatus As model_status
Dim peShape As ESTEEL_SEC'Strings
Dim frameType As String

Type Props
    strDesig As String
    strRollFlg As String
    dDepth As Double
    dTw As Double
    dBfTop As Double
    dTfTop As Double
    dBfBot As Double
    dTfBot As Double
    dKTop As Double
    dKBot As Double
    dArea As Double
    dPerimeter As Double
    strShape As String
End Type


Private Function GetSectionProps() As Props
    Dim SectionProps As Props

    Set IMemberData1 = RamDataAcc1.GetDispInterfacePointerByEnum(IMemberData_INT)
    IMemberData1.GetSteelMemberSectionDimProps lMemberID, peShape, 1, pdBfTop, pdBfBot, pdTfTop, pdTfBot, 1, 1, pdDepth, pdWebT, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, pdArea
    If peShape = EStlWF Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = 2 * pdBfTop + 2 * pdDepth + 2 * pdBfBot - 2 * pdWebT
        SectionProps.dBfTop = pdBfTop
        SectionProps.strShape = "ISection"
    End If
    If peShape = EStlChannel Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = 2 * pdBfTop + 2 * pdDepth + 2 * pdBfBot - 2 * pdWebT
        SectionProps.dBfTop = pdBfTop
        SectionProps.strShape = "Channel"
    End If
    If peShape = EStlTube Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = 2 * pdBfTop + 2 * pdDepth
        SectionProps.dBfTop = pdBfTop
        SectionProps.strShape = "Tube"
    End If
    If peShape = EStlDoubleL Then
        SectionProps.dArea = 2 * pdArea
        SectionProps.dPerimeter = 4 * pdDepth + 4 * pdWebT
        SectionProps.dBfTop = 0
        SectionProps.strShape = "DoubleAngle"
    End If
    If peShape = EStlFlatBar Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = pdBfTop * 2 + pdTfTop * 2
        SectionProps.dBfTop = 0
        SectionProps.strShape = "Bar"
    End If
    If peShape = EStlLSection Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = 2 * pdDepth + 2 * pdWebT
        SectionProps.dBfTop = 0
        SectionProps.strShape = "Angle"
    End If
    If peShape = EStlNone Then
        SectionProps.dArea = 0
        SectionProps.dPerimeter = 0
        SectionProps.dBfTop = 0
        SectionProps.strShape = "NA"
    End If
    If peShape = EStlPipe Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = pdDepth * 3.14159
        SectionProps.dBfTop = 0
        SectionProps.strShape = "Pipe"
    End If
    If peShape = EstlRoundBar Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = pdDepth * 3.14159
        SectionProps.dBfTop = 0
        SectionProps.strShape = "Rod"
    End If
    If peShape = EStlTSection Then
        SectionProps.dArea = pdArea
        SectionProps.dPerimeter = 2 * pdBfTop + 2 * pdDepth
        SectionProps.dBfTop = 0
        SectionProps.strShape = "Tee"
    End If

    GetSectionProps = SectionProps

End Function



Sub runThis()
' Define Variables'Set version developed
    dVMin = 14.5'Get Model path
    Dim OpenFile As String
    Dim strVMin As String
    Dim iNumStories As Long
    Dim strStoryID As String
    Dim lNumBeams As Long
    Dim member_num As String
    OpenFile = Application.GetOpenFilename("RAM SS Database (*.ram; *.rss), *.ram; *.rss")
    If OpenFile = "" Or OpenFile = False Then
        Exit Sub
    End If'Initialize DataAccess
    Set RamDataAcc1 = New RAMDATAACCESSLib.RamDataAccess1'Set RamDataAcc1 = CreateObject("RAMDATAACCESSLib.RamDataAccess1")'Initialize IO interface
    Set RamDataAccIDBIO = RamDataAcc1.GetDispInterfacePointerByEnum(IDBIO1_INT)'Check to see if compatible version
    RamDataAccIDBIO.GetDatabaseVersion OpenFile, dVersion
    dVersion = Round(dVersion, 1)
    If dVersion < dVMin Then
        strVMin = dVMin
        MsgBox "This tool was written for Ram Structural System version " + strVMin + " or later.  Please update."
        Exit Sub
    End If


    lLoadDB = RamDataAccIDBIO.LoadDataBase2(OpenFile, "DA")
    If lLoadDB <> 0 Then
        MsgBox "The model appears to be in use or is not consistent with the version of RAM Structural System on this machine."
        Exit Sub
    End If'Initialize the Object Model Interface
    Set IModel = RamDataAcc1.GetDispInterfacePointerByEnum(IModel_INT)' get Storeis
Set IStories = IModel.GetStories
iNumStories = IStories.GetCount

ClearTable "outputTbl"

For lStory = 0 To (iNumStories - 1)
    Set IStory = IStories.GetAt(lStory)
    strStoryID = IStory.strLabel

    'Get member ID lists on Story

    Set IBeams = IStory.GetBeams
    IBeams.Filter eBeamFilter_Material, ESteelMat
    lNumBeams = IBeams.GetCount
    Dim lBeam As Long
    For lBeam = 0 To lNumBeams - 1



        Set IBeam = IBeams.GetAt(lBeam)
        lMemberID = IBeam.lUID
        member_num = IBeam.lLabel
       ' If member_num = 1 Then

        sect_lbl = IBeam.strSectionLabel
        camber = IBeam.dCamber
        prop = GetSectionProps
        IBeam.GetCoordinates eBeamEnds, pStartPoint, pEndPoint

        Set ISteelBeamDesignResult = IBeam.GetSteelDesignResult
        Dim numStudsDAArray As RAMDATAACCESSLib.DAArray
        Set numStudsDAArray = ISteelBeamDesignResult.GetNumStudsInSegments






        Dim designedCamber
        Dim pSize As Long

        ' determin frame type

        If IBeam.eFramingType = MemberIsGravity Then

            frameType = "Gravity"
            Set IGravitySteel1 = RamDataAcc1.GetDispInterfacePointerByEnum(IGravitySteelDesign_INT)

            If IBeam.bComposite = 1 Then
                ReDim palNumStuds(0 To 4) As Long
                IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetSize pSize

                For lStudSeg = 0 To pSize - 1
                    IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetAt lStudSeg, k
                    lTotalStuds = lTotalStuds + k
                    palNumStuds(lStudSeg) = k
                Next

                For onWards = pSize To UBound(palNumStuds)
                    palNumStuds(onWards) = 0

                Next

            Else
                lTotalStuds = 0
            End If

        ElseIf IBeam.eFramingType = MemberIsLateral Then
            frameType = "Lateral"


            If IBeam.bComposite = 1 Then
                ReDim palNumStuds(0 To 4) As Long
                lTotalStuds = 0

                IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetSize pSize

                For lStudSeg = 0 To pSize - 1
                    IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetAt lStudSeg, k
                    lTotalStuds = lTotalStuds + k
                    palNumStuds(lStudSeg) = k
                Next

                For onWards = pSize To UBound(palNumStuds)
                    palNumStuds(onWards) = 0

                Next

            Else
                lTotalStuds = 0
            End If


        End If



        dMemLength = Sqr((pStartPoint.dXLoc - pEndPoint.dXLoc) ^ 2 + (pStartPoint.dYLoc - pEndPoint.dYLoc) ^ 2 + (pStartPoint.dZLoc - pEndPoint.dZLoc) ^ 2)






        Dim dict As New scripting.dictionary

        dict.Add "Floor", strStoryID
        dict.Add "BeamNo", member_num
        dict.Add "FrameType", frameType
        dict.Add "SectionLbl", sect_lbl
        dict.Add "SectionShp", prop.strShape
        dict.Add "SectArea", prop.dArea
        dict.Add "SectTop", prop.dBfTop
        dict.Add "SectPerimeter", prop.dPerimeter
        dict.Add "BeamLength", dMemLength
        dict.Add "StartX", pStartPoint.dXLoc
        dict.Add "StartY", pStartPoint.dYLoc
        dict.Add "StartZ", pStartPoint.dZLoc

        dict.Add "EndX", pEndPoint.dXLoc
        dict.Add "EndY", pEndPoint.dYLoc
        dict.Add "EndZ", pEndPoint.dZLoc


        dict.Add "Camber", IBeam.dCamber
        dict.Add "StudDiameter", IBeam.dStudDiameter
        dict.Add "StudLength", IBeam.dStudLength

        dict.Add "StudSegmentLength1", IBeam.dStudSegment1Length
        dict.Add "StudSegmentLength2", IBeam.dStudSegment2Length
        dict.Add "StudSegmentLength3", IBeam.dStudSegment3Length
        dict.Add "StudSegmentLength4", IBeam.dStudSegment4Length
        dict.Add "StudSegmentLength5", IBeam.dStudSegment5Length
        dict.Add "NumOfStud1", palNumStuds(0)
        dict.Add "NumOfStud2", palNumStuds(1)
        dict.Add "NumOfStud3", palNumStuds(2)
        dict.Add "NumOfStud4", palNumStuds(3)
        dict.Add "NumOfStud5", palNumStuds(4)

        AddToTable dict, "outputTbl"
        Set dict = Nothing'End If



    Next

Next

For Each ws In ThisWorkbook.Worksheets
    For Each lstobj In ws.ListObjects
        If lstobj.Name = "outputTbl" Then
            lstobj.ListColumns(1).Delete

        End If
    Next
Next

RamDataAccIDBIO.CloseDatabase



End Sub


Sub ClearTable(tblName)

    For Each ws In ThisWorkbook.Worksheets
        For Each lstobj In ws.ListObjects
            If lstobj.Name = tblName Then
                lstobj.Delete

            End If
        Next
    Next

    Dim wsh As Worksheet
    Set wsh = ThisWorkbook.Worksheets(1)
    Dim lo As ListObject
    Set lo = wsh.ListObjects.Add(xlSrcRange, Range("$A$4"), , xlYes)
    lo.Name = "outputTbl"
    lo.ListRows.Add AlwaysInsert:=True
End Sub

Sub AddToTable(dict As scripting.dictionary, tblName)

Dim wkBk As Workbook
Dim wksht As Worksheet
Dim lo As ListObject
Dim lstobj As ListObject

Set wkBk = Application.ThisWorkbook


    For Each ws In ThisWorkbook.Worksheets
        For Each lstobj In ws.ListObjects
            If lstobj.Name = tblName Then
                AddDictToTbl lstobj, dict

            End If
        Next
    Next



End Sub


Public Function DoesTableExist(ByVal wb As Workbook, _
ByVal tblName As String) As Boolean
    On Error GoTo catch

    DoesTableExist = False

    Dim lstobj As ListObject, ws As Worksheet

    For Each ws In wb.Worksheets
        For Each lstobj In ws.ListObjects
            If lstobj.Name = tblName Then
                DoesTableExist = True
                Exit Function
            End If
        Next
    Next

    Exit Function
catch:
    DoesTableExist = False
End Function


Public Function AddDictToTbl(lo As ListObject, dict As scripting.dictionary)

Dim hr As Range
Set hr = lo.HeaderRowRange

For Each k In dict.Keys
    If Application.WorksheetFunction.CountIf(hr, k) > 0 Then

    Else
        lo.ListColumns.Add
        lo.HeaderRowRange.End(xlToRight) = k
    End If
Next

'lo.ListColumns("Column1").Delete

Dim rowRng As ListRow
'lo.ListRows.Add AlwaysInsert:=True

Set rowRng = lo.ListRows(lo.ListRows.Count)
Dim colRng As Range
Dim tarRng As Range

For Each Key In dict.Keys
    ' find column no from key
    Set colRng = lo.ListColumns(Key).Range
    Set tarRng = colRng(lo.ListRows.Count + 1)
    tarRng = dict(Key)

Next

    lo.ListRows.Add AlwaysInsert:=True


End Function
‘Explanation:  In VBA , we work with variables, front portion establishes some commonly used variable to store our values in.''''''''''''''''''''''''''' CODE END ''''''''''''''''''''''''''''''

 

4. Select Cell “A4” on Sheet 1 and insert a table. Check "my table has header", and enter “ouputTbl” as the table Name.

5. In Developer Tab, Insert-> Form Controls -> Button. Draw a button above the table you have just added. Right click the button and edit the text to read “Load RSS”. Right click button again and select “Assign Macro”. A dialog will pop up asking which procedure to run when this button is pressed. Select “runThis” Procedure. Save your workbook and try out the program you have just created.

 

Explanation

1. When you click the "Load RSS" button it will launch the procedure "runThis". Let's drill into the content of "runThis" and see what it is doing.

In runThis, we ask the user to select the RSS database to pull information from using the following code:

    OpenFile = Application.GetOpenFilename("RAM SS Database (*.ram; *.rss), *.ram; *.rss")
    If OpenFile = "" Or OpenFile = False Then
        Exit Sub
    End If

OpenFile is the path to the RSS database file selected by the user, if the user did not select a file, it "Exit Sub" <-- or exit the procedure.

Once the user has sucessfully selected a file, the program proceeds with the following lines of code:

 

 
    'Initialize DataAccess
    Set RamDataAcc1 = New RAMDATAACCESSLib.RamDataAccess1
    'Set RamDataAcc1 = CreateObject("RAMDATAACCESSLib.RamDataAccess1")
    'Initialize IO interface
    Set RamDataAccIDBIO = RamDataAcc1.GetDispInterfacePointerByEnum(IDBIO1_INT)
   
    'Check to see if compatible version
    RamDataAccIDBIO.GetDatabaseVersion OpenFile, dVersion
    dVersion = Round(dVersion, 1)
    If dVersion < dVMin Then
        strVMin = dVMin
        MsgBox "This tool was written for Ram Structural System version " + strVMin + " or later.  Please update."
        Exit Sub
    End If
   
   
    lLoadDB = RamDataAccIDBIO.LoadDataBase2(OpenFile, "DA")
    If lLoadDB <> 0 Then
        MsgBox "The model appears to be in use or is not consistent with the version of RAM Structural System on this machine."
        Exit Sub
    End If
    
    
    'Initialize the Object Model Interface
    Set IModel = RamDataAcc1.GetDispInterfacePointerByEnum(IModel_INT)

 

The above block of code establishes some pointer variables and checks if the current version is compatible. Once that is done it loads the RSS Database with lLoadDB = RamDataAccIDBIO.LoadDataBase2(OpenFile, "DA") , and sets the Object Model Interface.

 

' get Storeis
Set IStories = IModel.GetStories
iNumStories = IStories.GetCount

ClearTable "outputTbl"

 

We then get the number of stories and assign to iNumStories and also run this self explanatory function ClearTable "ouputTbl", which deletes the content of a Table with the name "outputTbl". This clears the table from previously output results.

 

 For lStory = 0 To (iNumStories - 1)
    Set IStory = IStories.GetAt(lStory)
    strStoryID = IStory.strLabel
   
    'Get member ID lists on Story
   
    Set IBeams = IStory.GetBeams
    IBeams.Filter eBeamFilter_Material, ESteelMat
    lNumBeams = IBeams.GetCount
    Dim lBeam As Long
    For lBeam = 0 To lNumBeams - 1


       
        Set IBeam = IBeams.GetAt(lBeam)
        lMemberID = IBeam.lUID
        member_num = IBeam.lLabel
       ' If member_num = 1 Then

        sect_lbl = IBeam.strSectionLabel
        camber = IBeam.dCamber
        prop = GetSectionProps

Next we start a nested "for" loop, where we are iterating through each story in the model, and also iterating through each beam in each storey. The current Beam Object we are working is set to IBeam. We assign its properties (e.g beamID and beam No to some intermediary variables), and also run a helper method called GetSection Props, which pushed some properties to the prop variable.

 

     Dim pSize As Long
       
        ' determin frame type
       
        If IBeam.eFramingType = MemberIsGravity Then
       
            frameType = "Gravity"
            

            If IBeam.bComposite = 1 Then
                ReDim palNumStuds(0 To 4) As Long
                IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetSize pSize
               
                For lStudSeg = 0 To pSize - 1
                    IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetAt lStudSeg, k
                    lTotalStuds = lTotalStuds + k
                    palNumStuds(lStudSeg) = k
                Next
               
                For onWards = pSize To UBound(palNumStuds)
                    palNumStuds(onWards) = 0
               
                Next
           
            Else
                lTotalStuds = 0
            End If
           
        ElseIf IBeam.eFramingType = MemberIsLateral Then
            frameType = "Lateral"

            If IBeam.bComposite = 1 Then
                ReDim palNumStuds(0 To 4) As Long
                lTotalStuds = 0

                IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetSize pSize
               
                For lStudSeg = 0 To pSize - 1
                    IBeam.GetSteelDesignResult.GetNumStudsInSegments.GetAt lStudSeg, k
                    lTotalStuds = lTotalStuds + k
                    palNumStuds(lStudSeg) = k
                Next
               
                For onWards = pSize To UBound(palNumStuds)
                    palNumStuds(onWards) = 0
               
                Next
            
            Else
                lTotalStuds = 0
            End If
           
       
        End If
       

       
        dMemLength = Sqr((pStartPoint.dXLoc - pEndPoint.dXLoc) ^ 2 + (pStartPoint.dYLoc - pEndPoint.dYLoc) ^ 2 + (pStartPoint.dZLoc - pEndPoint.dZLoc) ^ 2)

 

Next we check for it framing system type (beam or lateral), and push the design values for these beams to intermediate variables. note the dMemLength is just a simple formula from the beam coordinate outputs.

 

        Dim dict As New scripting.dictionary
       
        dict.Add "Floor", strStoryID
        dict.Add "BeamNo", member_num
        dict.Add "FrameType", frameType
        dict.Add "SectionLbl", sect_lbl
        dict.Add "SectionShp", prop.strShape
        dict.Add "SectArea", prop.dArea
        dict.Add "SectTop", prop.dBfTop
        dict.Add "SectPerimeter", prop.dPerimeter
        dict.Add "BeamLength", dMemLength
        dict.Add "StartX", pStartPoint.dXLoc
        dict.Add "StartY", pStartPoint.dYLoc
        dict.Add "StartZ", pStartPoint.dZLoc
       
        dict.Add "EndX", pEndPoint.dXLoc
        dict.Add "EndY", pEndPoint.dYLoc
        dict.Add "EndZ", pEndPoint.dZLoc
       
       
        dict.Add "Camber", IBeam.dCamber
        dict.Add "StudDiameter", IBeam.dStudDiameter
        dict.Add "StudLength", IBeam.dStudLength

        dict.Add "StudSegmentLength1", IBeam.dStudSegment1Length
        dict.Add "StudSegmentLength2", IBeam.dStudSegment2Length
        dict.Add "StudSegmentLength3", IBeam.dStudSegment3Length
        dict.Add "StudSegmentLength4", IBeam.dStudSegment4Length
        dict.Add "StudSegmentLength5", IBeam.dStudSegment5Length
        dict.Add "NumOfStud1", palNumStuds(0)
        dict.Add "NumOfStud2", palNumStuds(1)
        dict.Add "NumOfStud3", palNumStuds(2)
        dict.Add "NumOfStud4", palNumStuds(3)
        dict.Add "NumOfStud5", palNumStuds(4)

        AddToTable dict, "outputTbl"
        Set dict = Nothing

 

We created a new Dictionary Object, this dictionary object stores Key (Beams property NAME), Value (Beams Property VALUE) into one object. We then run a helper function entitled AddToTable that takes a dictionary object as well as the table name to ouput the results to.

AddToTable adds the value according to the column headings for each new beam into a new row.

 

    Next

Next

 

Closing next statement for our two concentric for loops in the beginning of the code.

The completed macro enabled workbook, along with the example file can be downloaded at

Note that the completed workbook contains additional code that allows the import of not only Beams, but also Columns, Horizontal Braces, Vertical Braces and RAM Frame reactions in the model.

***Important caveats and considerations when replicating this work:

  1. Make a back up of your target RSS file before testing this out.
  2. All results output by the API are in Imperial units. Conversions to SI are required on the client side.
  3. RAM Structural System has to be switched off at the time of running.
  4. Should it error out at some point, try again and ensure that the “*.usr” file located in the same directory as your “*.rss” file is deleted.

See Also

RAM Structural System data available through SQLite - Technology Preview

Tags: Excel, reports, Export, VBA, MEMBERS, RAM, Tabular

RAM Steel Column gives RAM Container error

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/19/2017 10:03:24 PM

 Product(s):RAM Structural System; RAM Steel Column
 Version(s):15.03.00.00
 Environment: N/A
 Area: Installation
 Original Author:Payel Sasmal, Bentley Technical Support Group

Problem Description

When opening RAM Steel Column, a RAM Container error that it could not create the module is displayed.

Solution

This is associated with a .dll mismatch. To resolve the problem, either repair the installation of RAM Structural System or perform a clean installation.

Performing a Clean Installation

Tags: installation, Could not create module, error, RAM Steel Column

Structural Enterprise

$
0
0
Revision 3 posted to RAM | STAAD Wiki by Seth Guthrie on 4/19/2017 10:10:03 PM

Structural Enterprise is a special software license that provides access to an entire suite of structural analysis and design software. Under Structural Enterprise, a user has unlimited access to the entire RAM product line and most of the STAAD and Microstran product lines. Structural Enterprise consolidates numerous individually priced applications to a single package and maintenance fee.

Product Page

Product Data Sheet

See Also

[[How do I install Structural Enterprise?]]

Structural Enterprise Setup Wizard

Tags: Structural Enterprise, Setup Wizard, RAM, Microstran, STAAD, Limcon

Column Design Verification - AS3600-09 (RAM Concrete)

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/20/2017 4:00:38 PM

Overview

The purpose of this example is to verify the concrete column design in RAM Structural System for the Australian standard AS3600-09. This example is based on the simple column and beam frame shown in Figures 1 through 3. The column under consideration is 500 mm square and is at the first level of a simple four-storey beam-column space frame.

Figure 1 - Elevation view of beam-column frame with column under consideration circled.

 

Figure 2 - Three-dimensional view in RAM Structural System of beam-column frame with column under consideration circled.


 

Figure 3 - Column section showing reinforcing used in design example.


 

Criteria and Properties

  • Design according to AS3600-09
  • (4) storeys, 3500 mm storey-to-storey height typical
  • 500 mm x 500 mm cross section
  • f'c = 35 MPa, fy = 460 MPa
  • Vertical reinforcing: (16) N16, typical
  • Shear reinforcing: N10@350, typical
  • Bar cover = 30 mm
  • Slenderness reduction factor k = 1.0
  • Column braced in both principal column directions at each storey
  • Column resists axial load only

Various sections of the column design report in RAM Structural System are shown throughout this example to compare the verification calculations to results produced in RAM Structural System. The figure below shows the section of the report that summarises the properties and geometry used by the program.

 

Figure 4 - Column design report in RAM Structural System showing properties and geometry used by the program.

 

Loading

Dead Load

  • Self-weight of 200 mm slab = 24 kN/m3 x 200 mm = 4.80 kPa
  • Super-imposed dead load (SIDL) = 1 kPa

Live Load

  • LL = 5 kPa (unreducible)
  • Tributary area to column of 8x8 m

Column load per storey:

G = 8 x 8 x (4.8 + 1) = 371.2 kN

Q = 8 x 8 x 5 = 320 kN

Combined load:

1.35G = 1.35 x 371.2 = 501.1 kN

1.2G + 1.5Q = 1.2 x 371.2 + 1.5 x 320.0 = 925.4 kN


Controlling load combination is 1.2G + 1.5Q

Axial design force at the ground level:

N* = 4 x 925.4 = 3701.8 kN

 

Design Methodology

The design procedure provided in Clause 10.2.1 is utilised. Accordingly, Clause 10.3.1 is used to classify the column as either short or slender, which will dictate the clauses to be used for design. As noted in Criteria and Properties in this document, the column is braced in each principal direction. Thus, use Clause 10.3.1(a), which states that a column is short if Le/r is less than the greater of:

  • 25
  • alphac(38 – fc/15)(1 + M*1/M*2)

where

alphac = sqrt(2.25 - 2.5N*/0.6Nuo)   for N*/0.6Nuo≥ 0.15

alphac = sqrt(1/(3.5N*/0.6Nuo))   for N*/0.6Nuo< 0.15
 

In this example there is no moment acting within the column. Per 10.3.1(b), when the absolute value of M*1/M*2 is less than or equal to 0.05DN*, the ratio shall be taken as zero. Thus the value of 25 will control the check of Le/r.

Lux = 3.5 m

kx = 0.9 (restrained by beams as directed in Clause 10.3.1(b))

Lex = kxLux = 3.15 m

r = 0.3D = 0.3 x 500 mm = 0.15 m (per Clause 10.5.2)

Le/r = 3.15/0.15 = 21 ≤ 25

Therefore the column is short and per Clause 10.2.1(a), the design shall be in accordance with Clauses 10.3, 10.6, and 10.7.

 

Evaluation of Axial and Flexural Strength

Although there are no moments acting in the column, all types of columns are required to be designed for the minimum bending moment prescribed by Clause 10.1.2.

M*x = N* x 0.05 x D = 3701.8 x 0.05 x 0.5 = 92.5 kN

The column is evaluated for biaxial bending and compression per Clause 10.6.4:

(M*x/phiMux)^alpha_n + (M*y/phiMuy)^alpha_n <= 1.0

where

alpha_n = 0.7 + (1.7N*)/(0.6Nuo),  1 <= alpha_n <= 2

Determine the squash load Nuo per Clause 10.6.2.2:

alpha_n = 1 - 0.003f'c = 1 - 0.003 x 35 = 0.895, 0.72 <= alpha_1 <= 0.85

alpha_n = 0.85

Nuo = alpha_1 f'c Ac + fsyAs

        = 0.85 x 35 x (500^2 - pi x 16^2/4 x 16) + 460 x pi x 16^2/4 x 16

        = 8821.6 kN

alpha_n = 0.7 + 1.7 x (3701.8 / (0.6x8821.6)) = 1.89

 

Figure 5 - Column design report in RAM showing combined loads and squash load calculation.

 

Next, the design strength in bending under the design axial force N*, phiMux and phiMuy, must be determined. These values are calculated by considering the equilibrium of the cross section under a given axial load, with the assumption that the extreme fiber in compression is strained to the ultimate value for concrete of 0.003. Given these parameters, the location of the neutral axis of the section can be solved for such that the sum of the compression and tension resultants equilibrates the applied axial force. Summing the moments about the neutral axis then gives the design bending strength, phiMu, coincident with N*.

The section strains and force resultants for the case of this analysis where N* = phiNu = 3,701.8 kN are shown in the diagram below.

 

Figure 6 - Section strains and concrete and steel force resultants for the column cross section under an applied axial load of 6,169 kN.

 

Resolving the forces and moments in this diagram gives:

Nu = 6,169 kN (as expected, equilibrating the applied forces)

Mu = 464.4 kN-m

Thus,

phiNu = 3,701.8 kN

phiMu = 278.6 kN-m

More generally, a plot of Nu vs. Mu can be generated by varying the load Nu, solving for the neutral axis location that achieves equilibrium at the state of ultimate concrete strain, and determining the corresponding moment Mu.

 

Figure 7 - Plot of axial capacity versus flexural capacity for column.

 

Note: The spreadsheet used to generate the curve shown in Figure 7 can be downloaded at the following link:

http://communities.bentley.com/products/structural/structural_analysis___design/w/structural_analysis_and_design__wiki/17817.concrete-column-interaction-plot-spreadsheet

 

Now finalise the check for biaxial bending and compression per Clause 10.6.4:

(M*x/phiMux)^alpha_n + (M*y/phiMuy)^alpha_n <= 1.0

The minimum design moments are applied about both axes simultaneously,

2*(92.6/278.6)^1.89 = 0.249 < 1.0

Therefore design section passes biaxial bending checks.

 

Figure 8 - Column design report in RAM Structural System showing phiMu.

 

Figure 9 - Design results dialog in RAM Structural System showing reinforcing selected at storey in question and results of biaxial interaction evaluation.

Tags: Australia, Column, RAM Structural System, concrete, RAM, AS3600

Concrete Column Interaction Plot Spreadsheet

$
0
0
Revision 2 posted to RAM | STAAD Wiki by Seth Guthrie on 4/20/2017 4:01:31 PM

The following VBA enabled spreadsheet allows the user to produce the N-M interaction plots and strain diagrams for a given concrete rectangular column cross section. This was used in a recent column design verification post http://communities.bentley.com/products/structural/structural_analysis___design/w/structural_analysis_and_design__wiki/17799.column-design-verification-as3600-09-ram-concrete.

The N/M values are obtained by resolving the forces and moments at each trial neutral axis depth.

Please see video below for demonstration:

(Please visit the site to view this video)

 

The tool can be downloaded from here (note that its a Macro Enabled Spreadsheet ):

Tags: interaction diagram, RAM Structural System, Column Design, Ram Concrete

Coupling Beam Verification - ACI 318-08 (RAM Concrete)

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/20/2017 4:02:51 PM

General Description of Example

The structure under consideration is a two-story planar wall with 6’ wide doorways centered horizontally on the wall. No other structural elements (slabs, beams, columns, etc.) are considered, so that the wall design can be isolated. The stories are 12’-6” high and the walls are 12” thick.

The design is in accordance with ACI 318-08, and is categorized as an ordinary reinforced concrete structural wall per Section 21.1.1.7. Thus no provisions of Chapter 21, Earthquake-Resistant Structures, need to be fulfilled. The coupling beam under consideration is at the 2nd level.


Figure 1 - Elevation view of wall system

Materials

  • f’c = 5,000 psi
  • fy = 60 ksi

Dimensions

Coupling beam dimensions are as follows:

  • h = 72”
  • bw = 12”
  • Ln = 72”

Reinforcing

Coupling beam reinforced for flexure with a uniform mat of longitudinal bars, consisting of #6@12” o.c. at each face of wall.

Coupling beam reinforced for shear with #4 stirrups at 12” along entire span.

Figure 2 - Cross section view of coupling beam at second level

Ag = 72” x 12” = 864 in2

As = 7 x 2 x 0.44 = 6.16 in2

1.5” clear cover top and bottom

d = 0.8 x 72” = 57.6”

Applied Loads

A vertical point load is applied at midspan of the coupling beam at each story, 150 kips dead and 75 kips live. No other gravity loads are considered (self-weight is turned off in RAM model).

Lateral loads are applied at each story solely to generate compression or tension force within coupling beams, in order to demonstrate the effects of compression and tension on shear strength calculations. These loads are categorized as wind loads to keep them separate from gravity cases.

Figure 3 - Applied dead, live, and wind loads

Coupling Beam Design Forces

The forces in the coupling beam can be retrieved in RAM Frame using the shear wall forces module. A section is drawn at each end of the coupling beam span (inset 3” from the face) and at midspan. There is a dead, live, and wind load case.

Only one load combination is considered for this example:

1.2D + 0.5L + W

In this case the coupling beam is in compression.

Axial

  • P=  25.79 k (tension)
  • P=  12.89 k (tension)
  • PW =  84.56 k (compression)

Shear (at span ends):

  • V =  74.76 k
  • VL  =  37.38 k
  • VW =   0.00 k

Moment (positive flexure at midspan):

  • MD  =  163.13 k-ft
  • ML  =    81.57 k-ft
  • MW =     8.16 k-ft

Figure 4 - Forces at critical sections in coupling beam in RAM Frame

Shear Design

Pu = 1.2x(-25.79) + 0.5x(-12.89) + 84.56 = 47.17 k (compression)

Vu = 108.40 k

Mu = 244.70 k-ft (positive flexure at midspan)

Concrete shear strength for members subjected to axial compression, Equation (11-4):

Steel shear strength per section 11.4.7.2, Equation (11-15):

> Vu = 108.40 k

Figure 5 - Shear design results in RAM Concrete View/Update dialog - compression case

Maximum shear strength per 11.4.7.9:

OK

Maximum flexural bar spacing per section 7.6.5:

s <= 18"  OK

Stirrup spacing limit per section 11.4.5.1:

s <= d/2 = 57.6"/2 = 28.8"  OK

Check of limit 11.4.5.3:

OK

Minimum area of shear reinforcement per section 11.4.6.3, Equation (11-13):

OK

 

Case of Tension in Coupling Beam

Now the same calculations will be run for the load combination:

1.2D + 0.5L - W

In this case the coupling beam is in tension.

Shear Design

Pu = 1.2x(-25.79) + 0.5x(-12.89) - 84.56 = -121.95 k (tension)

Vu = 108.40 k

Mu = 244.70 k-ft (positive flexure at midspan)

Concrete shear strength for members subject to significant axial tension per section 11.2.2.3, Equation (11-8):

= 2 x (1 - 0.2823) x 48,875.2 = 70.16 k

Steel shear strength per section 11.4.7.2, Equation (11-15):

> Vu = 108.40 k

Figure 6 - Shear design results in RAM Concrete View/Update dialog - tension case

Tags: design example, Coupling Beam, RAM Structural System, ACI 318, verification example, Concrete Design, Ram Concrete, link beam, Shear Wall

Coupling Beam Verification - ACI 318-08 with Seismic (RAM Concrete)

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/20/2017 4:03:19 PM

General Description of Example

The structure under consideration is a two-story planar wall with 6’ wide doorways centered horizontally on the wall. No other structural elements (slabs, beams, columns, etc.) are considered, so that the wall design can be isolated. The stories are 12’-6” high and the walls are 12” thick.

The design is in accordance with ACI 318-08, and is categorized as a special reinforced concrete structural wall per Section 21.1.1.7. Thus the provisions of Chapter 21, sections 21.9 and 21.1.3 through 21.1.7 are enforced. The coupling beam under consideration is at the 2nd level.

Figure 1 - Elevation view of wall system

Materials

  • f’c = 5,000 psi
  • fy = 60 ksi

Dimensions

Coupling beam dimensions are as follows:

  • h = 72”
  • bw = 12”
  • Ln = 72”

Reinforcing

The coupling beam is reinforced for flexure with a uniform mat of longitudinal bars, consisting of (5) #5 at each face of the wall.

Shear reinforcing consists of #5 stirrups at 4” along the entire span.

Figure 2 - Cross section view of coupling beam

Ag = 72” x 12” = 864 in2

As = 5 x 2 x 0.31 = 3.10 in2

1.5” clear cover top and bottom

d = 0.8 x 72” = 57.6”

Applied Loads

A vertical point load is applied at midspan of the coupling beams at each story, 150 kips dead and 75 kips live. No other gravity loads are considered (self-weight is turned off in RAM model).

Seismic lateral loads are applied at each story such that axial force exists within the coupling beams, in order to demonstrate the effects of compression/tension on shear strength calculations.

Figure 3 - Applied dead, live, and earthquake loads

Coupling Beam Design Forces

The forces in the coupling beam can be retrieved in RAM Frame using the shear wall forces module (see Figure 4). A section is drawn at each end of the coupling beam span (inset 3” from the face) and at midspan. There is a dead, live, and earthquake load case.

Only one load combination is considered for this example:

1.2D + 0.5L + E

In this case the coupling beam is in compression.

Axial

  • PDL = 25.79 k
  • PLL = 12.89 k
  • PE  =  84.56 k (compression)

Shear (at span ends):

  • VDL = 74.76 k
  • VLL = 37.38 k
  • VE  =   0.00 k

Moment (positive flexure at midspan):

  • MDL = 163.13 k-ft
  • MLL =   81.57 k-ft
  • ME  =     8.16 k-ft

Combined loads

  • Pu = 1.2x(-25.79) + 0.5x(-12.89) + 84.56 = 47.17 k (compression)
  • Vu = 108.40 k
  • Mu = 244.70 k-ft (positive flexure at midspan)

Figure 4 - Forces at critical points in coupling beam span as taken from RAM Frame

Shear Design

Check the coupling beam dimensions and shear force per section 21.9.7:

(Ln/h) = 1 < 2

> Vu = 108.40, therefore per section 21.9.7.3, diagonal reinforcing is not required and the coupling beam will be designed according to sections 21.5.2 through 21.5.4.

The design shear force Ve is calculated in accordance with section 21.5.4.1 and figure R21.5.4:

Mpr is calculated as the flexural strength of the coupling beam section assuming:

  • phi = 1.0
  • Tensile strength of reinforcing = 1.25fy
  • Axial load acting in the section is neglected

Using these assumptions for the section in Figure 2, we find:

phiMn = 590.25 k-ft (assuming 75 ksi rebar)

Mpr = phiMn/phi = 590.25/0.90 = 655.83 k-ft

Note: The flexural strengths above can be verified by reconstructing the section in a separate model with the reinforcing strength set to 75 ksi rather than 60 ksi.

Thus,

Check the conditions of 21.5.4.2. If both of the following apply, then Vc must be taken as zero:

a)      The earthquake-induced shear force, 2x655.83/6 = 218.61 k, represents more than half of maximum required shear strength Ve = 345.70 k. Thus, this condition applies.

b)      The factored axial compressive force, Pu = 47.17 k, is less than Agf’c/20 = 216 k. Thus, this condition does not apply.

Therefore, Vc need not be taken as zero.

Concrete shear strength for members subjected to axial compression, Equation (11-4):

Vc = 2 x (1 + 0.0273) x 48,875.2 = 100.42 k

Steel shear strength per section 11.4.7.2, Equation (11-15):

Maximum steel shear strength per 11.4.7.9:

Controls

Thus,

phiVn = phi(Vc + Vs) = 0.75 x (100.42 + 391.00) = 368.57 k

Figure 5 - Shear design results from RAM Concrete View/Update dialog

Maximum flexural bar spacing per section 7.6.5:

s ≤ 18” OK

Stirrup spacing limit per section 21.5.3.2:

  • s ≤ d/4 = 57.6”/4 = 14.4”
  • s ≤ 8db,min = 8 x 0.625 = 5.0” (controls)
  • s ≤ 24db,shear = 24 x 0.625 = 15.0”
  • s ≤ 12”

s = 4” < 5”, OK

Minimum area of shear reinforcement per section 11.4.6.3, Equation (11-13):

OK

Tags: design example, Coupling Beam, RAM Structural System, ACI 318, verification example, Concrete Design, Ram Concrete, link beam, Shear Wall

Shear Wall Verification - ACI 318-08 (RAM Concrete)

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/20/2017 4:03:41 PM

 Overview

This document is intended to provide technical verification for the analysis and design results within the RAM Concrete Shear Wall design module. This example utilizes RAM Structural System v8i, SELECTseries4, Release 14.04.02.00, which is available for download on Bentley SELECT.

The scope of this document is limited to providing sufficient technical background so that the user may reproduce the design results and calculations performed in the design module. This document is not intended to exhaustively report the design results for the entire model, or provide a tutorial on how to use the applications.

The RAM model referred to in this document can be downloaded at the following link:

http://communities.bentley.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-10-51/5141.ShearWallDesignVerification_2D00_PlanarWall_2D00_ACI318_2D00_08.123

After downloading the file, change the extension from *.123 to *.rss.

 

Model Properties & Assumptions

  • (4) 12'-6" stories
  • 12" thick x 20'-0" long concrete wall stack
  • f'c = 4,000 psi, fy = 60 ksi
  • Walls reinforced with (2) layers of #6@12" o.c. vertically, and (2) layers of #5@12" o.c. horizontally
  • 10 klf dead load, 10 klf unreducible live load applied across full extent of wall at each story
  • Static lateral seismic story forces applied as shown in diagram below
  • Walls treated as Special Reinforced Concrete Shear Walls per ACI 318, Chapter 21
  • Maximum mesh node spacing of 4' used in RAM Frame
  • P-D effects are neglected
  • Membrane modifier of 0.35 used for walls

 

 

 

Design for Shear

The shear strength calculation is per ACI 318-08, Section 11.9.6 (as specified in the RAM Concrete design criteria setting) and 11.9.9. The relevant parameters are summarized below:

f'c = 4,000 psi
h = 12"
Lw = 20'
d = 0.8*20' = 16'
Nu = 656 kips (combo 0.82D + E1)
Vu = 250 kips (combo 0.82D + E1)
Mu = 9,333 k-ft (combo 0.82D + E1)

 

Equation (11-27)

Vc = 3.3l*sqrt(f'c)hd  +  Nud/(4Lw)
     = 3.3*1.0*sqrt(4,000)*12*(16*12)/1000  +  656*16/(4*20)
     = 480.9 + 131.2
     = 612.1 kips

Equation (11-28)

Vc = [ 0.6l*sqrt(f'c)  +  Lw[1.25*sqrt(f'c)  +  0.2Nu/(Lwh)] / (Mu/Vu - Lw/2) ]hd
     = [ 0.6*1.0*sqrt(4,000)  +  20*12*[1.25*sqrt(4,000)  +  0.2*656,000/(20*12*12)] / (9,333*12/250  -  20*12/2) ]*12*16*12
     = [ 37.9  +  240*[79.1  +  45.6] / 328.0 ]*2304/1000
     = 297.5 kips

Thus, Equation (11-28) controls

 

Horizontal reinforcing is (2) curtains of #5@12" o.c. Thus,

As = 2*0.307 in2 = 0.614 in2

Vs = Avfyd/s = 0.614*60*16*12/12 = 589.4 kips

Vn = 297.5 + 589.4 = 886.9 kips

 

Equation 11.9.3 limits Vn to:

Vn<= 10sqrt(f'c)hd  =  10*sqrt(4,000)*12*16*12/1000 = 1457.2 kips (does not control)

Thus,

fVn = 0.75*886.9 = 665.2 kips

 

Since this system is considered a Special Reinforced Concrete Shear Wall per ACI 318, the shear strength per Section 21.9.4.1 is also evaluated,

Equation (21-7)

Vn = Acv(acl*sqrt(f'c) + rtfy)

hw/Lw = 12.5/20 = 0.625 < 1.5, thus ac = 3.0

Acv = 0.8*20*12*12 = 2304 in2

rt = 0.62/(12*12) = 0.004306

Vn = 2304.0*(3.0*1.0*sqrt(4,000) + 0.004306*60,000)  =  1032.4 kips

fVn = 0.75*1032.4 = 774.3 kips

Therefore, Equation 11.9.3 controls

fVn = 665.2 kips

 

Comparing to shear results in the design report for the bottom-most section cut:

 

Design for Axial/Flexural Forces

Equation (10-2)

fPn,max = 0.80f[0.85f'c(Ag - Ast) + fyAst]

f = 0.65

Ag = 20*12*12 = 2,880 in2

Ast = 2 layers x 21 rows x 0.44 in2 = 18.5 in2

fPn,max = 0.80 x 0.65 x [0.85 x 4 x (2,880 - 18.5) + 60 x 18.5]  =  5,636 kips

We can deduce the value of fPn,max calculated by the program by dividing the value of Pu (which has zero moment) by the interaction value:

1119.95 / 0.199 = 5,629 kips

 

 

 

Special Boundary Element Design

From ACI 318-08, Section 21.9.6.1, compression zones shall be reinforced with special boundary elements where:

c >= Lw / (600du/hw)          ACI Equation (21-8)

du is the design displacement. ACI 318-08 elaborates on the meaning of this quantity in Section R21.9.6.2.

The value of displacement used in the calculation of du is taken from the RAM Frame Nodal Displacements report for the worst case combined load (accessible in RAM Frame Load Combinations mode).

 

From the report shown above, load combination 4 provides the worst case elastic lateral displacement de = 0.770".

du = Cdde = 5.0(0.770") = 3.85"

Also,

Lw = 12' x 12"/' = 240"

hw = 4 x 12.5' x 12"/' = 600" (overall height of wall)

du/hw  =  3.85"/600"  =  0.006417  <  0.007, thus use du/hw = 0.007 in ACI equation (21-8):

climit = 240/(600*0.007)  =  57.14"  =  4.76'

From the shear wall design results, the neutral axis distance from the extreme compression fiber for load combination 4, 1.28D + 0.5L - E1, is

c = 5.09'  >  climit

 

Thus a special boundary element is required. The required length of the boundary is specified in ACI 318-08, Section 21.9.6.4, and is equal to the larger of:

c - 0.1Lw = 5.09 - 0.1*20  =  3.10'

and

c/2 = 5.09/2  =  2.55'

Thus the required boundary length is 3.09', or 3'-1-3/16"

 

In this example, boundary regions have been assigned to the wall panel using the Assign -> Manual Reinforcement command. They have been laid out so that the resulting boundary length exceeds the minimum required length for each load combination. The point of maximum compression within the section cut for the selected load combination is denoted with a black dot. The required boundary length is then dimensioned from that point as shown in the screen capture above. If any reinforcing zones not designated as boundaries lie within this region, a design failure will be issued on the Design Warnings tab. In the scenario above, a boundary has been assigned so that the requirement is fulfilled.

 

The design of ties in confinement zones is per ACI 318-08, Section 21.6.4.

Equation (21-5)

Ash = 0.09sbcf'c/fyt

Per the code design criteria settings, a #4 tie is used,

Ash = 2 x 0.196 in2 = 0.392 in2

b = 12 - 2 x (0.75 + 0.50/2)  =  10.0"

Rearranging and solving for s,

s = 60.0 x 0.392 / (0.09 x 10.0 x 4)  =  6.53"

The spacing of transverse reinforcing shall also conform to ACI 318-08, Section 21.6.4.3, which states that the spacing of transverse reinforcing shall not exceed the smallest of:

a) 1/4 of the minimum member dimension = 12/4 = 3"

b) 6 x the diameter of the long bar = 6 x 0.75" = 4.5"

Therefore the controlling maximum tie spacing is 3"

Tags: axial/flexural, RAM Structural System, special seismic, boundary element, concrete, ACI 318, Ram Concrete, Chapter 21, Shear Wall

RAM Concept Tabular Input (ETABS Link)

$
0
0
Revision 8 posted to RAM | STAAD Wiki by Wentao Zhang on 4/20/2017 11:46:23 PM

Often times users have inquired about ways to:

  1. Input Items in Ram Concept in a tabular manner
  2. Import ETABS floor files to Ram Concept format.

We have created a converter that caters for these two commonly asked queries. The converter works by exploiting a little used functionality in RAM Concept, the ability to SYNC to a STAAD GCFF text file.

 

The Converter is an EXCEL VBA Program, it converts inputs to a GCFF file format that allows RAM Concept to read in the elements. Coincidentally ETAB can export to a F2K format which is also a text format that the Converter can handle. The following graphics illustrates this.

 

 

This current version of the converter can handle F2K files from ETABS only. First line of the F2k file should read "$ File Exported from ETABS.......".

Please access the converter and instructional video via the link below (Download the entirety of the folder in the provided link as a zip file locally to your computer.).

https://communities.bentley.com/products/structural/structural_analysis___design/m/structural_analysis_and_design_gallery/272599

Troubleshoot/Common Solutions:

Q1: Getting "Compile Error: User-defined type not defined"

A:  Due to the different OS and Excel version that may be running this tool, some VBA references may be misaligned. Ensure that, your VBA Spreadsheet has the right   References on your machine. Try the below:

In Excel, Go to Developer Tab; if Developer Tab is not visible, enable it by going to: File--> Options-->Customize Ribbon; Ensure Developer Tab is Checked; Click Ok.

Under Developer Tab--> Click Visual Basic

Visual Basic Editor--> Tools --> References; Ensure "Microsoft XML, v5.0" or  "Microsoft XML, v6.0" is checked. Toggle between these till the error disappears.

Save your modified spreadsheet.

Q2: Getting "Error 5"

A: Two most common causes for the above error have to do with SAFE F2k File, and some minor modification when exporting from ETABS/SAFE is required.

1.Ensure that the force units used in ETABS/SAFE Export to generate the F2k file are either kip/kn/m/N/lb, note that it does NOT support the force unit: "tonf".

2.Ensure that property and load case names in ETABS/SAFE have NO spaces, E.g 

Load Case: "Red. LL_ABOVE" needs to be changed to "Red.LL_ABOVE" and

Slab Property: "S - 300 - C50" needs to be changed to  "S-300-C50".

    Complete the above 2 suggestions and export SAFE F2k file again, try to import into the spreadsheet the updated F2k file and "Error 5" should be resolved.

 

 

Tags: CONCEPT RAM ETABS CONVERTER EXCEL

Nodes Not Displayed in Graphics Window

$
0
0
Current Revision posted to RAM | STAAD Wiki by Seth Guthrie on 4/24/2017 3:43:24 PM

 Applies To 
 Product:Ram Elements
First Affected Version:13.04.00.177
 Found in Version:13.04.01.208
Fixed and Released in Version:
 Area: Graphics
Severity:High
 Issue #:692067

Problem Description

Nodes are invisible in the main graphics window of Ram Elements.

The nodes are in the model, they can be edited in the spreadsheet, and the node numbers can be displayed, but the dots for the nodes cannot be seen in the main graphical window. 

Steps to Reproduce

Problem started after April 18 2017 and appears to be a side effect of Windows 10 Professional update build 1703. Various graphics adapters and drivers are affected. 

Solution

Under Investigation

Tags: Active, RAM Elements, graphics, nodes, known issue, defect

Program Help (F1) Not Working

$
0
0
Revision 2 posted to RAM | STAAD Wiki by Seth Guthrie on 4/25/2017 2:42:33 PM

 Applies To 
 Product:Ram Elements
First Affected Version:13.04.01.208
 Found in Version:13.04.01.208
Fixed and Released in Version:
 Area: Help
Severity:Low
 Issue #:635330

Problem Description

The help files are missing in version 13.04.01.208 so clicking F1 or the ribbon menu Help (?) button does nothing.

Steps to Reproduce

Problem with all installations of version 13.04.01.208 only.

Solution

Download and install one of these help files only if Ram Elements 13.04.01.208 is installed and missing help:

English: re_help_130401_en.msi

Spanish: re_help_130401_es.msi

Tags: Active, installation, RAM Elements, known issue, defect, help
Viewing all 8748 articles
Browse latest View live