STAIRLab logo
  • Docs 
  • Examples 
  •  

Simply Supported Solid Beam

2 min read • 423 words
Plane   Python   Tcl  
Plane   Python   Tcl  

In this example a simply supported beam is modelled with two dimensional solid elements.

Python Tcl
  • Example6.py
  • render.py
  • Example6.tcl
Simply Supported Solid Beam

In this example a simply supported beam is modelled with two dimensional solid elements.

Each node of the analysis has two displacement degrees of freedom. Thus the model is defined with ndm = 2 and ndf = 2.

Tcl Python(RT)
model -ndm 2 -ndf 2
import opensees.openseespy as ops

model = ops.Model(ndm=2, ndf=2)

This is a plane strain problem, and the elastic isotropic material is used.

Tcl Python(RT)
material ElasticIsotropic   1   1000   0.25  [expr 6.75/(12.0*32.174)]
section PlaneStrain 1 1 2.0
#                                 tag  E      nu      rho
model.material("ElasticIsotropic", 1, 1000.0, 0.25, 6.75/g)
model.section("PlaneStrain", 1, material=1, thickness=2.0)

A mesh is generated using the block2D command. The number of nodes in the local xx -direction of the block is nxnx and the number of nodes in the local yy -direction of the block is nyny . The block2D generation nodes {1,2,3,4} are prescribed to define the two dimensional domain of the beam, which is of size 40×1040\times10 .

Tcl Python(RT)
block2D $nx $ny   1 1  $Quad  $eleArgs {
    1   0   0
    2  40   0
    3  40  10
    4   0  10
}
surface = model.surface((nx, ny),
              element=element, args=args,
              points={
                1: [  0.0,  0.0],
                2: [ 40.0,  0.0],
                3: [ 40.0, 10.0],
                4: [  0.0, 10.0]
              })

Three different quadrilateral elements can be used for the analysis. These may be created using the names "BbarQuad", "EnhancedQuad" or "Quad".

For initial gravity load analysis, a single load pattern with a linear time series and two vertical nodal loads are used.

A solution algorithm of type Newton is used for the problem. The solution algorithm uses a ConvergenceTest which tests convergence on the norm of the energy increment vector. Ten static load steps are performed.

Dynamic Analysis  

Following the static analysis, the wipeAnalysis and remove loadPatern commands are used to remove the nodal loads and create a new analysis. The nodal displacements have not changed. However, with the external loads removed the structure is no longer in static equilibrium.

The integrator for the dynamic analysis if of type GeneralizedMidpoint with α=0.5\alpha = 0.5 . This choice is uconditionally stable and energy conserving for linear problems. Additionally, this integrator conserves linear and angular momentum for both linear and non-linear problems. The dynamic analysis is performed using 100100 time increments with a time step Δt=0.50\Delta t = 0.50 .

The results consist of the file Node.out, which contains a line for every time step. Each line contains the time and the vertical displacement at the bottom center of the beam. The time history is shown in Figure 1.

 Rigid Offsets
Dynamic Shell Analysis 
Simply Supported Solid Beam
Simply Supported Solid Beam
A gallery of technical examples currated by the STAIRLab at UC Berkeley.
Code licensed BSD, docs CC BY-NC 4.0
 
Links
Home 
About 
Docs 
Examples
Working with solids 
Nonlinear dynamics 
Basic Statics 
Community
Issues   
Discussions   
Contribute 
STAIRLab
Code copied to clipboard