OpenSees Example 3. Cantilever Column with units: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
==Input== | ==Input== | ||
<h3>Model | <h3>Model Building</h3> | ||
The following tasks are performed when building the model | |||
<blockquote> | |||
*define units | |||
*define model | |||
*define recorders for output | |||
*define & apply gravity | |||
</blockquote> | |||
<h3>Lateral-Load Analysis</h3> | <h3>Lateral-Load Analysis</h3> |
Revision as of 17:59, 11 November 2009
Introduction
The principal features of this example is the introduction of units and the separation of the model-building and the analysis portions of the input file. For demonstration purposes, this example visits the 2D cantilever column, again.
Input
Model Building
The following tasks are performed when building the model
- define units
- define model
- define recorders for output
- define & apply gravity
Lateral-Load Analysis
Static Pushover |
Dynamic EQ Ground Motion |
Run
The following combinations of model-building and analysis can be performed with this example:
- To run Elastic Mode, Static Pushover Analysis:
puts " -------------Elastic Model -------------" puts " -------------Static Pushover Analysis -------------" source Ex3.Canti2D.build.ElasticElement.tcl source Ex3.Canti2D.analyze.Static.Push.tcl
- To run Elastic Mode, Uniform Earthquake Excitation:
puts " -------------Elastic Model -------------" puts " -------------Uniform Earthquake Excitation -------------" source Ex3.Canti2D.build.ElasticElement.tcl source Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl
- To run Uniaxial Inelastic Section, Nonlinear Model, Static Pushover Analysis
puts " -------------Uniaxial Inelastic Section, Nonlinear Model -------------" puts " -------------Static Pushover Analysis -------------" source Ex3.Canti2D.build.InelasticSection.tcl source Ex3.Canti2D.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 Ex3.Canti2D.build.InelasticSection.tcl source Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl
- To run Uniaxial Inelastic Material, Fiber Section, Nonlinear Mode, Static Pushover Analysis
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
- To run Uniaxial Inelastic Material, Fiber Section, Nonlinear Mode, Uniform Earthquake Excitation
puts " -------------Uniaxial Inelastic Material, Fiber Section, Nonlinear Model -------------" puts " -------------Uniform Earthquake Excitation -------------" source Ex3.Canti2D.build.InelasticFiberSection.tcl source Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl
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.
For example, with the following commands used in setting some of the units:
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)];When the user says:
set HCol [expr 3*$in]; set LCol [expr 30*$ft];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.
Return to OpenSees Examples Manual
Return to OpenSees User