Problem with ModIMKPeakOriented and ModIMKPinching materials
Moderators: silvia, selimgunay, Moderators
Problem with ModIMKPeakOriented and ModIMKPinching materials
I have noticed problems with the "ModIMKPeakOriented" and "ModIMKPinching" materials where springs with these materials can fail to take appropriate loads. This problem is illustrated in the following SDOF model, which has an elastic column with a rotational spring at the base. When the "Elastic" or "Bilin" materials are used for the spring, the moment in the spring equals the moment at the base of the elastic column (as expected); however, when either the "ModIMKPeakOriented" or the "ModIMKPinching" material is used, the moment in the spring is negligible compared to the moment in the column. I have set the yield moment of the spring to a large number such that it does not yield, i.e., these problems are occurring for elastic behavior. Is there a bug in the implementation of the "ModIMKPeakOriented" and "ModIMKPinching" materials (possibly related to behavior at small rotations)?
Here's the model:
# SDOF with T1 = 0.130000 sec
# Units kip, in
wipe all; # clear memory of past model definitions
model BasicBuilder -ndm 2 -ndf 3;
# Assign Nodes
node 10000 0.0 0.0;
node 10001 0.0 0.0;
node 10100 0.0 144.0;
# assign restraints
fix 10000 1 1 1;
fix 10001 1 1 0;
fix 10100 0 1 0;
# assign mass
mass 10100 0.258933 0. 0.;
# set up geometric transformations of element
set TransfTag 1;
geomTransf Linear $TransfTag;
# define elastic column element
element ModElasticBeam2d 301 10001 10100 10000.0 1.0000 662245914.8005 3.87096774 3.69501466 1.93548387 $TransfTag; # Elastic Column Floor 0 - 1
# choose spring material: ModIMKPeakOriented and ModIMKPinching don't take on appropriate moment, but Bilin and Elastic seem fine
uniaxialMaterial ModIMKPeakOriented 301 275935797.8336 0.001382 0.001382 916646.4000 -916646.4000 1000.0 1000.0 1000.0 1000.0 1.00 1.00 1.00 1.00 0.02025 0.02025 0.01575 0.01575 0.200 0.200 0.03606 0.03606 1.0 1.0;
#uniaxialMaterial ModIMKPinching 301 275935797.8336 0.001382 0.001382 916646.4000 -916646.4000 0.2 0.2 0.2 1000.0 1000.0 1000.0 1000.0 1.00 1.00 1.00 1.00 0.02025 0.02025 0.01575 0.01575 0.200 0.200 0.03606 0.03606 1.0 1.0;
#uniaxialMaterial Bilin 301 275935797.8336 0.001382 0.001382 916646.4000 -916646.4000 1000.0 1000.0 1000.0 1000.0 1.00 1.00 1.00 1.00 0.02025 0.02025 0.01575 0.01575 0.200 0.200 0.03606 0.03606 1.0 1.0;
#uniaxialMaterial Elastic 301 275935797.8336;
# define spring element
element zeroLength 101 10000 10001 -mat 301 -dir 6;
# perform eigenvalue analysis
set lambda [eigen -fullGenLapack 1];
set pi [expr 2.0*asin(1.0)]
set w1 [expr sqrt($lambda)]
set T [expr (2.*$pi)/sqrt($lambda)]
puts "T = $T"
# recorders
set dataDir TH_results; # name of output folder
file mkdir $dataDir; # create output folder
recorder EnvelopeDrift -file $dataDir/IDREnv-AllStories.txt -iNode 10000 -jNode 10100 -dof 1 -perpDirn 2;
#recorder Drift -file $dataDir/IDRhist-AllStories.txt -time -iNode 10000 -jNode 10100 -dof 1 -perpDirn 2;
#recorder Element -file $dataDir/Col-Force-Hist.txt -time -ele 301 force;
recorder EnvelopeElement -file $dataDir/Col-Force-Hist.txt -ele 301 force;
#recorder Node -file $dataDir/NodeRxn.txt -time -node 10000 10001 -dof 1 2 3 reaction;
#recorder Element -file $dataDir/Spring-Force-History.txt -time -ele 101 force;
recorder EnvelopeElement -file $dataDir/Spring-ForceEnv.txt -ele 101 force;
#recorder Element -file $dataDir/Spring-Rot-History.txt -time -ele 101 deformation;
recorder EnvelopeElement -file $dataDir/Spring-RotEnv.txt -ele 101 deformation;
# calculate damping parameters
set zeta 0.05; # percentage of critical damping
set a0 [expr 2.0*$zeta*$w1]; # mass damping for SDOF
region 4 -node 10100 -rayleigh $a0 0.0 0.0 0.0; # mass proportional damping to node with mass
# define ground motion parameters
set g 386.2; # acceleration due to gravity
set patternID 1; # load pattern ID
set GMdirection 1; # ground motion direction (1 = x)
set Scalefact 1.0; # ground motion scaling factor
set GMtime 40.0; # duration of ground motion
# define and apply ground acceleration
timeSeries PeerNGAMotion 1 /IMPVALL/I-ELC180 [expr $Scalefact*$g]
pattern UniformExcitation $patternID $GMdirection -accel 1;
#recorder EnvelopeNode -file $dataDir/AbsAccEnv-AllFloors.txt -timeSeries 1 -node 10100 -dof 1 accel;
#recorder Node -file $dataDir/AbsAccHist-AllFloors.txt -timeSeries 1 -time -node 10100 -dof 1 accel;
# define dynamic analysis parameters
set dt_analysis 0.001;
wipeAnalysis
constraints Transformation
numberer RCM
system UmfPack
test EnergyIncr 1.0e-3 20 0
algorithm KrylovNewton
integrator Newmark 0.50 0.25
analysis Transient
set NumSteps [expr round($GMtime/$dt_analysis)];
puts "Running dynamic analysis..."
set ok [analyze $NumSteps $dt_analysis];
wipe all;
Here's the model:
# SDOF with T1 = 0.130000 sec
# Units kip, in
wipe all; # clear memory of past model definitions
model BasicBuilder -ndm 2 -ndf 3;
# Assign Nodes
node 10000 0.0 0.0;
node 10001 0.0 0.0;
node 10100 0.0 144.0;
# assign restraints
fix 10000 1 1 1;
fix 10001 1 1 0;
fix 10100 0 1 0;
# assign mass
mass 10100 0.258933 0. 0.;
# set up geometric transformations of element
set TransfTag 1;
geomTransf Linear $TransfTag;
# define elastic column element
element ModElasticBeam2d 301 10001 10100 10000.0 1.0000 662245914.8005 3.87096774 3.69501466 1.93548387 $TransfTag; # Elastic Column Floor 0 - 1
# choose spring material: ModIMKPeakOriented and ModIMKPinching don't take on appropriate moment, but Bilin and Elastic seem fine
uniaxialMaterial ModIMKPeakOriented 301 275935797.8336 0.001382 0.001382 916646.4000 -916646.4000 1000.0 1000.0 1000.0 1000.0 1.00 1.00 1.00 1.00 0.02025 0.02025 0.01575 0.01575 0.200 0.200 0.03606 0.03606 1.0 1.0;
#uniaxialMaterial ModIMKPinching 301 275935797.8336 0.001382 0.001382 916646.4000 -916646.4000 0.2 0.2 0.2 1000.0 1000.0 1000.0 1000.0 1.00 1.00 1.00 1.00 0.02025 0.02025 0.01575 0.01575 0.200 0.200 0.03606 0.03606 1.0 1.0;
#uniaxialMaterial Bilin 301 275935797.8336 0.001382 0.001382 916646.4000 -916646.4000 1000.0 1000.0 1000.0 1000.0 1.00 1.00 1.00 1.00 0.02025 0.02025 0.01575 0.01575 0.200 0.200 0.03606 0.03606 1.0 1.0;
#uniaxialMaterial Elastic 301 275935797.8336;
# define spring element
element zeroLength 101 10000 10001 -mat 301 -dir 6;
# perform eigenvalue analysis
set lambda [eigen -fullGenLapack 1];
set pi [expr 2.0*asin(1.0)]
set w1 [expr sqrt($lambda)]
set T [expr (2.*$pi)/sqrt($lambda)]
puts "T = $T"
# recorders
set dataDir TH_results; # name of output folder
file mkdir $dataDir; # create output folder
recorder EnvelopeDrift -file $dataDir/IDREnv-AllStories.txt -iNode 10000 -jNode 10100 -dof 1 -perpDirn 2;
#recorder Drift -file $dataDir/IDRhist-AllStories.txt -time -iNode 10000 -jNode 10100 -dof 1 -perpDirn 2;
#recorder Element -file $dataDir/Col-Force-Hist.txt -time -ele 301 force;
recorder EnvelopeElement -file $dataDir/Col-Force-Hist.txt -ele 301 force;
#recorder Node -file $dataDir/NodeRxn.txt -time -node 10000 10001 -dof 1 2 3 reaction;
#recorder Element -file $dataDir/Spring-Force-History.txt -time -ele 101 force;
recorder EnvelopeElement -file $dataDir/Spring-ForceEnv.txt -ele 101 force;
#recorder Element -file $dataDir/Spring-Rot-History.txt -time -ele 101 deformation;
recorder EnvelopeElement -file $dataDir/Spring-RotEnv.txt -ele 101 deformation;
# calculate damping parameters
set zeta 0.05; # percentage of critical damping
set a0 [expr 2.0*$zeta*$w1]; # mass damping for SDOF
region 4 -node 10100 -rayleigh $a0 0.0 0.0 0.0; # mass proportional damping to node with mass
# define ground motion parameters
set g 386.2; # acceleration due to gravity
set patternID 1; # load pattern ID
set GMdirection 1; # ground motion direction (1 = x)
set Scalefact 1.0; # ground motion scaling factor
set GMtime 40.0; # duration of ground motion
# define and apply ground acceleration
timeSeries PeerNGAMotion 1 /IMPVALL/I-ELC180 [expr $Scalefact*$g]
pattern UniformExcitation $patternID $GMdirection -accel 1;
#recorder EnvelopeNode -file $dataDir/AbsAccEnv-AllFloors.txt -timeSeries 1 -node 10100 -dof 1 accel;
#recorder Node -file $dataDir/AbsAccHist-AllFloors.txt -timeSeries 1 -time -node 10100 -dof 1 accel;
# define dynamic analysis parameters
set dt_analysis 0.001;
wipeAnalysis
constraints Transformation
numberer RCM
system UmfPack
test EnergyIncr 1.0e-3 20 0
algorithm KrylovNewton
integrator Newmark 0.50 0.25
analysis Transient
set NumSteps [expr round($GMtime/$dt_analysis)];
puts "Running dynamic analysis..."
set ok [analyze $NumSteps $dt_analysis];
wipe all;
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
Laura .. all i can say with any certainty is "quite possibly" .. the "ModIMKPeakOriented" and "ModIMKPinching" have been posing problems for the past few months/years! .. the various versions and bug fixes seem to cause more problems than they solve .. i will ask the author to look into the matter .. you might talk to Reagan on the subject as I believe he is using a current version of OpenSees with an older version of one of the materials (actually i lie .. i know he is, i helped build the application!)
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
Thanks for the reply, Frank. I'll talk to Dimitrios about this problem (again). Thanks for the lead with Reagan -- I'll be sure to contact him.
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
Hi, I have the same problem about that when I use MK-bilin model (the similar input of these 3 models). No matter how i adjust, the column is still elastic without yield.
Next are some my thoughts:
I read his code and I find that in the interface, he use moment as stress and rotation as strain, so i wounder whether it is right.
Next are some my thoughts:
I read his code and I find that in the interface, he use moment as stress and rotation as strain, so i wounder whether it is right.
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
The model can be used for stress/strain, moment/rotation, moment/curvature ... x and f(x). The problem is in the coding and logic!
Hopefully it can be fixed as there are many people having issues with these models.
Hopefully it can be fixed as there are many people having issues with these models.
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
Dear fmk,
are there news about the ModIMKPeakOriented material? In my case it works fine in static pushover analysis, but it gives underestimated results in time history analysis.
Many Thanks,
Chiara
are there news about the ModIMKPeakOriented material? In my case it works fine in static pushover analysis, but it gives underestimated results in time history analysis.
Many Thanks,
Chiara
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
Same problem here. Works fine for gravity and pushover analyses, but not for dynamic analyses. Moment in the zero-length element does not match the elastic beam column element, and the deformations are much larger in the elastic member than in the zero-length springs.
The difference in moments changes with the type of convergence test and step size.
The difference in moments changes with the type of convergence test and step size.
Adolfo Matamoros
Peter T. Flawn Professor
University of Texas at San Antonio
Adolfo.Matamoros@utsa.edu
Peter T. Flawn Professor
University of Texas at San Antonio
Adolfo.Matamoros@utsa.edu
-
- Posts: 27
- Joined: Thu Aug 09, 2012 12:56 pm
- Location: Lehigh University
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
Also, ModIMKPeakOriented and ModIMKPinching materials will make the model run very very slowly. But Bilin materials won't.
Has anyone fixed the problem yet?
Has anyone fixed the problem yet?
Re: Problem with ModIMKPeakOriented and ModIMKPinching mater
Is the issue solved yet??
Re: Problem with ModIMKPeakOriented and ModIMKPinching materials
Hi
I have 5 story RC moment frame which is modeled with BEAMWITHHINGE element for columns (Fiber) and concentrated plasticity concept with rotational springs for beams (ModIMKPeakOriented material). I should do time history analysis. I have faces two conditios with opensees:
1-When using test NormDispIncr (tol=1e-4 ) and suitable algorithm (ModifiedNewton, Newton, BFGS, KrylovNewton, etc), model converges but beams stay elastic ( its not true in fact)!!!!
2-When using test NormDispIncr (tol=1e-6 ) and any algorithm (ModifiedNewton, Newton, BFGS, KrylovNewton, etc), model does not converge but beams become a little inelastic for the time it has done the analysis!!!!
I have used opensees 2.5.0.
I will be happy to receive your comments.
best Regards...
I have 5 story RC moment frame which is modeled with BEAMWITHHINGE element for columns (Fiber) and concentrated plasticity concept with rotational springs for beams (ModIMKPeakOriented material). I should do time history analysis. I have faces two conditios with opensees:
1-When using test NormDispIncr (tol=1e-4 ) and suitable algorithm (ModifiedNewton, Newton, BFGS, KrylovNewton, etc), model converges but beams stay elastic ( its not true in fact)!!!!
2-When using test NormDispIncr (tol=1e-6 ) and any algorithm (ModifiedNewton, Newton, BFGS, KrylovNewton, etc), model does not converge but beams become a little inelastic for the time it has done the analysis!!!!
I have used opensees 2.5.0.
I will be happy to receive your comments.
best Regards...
Re: Problem with ModIMKPeakOriented and ModIMKPinching materials
hi, Does anyone have Haseltone' opensees codes for RC frames?
Clough material is not in opensees material anymore, why?
BEST REGRADS
Clough material is not in opensees material anymore, why?
BEST REGRADS