OpenSees Example 4. Portal Frame: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
==Introduction==
==Introduction==
This is a great example!
This is a great example!
Line 19: Line 18:
{| style="margin:0; background:none;"  
{| style="margin:0; background:none;"  
<!--        Column 1      -->
<!--        Column 1      -->
| style="margin:0; width:25%; border:1px solid #ccc; background:#white; vertical-align:top; " |
| style="margin:0; width:25%; border:3px solid #ccc; background:#white; vertical-align:top; " |
{| style="width:100%; vertical-align:top;background:#white;"
{| style="width:100%; vertical-align:top;background:#white;"
<h4>Elastic Element</h4>
<h4>Elastic Element</h4>
Line 37: Line 36:
|}
|}
<!--        Column 2        -->
<!--        Column 2        -->
| style="margin:0; width:25%; border:1px solid #ccc; background:#white; vertical-align:top; " |
| style="margin:0; width:25%; border:3px solid #ccc; background:#white; vertical-align:top; " |
{| style="width:100%; vertical-align:top;background:#white;"
{| style="width:100%; vertical-align:top;background:#white;"
<h4>Distributed Plasticity Element, Uniaxial Section</h4>
<h4>Distributed Plasticity Element, Uniaxial Section</h4>
Line 56: Line 55:
|}
|}
<!--        Column 3        -->
<!--        Column 3        -->
| style="margin:0; width:25%; border:1px solid #ccc; background:#white; vertical-align:top; " |
| style="margin:0; width:25%; border:3px solid #ccc; background:#white; vertical-align:top; " |
{| style="width:100%; vertical-align:top;background:#white;"
{| style="width:100%; vertical-align:top;background:#white;"
<h4>Distributed Plasticity Element, Fiber Section</h4>
<h4>Distributed Plasticity Element, Fiber Section</h4>
Line 65: Line 64:
----
----
<strong>Files</strong>
<strong>Files</strong>
*[[Media:Ex4.Portal2D.build.InelasticFiberSection.tcl|Ex3.Canti2D.build.InelasticFiberSection.tcl]]
*[[Media:Ex4.Portal2D.build.InelasticFiberSection.tcl|Ex4.Portal2D.build.InelasticFiberSection.tcl]]
*[[Media:LibUnits.tcl|LibUnits.tcl]]
*[[Media:LibUnits.tcl|LibUnits.tcl]]
----
----
Line 86: Line 85:
{| style="margin:0; background:none;"  
{| style="margin:0; background:none;"  
<!--        Column 1      -->
<!--        Column 1      -->
| style="margin:0; width:25%; border:1px solid #ccc; background:#white; vertical-align:top; " |
| style="margin:0; width:25%; border:3px solid #ccc; background:#white; vertical-align:top; " |
<h4>Static</h4>
<h4>Static</h4>
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
<h5>Static Pushover</h5>
|-
|-
| style="color:#000;" | <div>
| style="color:#000;" | <div>
<h5>Static Pushover</h5>
[[File:Example4_Push.GIF|link=OpenSees Example 4. Portal Frame]]
[[File:Example4_Push.GIF|link=OpenSees Example 4. Portal Frame]]
----
----
Line 102: Line 101:
</div>
</div>
|}
|}
----
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
<h5>Static Reversed Cyclic</h5>
----
|-
|-
| style="color:#000;" | <div>
| style="color:#000;" | <div>
<h5>Static Reversed Cyclic</h5>
[[File:Example4_Cyclic.GIF|link=OpenSees Example 4. Portal Frame]]
[[File:Example4_Cyclic.GIF|link=OpenSees Example 4. Portal Frame]]
----
----
Line 121: Line 120:


<!--        Column 2        -->
<!--        Column 2        -->
| style="margin:0; width:25%; border:1px solid #ccc; background:#white; vertical-align:top; " |
| style="margin:0; width:25%; border:3px solid #ccc; background:#white; vertical-align:top; " |
{| style="width:100%; vertical-align:top;background:#white;"
<h4>Dynamic EQ Ground Motion</h4>
<h4>Dynamic EQ Ground Motion</h4>
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
|-
| style="color:#000;" | <div>
<h5>Dynamic Uniform Sine-Wave Ground Motion</h5>
[[File:Example4_UniformSine.GIF|link=OpenSees Example 4. Portal Frame]]
----
<strong>Files</strong>
*[[Media:Ex4.Portal2D.analyze.Dynamic.sine.Uniform.tcl|Ex4.Portal2D.analyze.Dynamic.sine.Uniform.tcl]]
*[[Media:LibAnalysisDynamicParameters.tcl|LibAnalysisDynamicParameters.tcl]]
----
<strong>Notes</strong>
*Sine-wave acceleration input
*Same acceleration input at all nodes restrained in specified direction
</div>
|}
----
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
|-
| style="color:#000;" | <div>
<h5>Dynamic Uniform Earthquake Ground Motion (typical)</h5>
[[File:Example4_UniformEQ.GIF|link=OpenSees Example 4. Portal Frame]]
----
<strong>Files</strong>
*[[Media:Ex4.Portal2D.analyze.Dynamic.EQ.Uniform.tcl|Ex4.Portal2D.analyze.Dynamic.EQ.Uniform.tcl]]
*[[Media:LibAnalysisDynamicParameters.tcl|LibAnalysisDynamicParameters.tcl]]
*[[Media:ReadSMDFile.tcl|ReadSMDFile.tcl]]
*[[Media:H-E12140.zip|H-E12140.AT2]]
----
<strong>Notes</strong>
*Earthquake (from file) acceleration input
*Same acceleration input at all nodes restrained in specified direction
</div>
|}
----
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
|-
| style="color:#000;" | <div>
<h5>Dynamic Multiple-Support Sine-Wave Ground Motion</h5>
[[File:Example4_MultiSupportSine.GIF|link=OpenSees Example 4. Portal Frame]]
----
<strong>Files</strong>
*[[Media:Ex4.Portal2D.analyze.Dynamic.sine.multipleSupport.tcl|Ex4.Portal2D.analyze.Dynamic.sine.multipleSupport.tcl]] (this file may need to be corrected for displacement input)
*[[Media:LibAnalysisDynamicParameters.tcl|LibAnalysisDynamicParameters.tcl]]
----
<strong>Notes</strong>
*Sine-wave displacement input
*Different displacements are specified at particular nodes in specified directions
</div>
|}
----
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
|-
| style="color:#000;" | <div>
<h5>Dynamic Multiple-Support Earthquake Ground Motion</h5>
[[File:Example4_MultiSupportEQ.GIF|link=OpenSees Example 4. Portal Frame]]
----
<strong>Files</strong>
*[[Media:Ex4.Portal2D.analyze.Dynamic.EQ.multipleSupport.tcl|Ex4.Portal2D.analyze.Dynamic.EQ.multipleSupport.tcl]] (this file needs to be corrected for displacement input)
*[[Media:LibAnalysisDynamicParameters.tcl|LibAnalysisDynamicParameters.tcl]]
*[[Media:ReadSMDFile.tcl|ReadSMDFile.tcl]]
*[[Media:H-E12140D.zip|H-E12140.DT2]] (Displacement recording)
----
----
<strong>Notes</strong>
*Earthquake (from file) displacement input
*Different displacements are specified at particular nodes in specified directions
</div>
|}
----
{| style="width:100%; border:1px solid #ddcef2; vertical-align:top;background:#white;"
|-
|-
| style="color:#000;" | <div>
| style="color:#000;" | <div>
[[File:Example3_EQ.GIF|link=OpenSees Example 4. Portal Frame]]
<h5>Dynamic Bidirectional Earthquake Ground Motion (typical)</h5>
[[File:Example4_BidirectEQ.GIF|link=OpenSees Example 4. Portal Frame]]
----
----
<strong>Files</strong>
<strong>Files</strong>
*[[Media:Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl|Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl]]
*[[Media:Ex4.Portal2D.analyze.Dynamic.EQ.bidirect.tcl|Ex4.Portal2D.analyze.Dynamic.EQ.bidirect.tcl]]
*[[Media:BM68elc.acc|BM68elc.acc]] (ground-motion file)
*[[Media:LibAnalysisDynamicParameters.tcl|LibAnalysisDynamicParameters.tcl]]
*[[Media:ReadSMDFile.tcl|ReadSMDFile.tcl]] (need to modify ReadSMDFile.tcl for displacement data)
*[[Media:H-E12140.zip|H-E12140.AT2]]
*[[Media:H-E01140.zip|H-E01140.AT2]] (acceleration recording in perpendicular direction)
----
----
<strong>Notes</strong>
<strong>Notes</strong>
*Earthquake (from file) acceleration input
*Earthquake (from file) acceleration input
*Different ground motion in two directions
*Same acceleration input at all nodes restrained in specified direction
*Same acceleration input at all nodes restrained in specified direction
</div>
</div>
|}
|}
|}
|}


==Run==
==Run==
The following combinations of model-building and analysis can be performed with this example:
The model and analysis combinations for this example are numerous. The following are an small subset, for demonstration purposes:


* To run Elastic Mode, Static Pushover Analysis:
* To run Elastic Mode, Static Pushover Analysis:
Line 148: Line 219:
puts " -------------Elastic Model -------------"
puts " -------------Elastic Model -------------"
puts " -------------Static Pushover Analysis -------------"
puts " -------------Static Pushover Analysis -------------"
source Ex3.Canti2D.build.ElasticElement.tcl
source Ex4.Portal2D.build.ElasticElement.tcl
source Ex3.Canti2D.analyze.Static.Push.tcl
source Ex4.Portal2D.analyze.Static.Push.tcl  
</source></blockquote>
 
* To run Elastic Mode, Uniform Earthquake Excitation:
<blockquote><source lang="Tcl">
puts " -------------Elastic Model -------------"
puts " -------------Uniform Earthquake Excitation -------------"
source Ex3.Canti2D.build.ElasticElement.tcl
source Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl
</source></blockquote>
 
* To run Uniaxial Inelastic Section, Nonlinear Model, Static Pushover Analysis
<blockquote><source lang="Tcl">
puts " -------------Uniaxial Inelastic Section, Nonlinear Model -------------"
puts " -------------Static Pushover Analysis -------------"
source Ex3.Canti2D.build.InelasticSection.tcl
source Ex3.Canti2D.analyze.Static.Push.tcl
</source></blockquote>
</source></blockquote>


Line 172: Line 227:
puts " -------------Uniaxial Inelastic Section, Nonlinear Model -------------"
puts " -------------Uniaxial Inelastic Section, Nonlinear Model -------------"
puts " -------------Uniform Earthquake Excitation -------------"
puts " -------------Uniform Earthquake Excitation -------------"
source Ex3.Canti2D.build.InelasticSection.tcl
source Ex4.Portal2D.build.InelasticSection.tcl  
source Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl
source Ex4.Portal2D.analyze.Dynamic.EQ.Uniform.tcl  
</source></blockquote>
 
* To run Uniaxial Inelastic Material, Fiber Section, Nonlinear Mode, Static Pushover Analysis
<blockquote><source lang="Tcl">
puts " -------------Uniaxial Inelastic Material, Fiber Section, Nonlinear Model -------------"
puts " -------------Static Pushover Analysis -------------"
source Ex3.Canti2D.build.InelasticFiberSection.tcl
source Ex3.Canti2D.analyze.Static.Push.tcl
</source></blockquote>
</source></blockquote>


* To run Uniaxial Inelastic Material, Fiber Section, Nonlinear Mode, Uniform Earthquake Excitation
* To run Uniaxial Inelastic Material, Fiber Section, Nonlinear Model, Dynamic Bidirectional Earthquake Ground Motion
<blockquote><source lang="Tcl">
<blockquote><source lang="Tcl">
puts " -------------Uniaxial Inelastic Material, Fiber Section, Nonlinear Model -------------"
puts " -------------Uniaxial Inelastic Material, Fiber Section, Nonlinear Model -------------"
puts " -------------Uniform Earthquake Excitation -------------"
puts " -------------Dynamic Bidirectional Earthquake Ground Motion  -------------"
source Ex3.Canti2D.build.InelasticFiberSection.tcl
source Ex4.Portal2D.build.InelasticFiberSection.tcl
source Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl
source Ex4.Portal2D.analyze.Dynamic.EQ.bidirect.tcl
</source></blockquote>
</source></blockquote>




==Notes==
==Notes==
*This example is the first to follow most of the recommended techniques in building an input file:
*Model and analysis parameters are defined as variables
*The basic units, used to define Force, Length and Time need to be independent.
*Units need to be used consistently throughout the input file, otherwise some arguments will not scale properly
*The model-building files and the analysis files are separated. The same analysis file can be used on different model-building files (elastic or inelastic elements).
*This example does not, however, take advantage of previously-defined Tcl procedures and scripts, as will Example 4.
*In OpenSees/Tcl, units are simply defined as variables that become scaling factors. This technique allows the user to input variables with different types of units, not just the ones chosen for output. For example, section widths can be defined in inches, while element length can be defined in feet.
<blockquote>For example, with the following commands used in setting some of the units:
<blockquote><source lang="Tcl">
set in 1.; # define basic units -- output units
set kip 1.; # define basic units -- output units
set sec 1.; # define basic units -- output units
# -------
set ft [expr 12.*$in]; # define engineering units
set ksi [expr $kip/pow($in,2)];
</source></blockquote>
When the user says:
<blockquote><source lang="Tcl">
set HCol [expr 3*$in];
set LCol [expr 30*$ft];
</source></blockquote>
Tcl multiplies 30 by 12 to give the column length in inches. By scaling the input, all input processed by OpenSees is in the basic units, as is the output.
</blockquote>




----
----
Return to [[OpenSees Examples Manual]]
Return to [[OpenSees Examples Manual -- Structural Models & Analyses]]


Return to [[OpenSees User]]
Return to [[OpenSees User]]

Latest revision as of 23:19, 19 November 2010

Introduction

This is a great example! To all the demonstrations that Example 3 has done, Example 4 adds the use of previously-defined Tcl procedures (a procedure is a Tcl command that is created by the proc command) or scripts. This example also introduces new kinds of static and dynamic analyses.


Input

Model Building

The following tasks are performed when building the model

  • define units
  • define model
  • define recorders for output
  • define & apply gravity

Elastic Element



Files


Notes

  • Effective axial and flexural stiffnesses are defined at the element level
  • elasticBeamColumn elements

Distributed Plasticity Element, Uniaxial Section



Files


Notes

  • Axial and flexural stiffnesses/strength are defined independently at the section level
  • uniaxial inelastic section (moment-curvature)
  • nonlinear beam-column elements

Distributed Plasticity Element, Fiber Section



Files


Notes

  • The section is broken down into fibers where uniaxial materials are defined independently.
  • The program calculates flexural and axial stiffnesses/strength by integrating strains across the section.
  • fiber section
  • nonlinear beam-column elements


Lateral-Load Analysis

The following tasks are performed in the analysis

  • define lateral-load parameters
  • analyze

Static

Static Pushover


Files


Notes

  • One-directional monotonic displacement-controlled static loading

Static Reversed Cyclic


Files


Notes

  • One-directional displacement-controlled static loading
  • Displacement cycles are imposed in positive and negative direction

Dynamic EQ Ground Motion

Dynamic Uniform Sine-Wave Ground Motion


Files


Notes

  • Sine-wave acceleration input
  • Same acceleration input at all nodes restrained in specified direction

Dynamic Uniform Earthquake Ground Motion (typical)


Files


Notes

  • Earthquake (from file) acceleration input
  • Same acceleration input at all nodes restrained in specified direction

Dynamic Multiple-Support Sine-Wave Ground Motion


Files


Notes

  • Sine-wave displacement input
  • Different displacements are specified at particular nodes in specified directions

Dynamic Multiple-Support Earthquake Ground Motion


Files


Notes

  • Earthquake (from file) displacement input
  • Different displacements are specified at particular nodes in specified directions

Dynamic Bidirectional Earthquake Ground Motion (typical)


Files


Notes

  • Earthquake (from file) acceleration input
  • Different ground motion in two directions
  • Same acceleration input at all nodes restrained in specified direction

Run

The model and analysis combinations for this example are numerous. The following are an small subset, for demonstration purposes:

  • To run Elastic Mode, Static Pushover Analysis:
puts " -------------Elastic Model -------------"
puts " -------------Static Pushover Analysis -------------"
source Ex4.Portal2D.build.ElasticElement.tcl
source Ex4.Portal2D.analyze.Static.Push.tcl
  • To run Uniaxial Inelastic Section, Nonlinear Model, Uniform Earthquake Excitation
puts " -------------Uniaxial Inelastic Section, Nonlinear Model -------------"
puts " -------------Uniform Earthquake Excitation -------------"
source Ex4.Portal2D.build.InelasticSection.tcl 
source Ex4.Portal2D.analyze.Dynamic.EQ.Uniform.tcl
  • To run Uniaxial Inelastic Material, Fiber Section, Nonlinear Model, Dynamic Bidirectional Earthquake Ground Motion
puts " -------------Uniaxial Inelastic Material, Fiber Section, Nonlinear Model -------------"
puts " -------------Dynamic Bidirectional Earthquake Ground Motion  -------------"
source Ex4.Portal2D.build.InelasticFiberSection.tcl
source Ex4.Portal2D.analyze.Dynamic.EQ.bidirect.tcl


Notes


Return to OpenSees Examples Manual -- Structural Models & Analyses

Return to OpenSees User