Pinching4 material (cyclic analysis) - code

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

Moderators: silvia, selimgunay, Moderators

Post Reply
danielcastro88
Posts: 7
Joined: Thu Feb 23, 2012 8:48 am
Location: University of Porto (FEUP)

Pinching4 material (cyclic analysis) - code

Post by danielcastro88 »

I'm trying to model a PINCHING4 material under cyclic behaviour!

Problem: I don't know why, but there's always errors in the model of the cyclic behaviour.
Firstly, I followed the tutorial. For my model it made sense to use the following code, but it didn't run.

http://opensees.berkeley.edu/wiki/index ... ialExample
procRCycDAns.tcl

Secondly, I tried to do by myself and also it didn't work.

If someone has ran a cyclic behaviour model in perfect conditions, could you please post here? It is urgent!
danielcastro88
Posts: 7
Joined: Thu Feb 23, 2012 8:48 am
Location: University of Porto (FEUP)

Re: Pinching4 material (cyclic analysis) - code

Post by danielcastro88 »

Following I present the model I have done.
If someone check it and notice the error, please let me know!

Thanks in advance.


puts "Begin Pinching_Definition"
puts " ------------- "
######################################
puts "# Creat Model Builder, Nodes and Boundary Conditions #"
######################################

# creat the ModelBuilder object
model BasicBuilder -ndm 2 ndf 3

# add nodes - command: node node ID xCrd yCrd
node 1 0.0 0.0
node 2 0.0 0.0

# set boundary conditions - command: fix node ID xResrnt yResrnt mzResrnt
fix 1 1 1 1
fix 2 0 0 0
puts "DONE"


puts " --------------- "
##################################################
puts "# Define hysteric behaviour #"
##################################################
proc cyclic { incre nodeTag dofTag peakpts} {
set x [lindex $peakpts 0]
set fir [expr $x/$incre]
integrator DisplacementControl $nodeTag $dofTag $fir

# create the analysis object
analysis Static

# perform the analysis
analyze $incre

integrator DisplacementControl $nodeTag $dofTag [expr -$fir]
analyze [expr 2*$incre]

integrator DisplacementControl $nodeTag $dofTag $fir
analyze $incre

for {set j 1} {$j < [llength $peakpts]} {incr j 1} {
set tx [lindex $peakpts $j]
set tinc [expr $tx/$fir]
set rt [expr int($tinc)]

integrator DisplacementControl $nodeTag $dofTag $fir
analyze $rt

integrator DisplacementControl $nodeTag $dofTag [expr -$fir]
analyze [expr 2*$rt]

integrator DisplacementControl $nodeTag $dofTag $fir
analyze $rt
}
}


puts " ------------ "
#####################################
puts "# Define a material #"
#####################################
uniaxialMaterial Pinching4 1 45.58519 0.00512919 71.10000 0.0122 77.50791 0.02671772 41.20000 0.0832 -66.00000 -0.00665 -86.55090 -0.01843756 -84.50000 -0.0439 -4.14823 -0.08029056 0.5 0.25 0.05 0.5 0.25 0.05 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10 "energy"
puts "Material_Defined"


puts " ------------- "
#####################################
puts "# Creat an element( RotSpring2D ) #"
# Create the zero length element
element zeroLength 1 1 2 -mat 1 -dir 3

# Constrain the translational DOF with a multi-point constraint
# retained constrained DOF_1 DOF_2 ... DOF_n
equalDOF 1 2 1 2

puts "Spring_Done"


puts " ----------------- "
##############################################
puts "# Define Recorders #"
##############################################
recorder Node -file disp.out -time -node 2 -dof 3 disp
puts "Done_recorder"


puts "Begin PARAMETERS_ANALYSIS"
puts " -------------- "
################################################
puts "# Define Peakpts/Increment/nodeTAG/DOF #"
################################################
set peakpts [list 2.33000 3.21751 4.13264 5.08900 10.13713 10.40406 16.15209 15.49375 22.90578 23.35951 30.04103 30.20917 36.64938 37.41836 44.08802 44.38898 51.18235 51.53760 59.41386 59.28576 65.88622 68.15400 75.70108 75.88379 83.54687 84.51398]

set incre 10
set nodeTag 2
set dofTag 3


puts " ------------ "
#############################################
puts "# Apply a random load #"
#############################################
# Now apply loading...
pattern Plain 1 Linear {
load 2 0.0 0.0 100.0
}


puts " ----------------- "
##############################################
puts "# build the components for the analysis object #"
##############################################
system ProfileSPD
constraints Plain
test NormDispIncr 1.0e-7 10
algorithm Newton
numberer RCM
puts "Done PARAMETERS_ANALYSIS"


puts " ------------- "
#############################################
puts "# Reverse Cyclic loading to the model by Disp. control #"
#############################################
cyclic $incre $nodeTag $dofTag $peakpts
puts " ----------------- "
############################################
puts "Cyclic Analysis Completed"
puts " ----------------- "
############################################

# print the results at nodes
puts "Data Node"
print node
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Pinching4 material (cyclic analysis) - code

Post by vesna »

Did you have a problem with running the posted example or you only had a problem with your model?

I tested the example and it worked.

What did you change in your model from the posted example?

Post the error message.
danielcastro88
Posts: 7
Joined: Thu Feb 23, 2012 8:48 am
Location: University of Porto (FEUP)

Re: Pinching4 material (cyclic analysis) - code

Post by danielcastro88 »

Dear Vesna,

- I have a problem on running the given example.

The error:
"OpenSees > analyze failed, returned: -2 error flag
ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0)
DisplacementControl::newStep(void) - failed in solver
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at
load factor 0"

- I believe I have set up the program correctly. I don't think it is an installation problem and I don't think it is a problem on the material too.
I can run the given pinching4 example that there is in the tutorial, however when I change the axial force to a moment, the truss element example to a zero-length element and the constraints I got the same error as I wrote above and I alwyas did this without changing the parameters showed on the tutorial.

- The Pinching4 material relates force-deformation. I'm using a relation moment-curvature. I think it is not a problem.

Looking for your opinion.
Kindly,
Daniel
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Pinching4 material (cyclic analysis) - code

Post by vesna »

The error indicates the problem with your model.

I noticed two things with your model:

1. use "fix 2 1 1 0" and comment our "equalDOF command"

2. The element definition should be like this: element zeroLength 1 1 2 -mat 1 -dir 6

Yes, you can use this material to define moment-curvature, but with the element you are using you are defining moment-rotation. If you want to define moment-curvature you should use zeroLengthSection
Post Reply