force-based and displacement-based PO
Moderators: silvia, selimgunay, Moderators
force-based and displacement-based PO
Hi
I performed a Force-Based pushover analysis and I got the displacements results for the nodes that I had been applied force on them. After that I performed a Displacement-Based pushover with the displacement results of previous analysis on the same nodes.
I expected the same shears in the columns but I understand that shears of columns are completely different except the first step.
I can't understand what did I done wrong?
regards
I performed a Force-Based pushover analysis and I got the displacements results for the nodes that I had been applied force on them. After that I performed a Displacement-Based pushover with the displacement results of previous analysis on the same nodes.
I expected the same shears in the columns but I understand that shears of columns are completely different except the first step.
I can't understand what did I done wrong?
regards
Are you doing displacement control or using imposed displacements .. they are not the same thing .. if you use the displacementcontrol integrator with the same ref load set you should get the same answer if the displacemenet increment at whatever node is the same as that obtained in the pushover .. if you are not doing displacement control and are doing imposed displacement you will not get the same result unless you impose the displacements at every single node in the model, which you cannot not do unless you use the Penalty method as you will have no unknowns otherwise.
Thank you very much Dr.Frank
I used this code :
constraints Transformation;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.e-8 1000 0;
algorithm Newton -initial;
integrator LoadControl 1000;
analysis Static;
for {set j1 1} {$j1<=$nStep} {incr j1 +1} {
remove loadPattern 1;
****some codes to obtain Displacement array
pattern Plain 1 Constant {
sp $p1 1 $Displacement(1);
sp $p2 1 $Displacement(2);
sp $p3 1 $Displacement(3);
sp $p4 1 $Displacement(4);
sp $p5 1 $Displacement(5);
};
set ok [analyze 1];
};
And you mean it's not a displacement-control analysis. So what changes I should done?
Is it correct?
constraints Penalty 1.0e12 1.0e12;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.e-8 1000 0;
algorithm Newton -initial; #didn't work for this type!!! Should try another
integrator DisplacementControl $p5 1 0.1; # this is same as my forced-based analysis
analysis Static;
for {set j1 1} {$j1<=$nStep} {incr j1 +1} {
remove loadPattern 1;
****some codes to obtain Displacement array
pattern Plain 1 Constant {
sp $p1 1 $Displacement(1);
sp $p2 1 $Displacement(2);
sp $p3 1 $Displacement(3);
sp $p4 1 $Displacement(4);
sp $p5 1 $Displacement(5);
};
set ok [analyze 1];
};
regards
I used this code :
constraints Transformation;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.e-8 1000 0;
algorithm Newton -initial;
integrator LoadControl 1000;
analysis Static;
for {set j1 1} {$j1<=$nStep} {incr j1 +1} {
remove loadPattern 1;
****some codes to obtain Displacement array
pattern Plain 1 Constant {
sp $p1 1 $Displacement(1);
sp $p2 1 $Displacement(2);
sp $p3 1 $Displacement(3);
sp $p4 1 $Displacement(4);
sp $p5 1 $Displacement(5);
};
set ok [analyze 1];
};
And you mean it's not a displacement-control analysis. So what changes I should done?
Is it correct?
constraints Penalty 1.0e12 1.0e12;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.e-8 1000 0;
algorithm Newton -initial; #didn't work for this type!!! Should try another
integrator DisplacementControl $p5 1 0.1; # this is same as my forced-based analysis
analysis Static;
for {set j1 1} {$j1<=$nStep} {incr j1 +1} {
remove loadPattern 1;
****some codes to obtain Displacement array
pattern Plain 1 Constant {
sp $p1 1 $Displacement(1);
sp $p2 1 $Displacement(2);
sp $p3 1 $Displacement(3);
sp $p4 1 $Displacement(4);
sp $p5 1 $Displacement(5);
};
set ok [analyze 1];
};
regards
i suggest you do a little research to see just exactly what displacement control is .. you as i suspected where doing imposed displacements .. to do diaplacement control you need to create a load pattern with reference loads and not sp's .. the integrator you use is DisplacementControl and not LoadControl .. in the displacement control integrator you specify the increment in displacement you want to occur at ONE specific node for ONE DOF .. the integrator then determines what pseudo time step is required to get there (i.e. what is the load factor if there is only a siingle pattern with a Linear time series).
I'm sorry. I think I made a mistake at my writing.
I performed a "Forced-Based (use loads) Displacement-control (integrator was DisplacementControl)" at first, then with using the displacement results of that analysis I performed a "Displacement-Based (use sp's) with using Force control (integrator was ForceControl)".
Is the wrong part of my job using ForceControl as my integrator?
You already said that I can't use the "DisplacementControl" integrator with" Transformation" constraints. So I should use :
constraints Penalty 1.0e12 1.0e12;
integrator DisplacementControl $p5 1 0.1;
for {set j1 1} {$j1<=$nStep} {incr j1 +1} {
remove loadPattern 1;
****some codes to obtain Displacement array
pattern Plain 1 Constant {
sp $p1 1 $Displacement(1);
sp $p2 1 $Displacement(2);
sp $p3 1 $Displacement(3);
sp $p4 1 $Displacement(4);
sp $p5 1 $Displacement(5);
};
set ok [analyze 1];
};
Regards
I performed a "Forced-Based (use loads) Displacement-control (integrator was DisplacementControl)" at first, then with using the displacement results of that analysis I performed a "Displacement-Based (use sp's) with using Force control (integrator was ForceControl)".
Is the wrong part of my job using ForceControl as my integrator?
You already said that I can't use the "DisplacementControl" integrator with" Transformation" constraints. So I should use :
constraints Penalty 1.0e12 1.0e12;
integrator DisplacementControl $p5 1 0.1;
for {set j1 1} {$j1<=$nStep} {incr j1 +1} {
remove loadPattern 1;
****some codes to obtain Displacement array
pattern Plain 1 Constant {
sp $p1 1 $Displacement(1);
sp $p2 1 $Displacement(2);
sp $p3 1 $Displacement(3);
sp $p4 1 $Displacement(4);
sp $p5 1 $Displacement(5);
};
set ok [analyze 1];
};
Regards