The records of sensitivity analysis are not normal

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

Moderators: silvia, selimgunay, Moderators

Post Reply
zhangningswing
Posts: 4
Joined: Wed May 17, 2017 6:41 am

The records of sensitivity analysis are not normal

Post by zhangningswing » Mon May 22, 2017 8:33 pm

I used HardeningMaterial to do an analysis of sensitivity. I have a question. The results of the sensitivity can not be recorded normally. I checked all the records and all the results were 0. But when I was in the debug time, I found that the result of sensitivity in HardeningMaterial.cpp is not 0. Why the results of sensitivity can not be recorded properly?

Here's my code.
#----------------------------------------------------------
wipe
model BasicBuilder -ndm 2 -ndf 2

if { [file exists output] == 0 } {
file mkdir output
}

node 1 0.0 0.0
node 2 1.0 0.0

fix 1 1 1
fix 2 0 1

set A 1;
set matTag 1;


uniaxialMaterial Hardening $matTag 5 20 0.5 0.5 0.8

element truss 1 1 2 $A $matTag

reliability
parameter 1
addToParameter 1 -element 1 -material E

timeSeries Linear 1 -factor 1

pattern Plain 1 1 {
load 2 1000 0

}
recorder Node -file output/disp.out -time -node 2 -dof 1 disp
recorder Node -file output/react.out -time -node 1 -dof 1 reaction
recorder Node -file ddm.out -time -precision 16 -node 1 -dof 1 -sensitivity 1

constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr 1.0e-6 20 2;
algorithm Newton;
integrator LoadControl 0.1;
analysis Static

sensitivityAlgorithm -computeAtEachStep
sensitivityIntegrator -static

analyze 60;
#------------------------------------------------------------------------------

The first time I used this code.
recorder Node -file ddm.out -time -precision 16 -node 1 -dof 1 sensitivity 1
But it will stop in the first step of the calculation

Then I changed the code.
recorder Node -file ddm.out -time -precision 16 -node 1 -dof 1 -sensitivity 1
Because in the TclRecorderCommands.cpp,I found it like that
else if (strcmp(argv[pos],"-sensitivity") == 0) {
But they can not be used normally.

In addition, I also tried
sensitivity
“sensitivity”
“sensitivity 1 ”
They can not be recorded normally.

Thanks.

Post Reply