Element Failed to Converge

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
howserrn
Posts: 4
Joined: Fri Jun 01, 2007 8:49 am
Location: University of Houston

Element Failed to Converge

Post by howserrn »

I am attempting to model a fairly complicated 3D frame that consists of 2 stories, 2 bays in the x-direction, and 1 bay in the y-direction with shear walls. I think I am fairly close, but I keep getting the error message: ForceColumn3d::update - failed to get compatible element forces & deformations for element: 125(dW: <<1.11244e+051).

Sorry my code is a little messy. I have attached my code below:

Code: Select all

# NCREE 3D Frame
# applied axial load first

# ------------------------------
# Units: N, mm, sec, MPa
# ------------------------------

# ------------------------------
# Start of model generation
# ------------------------------



# ------------------------------------------------------------------------------
# Create ModelBuilder (with three-dimensions and 6 dof/node)
# ------------------------------------------------------------------------------
  model basic -ndm 3 -ndf 6

# ---------------------------------------------------------
# Create nodes (6dof)
# ---------------------------------------------------------

# Set the dimensions of the frame

  set deltaAB 3500;	# Distance between Column Lines A and B
  set deltaBC 5500;	# Distance between Column Lines B and C
  set delta12 3000;	# Distance between Column Lines 1 and 2
  set cH1 2000;		# Height to bottom of 2nd floor slab
  set cH2 2200;		# Height to center of 2nd floor slab
  set cH3 2400;		# Height to top of 2nd floor slab
  set cH4 3900;		# Height to bottom of 3rd floor slab
  set cH5 4100;		# Height to center of 3rd floor slab
  set cH6 4700;		# Height to top of columns

# Set locations for load placement

  set x1 750;
  set x2 1750;
  set x3 3250;
  set x4 7600;
  set x5 8500;
  set y1 600;
  set y2 1500;
  set y3 2400;

# Create the nodes (one node at the center of the end of each member)
# Nodes 101 < node < 166 represent connections used for nonlinear beamcolumn members
# Nodes 167 < node < 198 represent nodes used for loads

  node 101 0 0 0;
  node 102 $deltaAB 0 0;
  node 103 [expr $deltaAB+$deltaBC] 0 0;
  node 104 0 $delta12 0;
  node 105 $deltaAB $delta12 0;
  node 106 [expr $deltaAB+$deltaBC] $delta12 0;
  node 111 0 0 $cH1;
  node 112 $deltaAB 0 $cH1;
  node 113 [expr $deltaAB+$deltaBC] 0 $cH1;
  node 114 0 $delta12 $cH1;
  node 115 $deltaAB $delta12 $cH1;
  node 116 [expr $deltaAB+$deltaBC] $delta12 $cH1;
  node 121 0 0 $cH2;
  node 122 $deltaAB 0 $cH2;
  node 123 [expr $deltaAB+$deltaBC] 0 $cH2;
  node 124 0 $delta12 $cH2;
  node 125 $deltaAB $delta12 $cH2;
  node 126 [expr $deltaAB+$deltaBC] $delta12 $cH2;
  node 131 0 0 $cH3;
  node 132 $deltaAB 0 $cH3;
  node 133 [expr $deltaAB+$deltaBC] 0 $cH3;
  node 134 0 $delta12 $cH3;
  node 135 $deltaAB $delta12 $cH3;
  node 136 [expr $deltaAB+$deltaBC] $delta12 $cH3;
  node 141 0 0 $cH4;
  node 142 $deltaAB 0 $cH4;
  node 143 [expr $deltaAB+$deltaBC] 0 $cH4;
  node 144 0 $delta12 $cH4;
  node 145 $deltaAB $delta12 $cH4;
  node 146 [expr $deltaAB+$deltaBC] $delta12 $cH4;
  node 151 0 0 $cH5;
  node 152 $deltaAB 0 $cH5;
  node 153 [expr $deltaAB+$deltaBC] 0 $cH5;
  node 154 0  $delta12 $cH5;
  node 155 $deltaAB $delta12 $cH5 $delta12;
  node 156 [expr $deltaAB+$deltaBC] $delta12 $cH5;
  node 161 0 0 $cH6;
  node 162 $deltaAB 0 $cH6;
  node 163 [expr $deltaAB+$deltaBC] 0 $cH6;
  node 164 0  $delta12 $cH6;
  node 165 $deltaAB $delta12 $cH6;
  node 166 [expr $deltaAB+$deltaBC] $delta12 $cH6;

  node 167 $x1 0 $cH2;
  node 168 $x2 0 $cH2;
  node 169 $x3 0 $cH2;
  node 170 $x4 0 $cH2;
  node 171 $x5 0 $cH2;
  node 172 $x1 $delta12 $cH2;
  node 173 $x2 $delta12 $cH2;
  node 174 $x3 $delta12 $cH2;
  node 175 $x4 $delta12 $cH2;
  node 176 $x5 $delta12 $cH2;
  node 177 0 $y1 $cH2;
  node 178 0 $y2 $cH2;
  node 179 0 $y3 $cH2;
  node 180 $deltaAB $y1 $cH2;
  node 181 $deltaAB $y2 $cH2;
  node 182 $deltaAB $y3 $cH2;
  node 183 $x1 0 $cH5;
  node 184 $x2 0 $cH5;
  node 185 $x3 0 $cH5;
  node 186 $x4 0 $cH5;
  node 187 $x5 0 $cH5;
  node 188 $x1 $delta12 $cH5;
  node 189 $x2 $delta12 $cH5;
  node 190 $x3 $delta12 $cH5;
  node 191 $x4 $delta12 $cH5;
  node 192 $x5 $delta12 $cH5;
  node 193 0 $y1 $cH5;
  node 194 0 $y2 $cH5;
  node 195 0 $y3 $cH5;
  node 196 $deltaAB $y1 $cH5;
  node 197 $deltaAB $y2 $cH5;
  node 198 $deltaAB $y3 $cH5;

 

# Fix supports and connections

  fix 101 1 1 1 1 1 1; 	# fully-fixed
  fix 102 1 1 1 1 1 1;
  fix 103 1 1 1 1 1 1;
  fix 104 1 1 1 1 1 1;
  fix 105 1 1 1 1 1 1;
  fix 106 1 1 1 1 1 1;
  

# --------------------------------------------------
# Define Materials for Nonlinear Members
# --------------------------------------------------

# CONCRETE tag f'c ec0 f'cu ecu

# 1 for unconfined concrete fc'= 27.5
# 2 for confined concrete, fc' = 27.5*variable dependant on tangental reinforcement

  set fc 27.5; 		# unconfined concrete
  set fc80 [expr 1.20*$fc];	# confined concrete in columns, #3 @ 80  !!!VARIABLE NEEDS TO BE DETERMINED!!!
  set fc100 [expr 1.15*$fc];	# confined concrete in columns, #3 @ 100  !!!VARIABLE NEEDS TO BE DETERMINED!!!
  set fc280 [expr 1.10*$fc];	# confined concrete in columns, #3 @ 100  !!!VARIABLE NEEDS TO BE DETERMINED!!!
  set fcw [expr 1.10*$fc];  # confined concrete in WallS  !!!VARIABLE NEEDS TO BE DETERMINED!!!
 

# Cover concrete (unconfined)
  uniaxialMaterial Concrete01 1 [expr -$fc] -0.003  -6.4 -0.006

# Core concrete (confined #3@80) 
  uniaxialMaterial Concrete01 2 [expr -$fc80] -0.003 -7.0 -0.006

# Core concrete (confined #3@100) 
  uniaxialMaterial Concrete01 3 [expr -$fc100] -0.003 -7.0 -0.006

# Core concrete (confined #3@280) 
  uniaxialMaterial Concrete01 4 [expr -$fc280] -0.003 -7.0 -0.006

# STEEL

  set fy 411.9; # Yield stress 
  set E 200000.0; # Young's modulus

 # tag fy E0 b
 #  uniaxialMaterial Steel01 3 $fy $E 0.024
 
 #                               tag  fy   E0  fpc  rou
     uniaxialMaterial  SteelZ01   5   $fy  $E  32.0 0.017

 #   uniaxialMaterial  Steel01    5   [expr $fy]  $E  0.02


# -----------------------------------------------
# Define Fibers
# -----------------------------------------------

# Columns
# -----------------------------------------------

# Column paramaters

  set cWidth 400.0;	# column width
  set cDepth 400.0;	# column height
  set cover 50.0;	# cover
  set As6 285.0; 	# area of no. 6 bars

# Variables derived from the parameters

  set cy1 [expr $cDepth/2.0];
  set cz1 [expr $cWidth/2.0];

  # Create a Uniaxial Fiber object
  section Fiber 1 {	# #3@80

  # Create the concrete core fibers
  #         mat num num
  patch rect 2  2  2 [expr $cover-$cy1] [expr $cover-$cz1] [expr $cy1-$cover] [expr $cz1-$cover];

  # Create the concrete cover fibers (top, bottom, left, right)
  patch rect 1 2 1 [expr -$cy1] [expr $cz1-$cover] $cy1 $cz1;
  patch rect 1 2 1 [expr -$cy1] [expr -$cz1] $cy1 [expr $cover-$cz1];
  patch rect 1 2 1 [expr -$cy1] [expr $cover-$cz1] [expr $cover-$cy1] [expr $cz1-$cover];
  patch rect 1 2 1 [expr $cy1-$cover] [expr $cover-$cz1] $cy1 [expr $cz1-$cover];

  # Create the reinforcing fibers (4 layers)
  layer straight 5 4 $As6 [expr $cy1-$cover] [expr $cz1-$cover] [expr $cy1-$cover] [expr $cover-$cz1];
  layer straight 5 2 $As6 [expr -($cWidth-2*$cover)/6] [expr $cz1-$cover] [expr -($cWidth-2*$cover)/6] [expr $cover-$cz1];
  layer straight 5 2 $As6 [expr ($cWidth-2*$cover)/6] [expr $cz1-$cover] [expr ($cWidth-2*$cover)/6] [expr $cover-$cz1];
  layer straight 5 4 $As6 [expr $cover-$cy1] [expr $cz1-$cover] [expr $cover-$cy1] [expr $cover-$cz1];

  } 

  # Create a Uniaxial Fiber object
  section Fiber 2 {	# #3@100

  # Create the concrete core fibers
  #         mat num num
  patch rect 3  2  2 [expr $cover-$cy1] [expr $cover-$cz1] [expr $cy1-$cover] [expr $cz1-$cover];

  # Create the concrete cover fibers (top, bottom, left, right)
  patch rect 1 2 1 [expr -$cy1] [expr $cz1-$cover] $cy1 $cz1;
  patch rect 1 2 1 [expr -$cy1] [expr -$cz1] $cy1 [expr $cover-$cz1];
  patch rect 1 2 1 [expr -$cy1] [expr $cover-$cz1] [expr $cover-$cy1] [expr $cz1-$cover];
  patch rect 1 2 1 [expr $cy1-$cover] [expr $cover-$cz1] $cy1 [expr $cz1-$cover];

  # Create the reinforcing fibers (4 layers)
  layer straight 5 4 $As6 [expr $cy1-$cover] [expr $cz1-$cover] [expr $cy1-$cover] [expr $cover-$cz1];
  layer straight 5 2 $As6 [expr -($cWidth-2*$cover)/6] [expr $cz1-$cover] [expr -($cWidth-2*$cover)/6] [expr $cover-$cz1];
  layer straight 5 2 $As6 [expr ($cWidth-2*$cover)/6] [expr $cz1-$cover] [expr ($cWidth-2*$cover)/6] [expr $cover-$cz1];
  layer straight 5 4 $As6 [expr $cover-$cy1] [expr $cz1-$cover] [expr $cover-$cy1] [expr $cover-$cz1];

  } 

  # Create a Uniaxial Fiber object
  section Fiber 3 {	# #3@280

  # Create the concrete core fibers
  #         mat num num
  patch rect 4  2  2 [expr $cover-$cy1] [expr $cover-$cz1] [expr $cy1-$cover] [expr $cz1-$cover];

  # Create the concrete cover fibers (top, bottom, left, right)
  patch rect 1 2 1 [expr -$cy1] [expr $cz1-$cover] $cy1 $cz1;
  patch rect 1 2 1 [expr -$cy1] [expr -$cz1] $cy1 [expr $cover-$cz1];
  patch rect 1 2 1 [expr -$cy1] [expr $cover-$cz1] [expr $cover-$cy1] [expr $cz1-$cover];
  patch rect 1 2 1 [expr $cy1-$cover] [expr $cover-$cz1] $cy1 [expr $cz1-$cover];

  # Create the reinforcing fibers (4 layers)
  layer straight 5 4 $As6 [expr $cy1-$cover] [expr $cz1-$cover] [expr $cy1-$cover] [expr $cover-$cz1];
  layer straight 5 2 $As6 [expr -($cWidth-2*$cover)/6] [expr $cz1-$cover] [expr -($cWidth-2*$cover)/6] [expr $cover-$cz1];
  layer straight 5 2 $As6 [expr ($cWidth-2*$cover)/6] [expr $cz1-$cover] [expr ($cWidth-2*$cover)/6] [expr $cover-$cz1];
  layer straight 5 4 $As6 [expr $cover-$cy1] [expr $cz1-$cover] [expr $cover-$cy1] [expr $cover-$cz1];

  } 

# Beams
# -----------------------------------------------

# Beam paramaters

  set bWidth 300.0;	# beam width
  set bDepth 400.0;	# beam height


# Variables derived from the parameters

  set by1 [expr $bDepth/2.0];
  set bz1 [expr $bWidth/2.0];

  # Create a Uniaxial Fiber object
  section Fiber 4 {

  # Create the concrete core fibers
  #         mat num num
  patch rect 3  2  2 [expr $cover-$by1] [expr $cover-$bz1] [expr $by1-$cover] [expr $bz1-$cover];

  # Create the concrete cover fibers (top, bottom, left, right)
  patch rect 1 2 1 [expr -$by1] [expr $bz1-$cover] $by1 $bz1;
  patch rect 1 2 1 [expr -$by1] [expr -$bz1] $by1 [expr $cover-$bz1];
  patch rect 1 2 1 [expr -$by1] [expr $cover-$bz1] [expr $cover-$by1] [expr $bz1-$cover];
  patch rect 1 2 1 [expr $by1-$cover] [expr $cover-$bz1] $by1 [expr $bz1-$cover];

  # Create the reinforcing fibers (4 layers)
  layer straight 3 2 $As6 [expr $by1-$cover] [expr $bz1-$cover] [expr $by1-$cover] [expr $cover-$bz1];
  layer straight 3 2 $As6 [expr -($bWidth-2*$cover)/6] [expr $bz1-$cover] [expr -($bWidth-2*$cover)/6] [expr $cover-$bz1];
  layer straight 3 2 $As6 [expr ($bWidth-2*$cover)/6] [expr $bz1-$cover] [expr ($bWidth-2*$cover)/6] [expr $cover-$bz1];
  layer straight 3 2 $As6 [expr $cover-$by1] [expr $bz1-$cover] [expr $cover-$by1] [expr $cover-$bz1];

  } 

# ----------------------------------------------------------
# Define Section Aggregators
# ---------------------------------------------------------

  set U 1.e10; 		# Really large number
  set G $U;		# Torsional stiffness modulus
  set J 1.;		# Torsional stiffness of section
  set GJ [expr $G*$J];	# Torsional stiffness 

  uniaxialMaterial Elastic 6 $GJ;

  section Aggregator 5 6 T -section 1;	# #3@80
  section Aggregator 6 6 T -section 2; 	# #3@100
  section Aggregator 7 6 T -section 3;  # #3@280
  section Aggregator 8 6 T -section 4;  # Beam    

# ----------------------------------------------------------
# Define Column Elements
# ---------------------------------------------------------

# Geometry of column elements
   
#                  tag vecxzX vecxzY vecxzZ
  geomTransf Linear 1    0      1       0;

# Number of integration points along length of element

  set np 10;
  set iterNum 10;
  set iterTol 1.e-3;

# Create the beam elements using beam-column elements
# Elements 0 < element < 100 are used for columns
# tag ndI ndJ nsecs secID transfTag

  set j 1;
  while {$j < 7} {
    element nonlinearBeamColumn   $j           [expr 100+$j] [expr 110+$j] $np  6  1  -iter $iterNum $iterTol;
    element nonlinearBeamColumn   [expr 10+$j] [expr 110+$j] [expr 120+$j] $np  5  1  -iter $iterNum $iterTol;
    element nonlinearBeamColumn   [expr 20+$j] [expr 120+$j] [expr 130+$j] $np  5  1  -iter $iterNum $iterTol;
    if {$j == 3} {
      element nonlinearBeamColumn   [expr 30+$j] [expr 130+$j] [expr 140+$j] $np  7  1  -iter $iterNum $iterTol;
    } elseif {$j == 6} {
        element nonlinearBeamColumn   [expr 30+$j] [expr 130+$j] [expr 140+$j] $np  7  1  -iter $iterNum $iterTol;
    } else {
        element nonlinearBeamColumn   [expr 30+$j] [expr 130+$j] [expr 140+$j] $np  6  1  -iter $iterNum $iterTol;
    }
    element nonlinearBeamColumn   [expr 40+$j] [expr 140+$j] [expr 150+$j] $np  5  1  -iter $iterNum $iterTol;
    element nonlinearBeamColumn   [expr 50+$j] [expr 150+$j] [expr 160+$j] $np  5  1  -iter $iterNum $iterTol;
  set j [expr $j +1]
  }


# ----------------------------------------------------------
# Define Beam Elements
# ---------------------------------------------------------

# Geometry of beam elements
# tag 

  geomTransf Linear 2 0 0 -1;


# Create the beam elements using beam-column elements
# Elements 100 < element < 300 are used for beams
# tag ndI ndJ nsecs secID transfTag

  element nonlinearBeamColumn 121 121 167 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 167 167 168 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 168 168 169 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 169 169 122 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 122 122 170 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 170 170 171 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 171 171 123 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 124 124 172 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 172 172 173 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 173 173 174 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 174 174 125 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 125 125 175 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 175 175 176 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 176 176 126 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 151 151 183 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 183 183 184 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 184 184 185 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 185 185 152 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 152 152 186 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 186 186 187 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 187 187 153 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 154 154 188 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 188 188 189 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 189 189 190 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 190 190 155 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 155 155 191 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 191 191 192 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 192 192 156 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 221 121 177 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 277 177 178 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 278 178 179 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 279 179 124 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 222 122 180 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 280 180 181 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 281 181 182 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 282 182 125 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 223 123 126 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 251 151 193 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 293 193 194 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 294 194 195 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 295 195 154 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 252 152 196 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 296 196 197 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 297 197 198 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 298 198 155 $np 8 2 -iter $iterNum $iterTol;
  element nonlinearBeamColumn 253 153 156 $np 8 2 -iter $iterNum $iterTol;


# ---------------------------
# Define horizontal loads
# ---------------------------


  set P3 1000.0;  		# Load on 3rd Story
  set P2 [expr $P3/1.86];	# Load on 2nd story

# Create a Plain load pattern with a linear TimeSeries
  pattern Plain 1 "Linear" {

    # Create the nodal load - command: load nodeID xForce yForce zForce
    load 167 0 [expr  5*$P2/48] 0 0 0 0;
    load 168 0 [expr  5*$P2/48] 0 0 0 0; 
    load 169 0 [expr  5*$P2/48] 0 0 0 0;  
    load 170 0 [expr  3*$P2/32] 0 0 0 0;  
    load 171 0 [expr  3*$P2/32] 0 0 0 0;   
    load 172 0 [expr  5*$P2/48] 0 0 0 0; 
    load 173 0 [expr  5*$P2/48] 0 0 0 0;  
    load 174 0 [expr  5*$P2/48] 0 0 0 0;   
    load 175 0 [expr  3*$P2/32] 0 0 0 0;  
    load 176 0 [expr  3*$P2/32] 0 0 0 0; 
    load 177 [expr $P2/6] 0 0 0 0 0;   
    load 178 [expr $P2/6] 0 0 0 0 0; 
    load 179 [expr $P2/6] 0 0 0 0 0;   
    load 180 [expr $P2/6] 0 0 0 0 0; 
    load 181 [expr $P2/6] 0 0 0 0 0;   
    load 182 [expr $P2/6] 0 0 0 0 0;   
    load 183 0 [expr  5*$P3/48] 0 0 0 0; 
    load 184 0 [expr  5*$P3/48] 0 0 0 0;  
    load 185 0 [expr  5*$P3/48] 0 0 0 0;   
    load 186 0 [expr  3*$P3/32] 0 0 0 0;  
    load 187 0 [expr  3*$P3/32] 0 0 0 0;   
    load 188 0 [expr  5*$P3/48] 0 0 0 0; 
    load 189 0 [expr  5*$P3/48] 0 0 0 0;  
    load 190 0 [expr  5*$P3/48] 0 0 0 0;   
    load 191 0 [expr  3*$P3/32] 0 0 0 0;  
    load 192 0 [expr  3*$P3/32] 0 0 0 0; 
    load 193 [expr $P3/6] 0 0 0 0 0;   
    load 194 [expr $P3/6] 0 0 0 0 0; 
    load 195 [expr $P3/6] 0 0 0 0 0;   
    load 196 [expr $P3/6] 0 0 0 0 0; 
    load 197 [expr $P3/6] 0 0 0 0 0;   
    load 198 [expr $P3/6] 0 0 0 0 0;   
  }


# -------------------------------------------------------------------------
# Create ModelBuilder for 3D elements in X-Z Plane (with two-dimensions and 2 DOF/node)
# -------------------------------------------------------------------------
 
  model basic -ndm 2 -ndf 2  
 
# Create nodes & add to Domain - command: node nodeId xCrd yCrd zCrd
# Nodes 1 < node < 66 are for plane stress elements

  node  1 0 0;
  node  2 $deltaAB 0;
  node  7 $x1 0;
  node  8 $x2 0;
  node  9 $x3 0;
  node 11 0 $cH1;
  node 12 $deltaAB $cH1;
  node 17 $x1 $cH1;
  node 18 $x2 $cH1;
  node 19 $x3 $cH1;
  node 21 0 $cH2;
  node 22 $deltaAB $cH2;
  node 27 $x1 $cH2;
  node 28 $x2 $cH2;
  node 29 $x3 $cH2;
  node 31 0 $cH3;
  node 32 $deltaAB $cH3;
  node 37 $x1 $cH3;
  node 38 $x2 $cH3;
  node 39 $x3 $cH3;
  node 41 0 $cH4;
  node 42 $deltaAB $cH4;
  node 47 $x1 $cH4;
  node 48 $x2 $cH4;
  node 49 $x3 $cH4;
  node 51 0 $cH5;
  node 52 $deltaAB $cH5;
  node 57 $x1 $cH5;
  node 58 $x2 $cH5;
  node 59 $x3 $cH5;


# Set the boundary conditions - command: fix nodeID xResrnt? yRestrnt? zRestrnt?

  fix 1 1 1;  
  fix 2 1 1; 


# tie nodes between beam, column, and wall elements

  equalDOF 11  111  1 3;
  equalDOF 12  112  1 3;
  equalDOF 21  121  1 3;
  equalDOF 22  122  1 3;
  equalDOF 27  167  1 3;
  equalDOF 28  168  1 3;
  equalDOF 29  169  1 3;
  equalDOF 31  131  1 3;
  equalDOF 32  132  1 3;
  equalDOF 41  141  1 3;
  equalDOF 42  142  1 3;
  equalDOF 51  151  1 3;
  equalDOF 52  152  1 3;
  equalDOF 57  183  1 3;
  equalDOF 58  184  1 3;
  equalDOF 59  185  1 3;

# -----------------------------------------------------------------
#  Define materials for ReinforceConcretePlaneStress element
# -----------------------------------------------------------------


# set fc fy E
  set wfc $fcw;
  set wfy $fy;
  set wE  200000.0;
  set rouw 0.0015;	# wall reinforcement ratio
  set ec 0.0025;

# UniaxialMaterial: steelZ01
#                               tag   fy     E0  fpc     rou
  uniaxialMaterial    SteelZ01  6   $wfy    $wE  $wfc  $rouw


# UniaxialMaterial: concreteZ01
# ConcreteZ01                tag   f'c     ec0   
#  uniaxialMaterial ConcreteZ01  7 [expr -$wfc] -0.0025  
#  uniaxialMaterial ConcreteZ01  8 [expr -$wfc] -0.0025 

  uniaxialMaterial ConcreteZ02  7 [expr -$wfc] -0.0025  15000
  uniaxialMaterial ConcreteZ02  8 [expr -$wfc] -0.0025  15000


  set pi 3.141592654;
# NDMaterial: ReinforceConcretePlaneStress
#                                        tag  rho s1 s2 c1 c2    angle1         angle2        rou1  rou2     fpc  fy  E0
  nDMaterial ReinforceConcretePlaneStress  9  0.0  6  6  7  7 [expr 0.0*$pi] [expr 0.5*$pi]  $rouw $rouw  $wfc $wfy $wE $ec


# -----------------------------------------------------------------
#  Define ReinforceConcretePlaneStress element
# -----------------------------------------------------------------

  set wtcc 150; 	# Wall thickness C-C
  set wt11 100;		# wall thickness 1-1  

# Elements 2000 < element < 3000 are used for walls

  set k 0;
  while {$k < 5} {    
  # element quad eleID            node1          node2          node3           node4               thick     type         matID
    element quad [expr 10*$k+2001] [expr 10*$k+1] [expr 10*$k+7] [expr 10*$k+17] [expr 10*$k+11]     $wt11     PlaneStress  9
    element quad [expr 10*$k+2007] [expr 10*$k+7] [expr 10*$k+8] [expr 10*$k+18] [expr 10*$k+17]     $wt11     PlaneStress  9
    element quad [expr 10*$k+2008] [expr 10*$k+8] [expr 10*$k+9] [expr 10*$k+19] [expr 10*$k+18]     $wt11     PlaneStress  9 
    element quad [expr 10*$k+2009] [expr 10*$k+9] [expr 10*$k+2] [expr 10*$k+12] [expr 10*$k+19]     $wt11     PlaneStress  9 
   set k [expr $k+1]
  }

# -------------------------------------------------------------------------
# Create ModelBuilder for 3D elements in Y-Z Plane (with two-dimensions and 2 DOF/node)
# -------------------------------------------------------------------------
 
  model basic -ndm 2 -ndf 2  
 
# Create nodes & add to Domain - command: node nodeId xCrd yCrd zCrd
# Nodes 1 < node < 66 are for plane stress elements

  node  3  0 0;
  node  6  $delta12 0;
  node 13  0 $cH1;
  node 16  $delta12 $cH1;
  node 23  0 $cH2;
  node 26  $delta12 $cH2;
  node 33  0 $cH3;
  node 36  $delta12 $cH3;
  node 43  0 $cH4;
  node 46  $delta12 $cH4;
  node 53  0 $cH5;
  node 56  $delta12 $cH5;


# Set the boundary conditions - command: fix nodeID xResrnt? yRestrnt? zRestrnt?

  fix 3 1 1;  
  fix 6 1 1; 


# tie nodes between beam, column, and wall elements

  equalDOF 13  113  2 3;
  equalDOF 16  116  2 3;
  equalDOF 23  123  2 3;
  equalDOF 26  126  2 3;
  equalDOF 33  133  2 3;
  equalDOF 36  136  2 3;
  equalDOF 43  143  2 3;
  equalDOF 46  146  2 3;
  equalDOF 53  153  2 3;
  equalDOF 56  156  2 3;
  
# -----------------------------------------------------------------
#  Define materials for ReinforceConcretePlaneStress element
# -----------------------------------------------------------------


# set fc fy E
  set wfc $fcw;
  set wfy $fy;
  set wE  200000.0;
  set rouw 0.0015;	# wall reinforcement ratio
  set ec 0.0025;

# UniaxialMaterial: steelZ01
#                               tag   fy     E0  fpc     rou
  uniaxialMaterial    SteelZ01  6   $wfy    $wE  $wfc  $rouw


# UniaxialMaterial: concreteZ01
# ConcreteZ01                tag   f'c     ec0   
#  uniaxialMaterial ConcreteZ01  7 [expr -$wfc] -0.0025  
#  uniaxialMaterial ConcreteZ01  8 [expr -$wfc] -0.0025 

  uniaxialMaterial ConcreteZ02  7 [expr -$wfc] -0.0025  15000
  uniaxialMaterial ConcreteZ02  8 [expr -$wfc] -0.0025  15000


  set pi 3.141592654;
# NDMaterial: ReinforceConcretePlaneStress
#                                        tag  rho s1 s2 c1 c2    angle1         angle2        rou1  rou2     fpc  fy  E0
  nDMaterial ReinforceConcretePlaneStress  9  0.0  6  6  7  7 [expr 0.0*$pi] [expr 0.5*$pi]  $rouw $rouw  $wfc $wfy $wE $ec

# -----------------------------------------------------------------
#  Define ReinforceConcretePlaneStress element
# -----------------------------------------------------------------

# Elements 2000 < element < 3000 are used for walls


  set l 0;
  while {$l < 5} {    
  # element quad eleID            node1          node2          node3           node4               thick     type         matID
    element quad [expr 10*$l+2003] [expr 10*$l+3] [expr 10*$l+6] [expr 10*$l+16] [expr 10*$l+13]     $wt11     PlaneStress  9
   set l [expr $l+1]
  } 


# ------------------------------
# End of model generation
# ------------------------------


# ------------------------------
# Start of analysis generation
# ------------------------------


# Create the system of equation, a sparse solver with partial pivoting
  system BandGeneral


# Create the constraint handler
  constraints Plain

# Create the DOF numberer
  numberer Plain


# Create the convergence test
  test NormDispIncrVaryIter 0.01 16 5 numStep 100 400 300 400 700 1020 1320 1540 1820 2100 2300 2570 2770 3050 1500 10 numIter 100 0 0 0 0 0 0 0 0 0 0 0 100 100 100 0  

# Create the solution algorithm
#   algorithm Newton 
#   algorithm NewtonLineSearch 0.8
    algorithm KrylovNewton

# Create the integration scheme, the DisplacementControl scheme
  integrator DisplacementPath 192 2 16 numStep 100 400 300 400 700 1020 1320 1540 1820 2100 2300 2570 2770 3050 1500 10 increment 0.001 -0.005 0.01 -0.01 0.01 -0.01 0.01 -0.01 0.01 -0.01 0.01 -0.01 0.01 -0.01 0.01 -0.01


# Create the analysis object
  analysis Static


# initialize in case we need to do an initial stiffness iteration
  initialize

# ------------------------------
# End of analysis generation
# ------------------------------

# Create a recorder to monitor nodal displacements
  recorder Node -file NCREE_3D_Frame.out -time -node 192 -dof 2 disp

# perform the analysis
    analyze 21890
#    analyze 1500

# Print out the state of nodes
  print node 192

# Print out the state of elements
#  print ele 5 6 7 8
I have spent the last two weeks exclusively trying to figure this out. I've read the manual, looked at examples, asked other OpenSees Users that I know personally, and read the message board. I can't figure out what is wrong. I would greatly appreciate any help.

Thank you in advance for your help.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

you really should use variable when you have such a complicated model, to reduce error.

what is:

uniaxialMaterial SteelZ01 5 $fy $E 32.0 0.017


the convergence problem is typically associated with Concrete material -- the strains are too high. typically this is for a poorly-designed section.

your steel, though, worries, me....
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
howserrn
Posts: 4
Joined: Fri Jun 01, 2007 8:49 am
Location: University of Houston

Post by howserrn »

I'm sorry. I should have explained that. I am working on a research project for the University of Houston. UH developed a model known as the Cyclic Softened Membrane Model (CSMM) in 2005. The model predicts the nonlinear shear behavior of reinforced concrete membrane elements. A couple of years ago, a UH PhD student developed SteelZ01 as part of her dissertation. The steel module SteelZ01 incorporates both the envelope and the unloading/reloading pattern of uniaxial constitutive relationships or embedded mild steel in the CSMM. Similarly, ConcreteZ01 and Concrete Z02 are also based on CSMM.
howserrn
Posts: 4
Joined: Fri Jun 01, 2007 8:49 am
Location: University of Houston

Post by howserrn »

I tried using the normal steel and concrete modules and got the same error.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

please send me your files: opensees-support (at) berkeley(dot)edu

please make sure these files work with the latest public release of opensees.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Post Reply