Consideration of P-Delta effect in time history analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
KhaledSaif
Posts: 20
Joined: Fri Feb 19, 2016 11:06 pm
Location: University of Canterbury

Consideration of P-Delta effect in time history analysis

Post by KhaledSaif »

Hi all,

I tried a nonlinear time history analysis on a cantilever column to see P-Delta effect on the results. To include P-Delta I used PDelta geometric transformation, to ignore it I just used the Linear geometric transformation. The problem was that the two results were identical :\
I tired to increase the axial load but it didn't work.
My model is a 3.25m cantilever column, the section is 0.75x0.60m with 32T16 reinforcement bars. I used up to 0.2AgFc as a vertical axial load.

So is the geometric transformation the right way to consider P-Delta effect? IF so, why did I get the same results?
The model can be provided when required.

Thanks,
Khaled
emjac
Posts: 41
Joined: Sun Oct 05, 2014 2:23 pm
Location: École polytechnique de Montréal

Re: Consideration of P-Delta effect in time history analysis

Post by emjac »

That is the right geometric transformation.
How do you apply the "P" load? Are you using the loadConst command after applying the P load?
KhaledSaif
Posts: 20
Joined: Fri Feb 19, 2016 11:06 pm
Location: University of Canterbury

Re: Consideration of P-Delta effect in time history analysis

Post by KhaledSaif »

Hi there, thanks for replying.
Yes, I am using the loasdConst command. Here is the code for applying the axial load P :

geomTransf PDelta 1;
element nonlinearBeamColumn 1 1 2 4 100 1;
pattern Plain 1 Linear {
load 2 0 [expr -0.05*$Weight] 0
};
set Tol 1.0e-12;
test NormDispIncr $Tol 10;
constraints Plain;
numberer Plain;
system BandGeneral;
algorithm Newton;
integrator LoadControl 0.1;
analysis Static;
analyze 10;
loadConst -time 0.0;
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Consideration of P-Delta effect in time history analysis

Post by fmk »

the PDelta and Linear should give different results if you have some load in the element .. compare the element forces as opposed to the displacements .. if transverse displacements to direction of element are 0 the forces will be the same .. you might post the entire script if small enough
KhaledSaif
Posts: 20
Joined: Fri Feb 19, 2016 11:06 pm
Location: University of Canterbury

Re: Consideration of P-Delta effect in time history analysis

Post by KhaledSaif »

Thanks for reply. The displacements are not 0, but the same results for both cases. Here is the code which is a cantilever column with axial load. I used LA01 earthquake record, just use any. Thanks for help.


# SET UP -----------------------------------------------------------------
wipe; # clear memory of all past model definitions

# N,mm,
# define UNITS
set mm 1.; # define basic units -- output units length
set N 1.; # define basic units -- output units force
set sec 1.; # define basic units -- output units time
set LunitTXT "mm"; # define basic-unit text for output
set FunitTXT "N"; # define basic-unit text for output
set TunitTXT "sec"; # define basic-unit text for output
set m [expr 1000.*$mm]; # define engineering units
set kN [expr 1000.*$N]; # define engineering units
set m2 [expr $m*$m]; # m^2
set mm2 [expr $mm*$mm]; # mm^2
set mm4 [expr $mm*$mm*$mm*$mm]; # mm^4
set MPa [expr $N/$mm2];
set Pa [expr $N/$m2];
set cm [expr $mm*10.]; # centimeter, needed for displacement input
set PI [expr 2.*asin(1.0)]; # define constant PI
set g [expr 9.81*$m/pow($sec,2)]; # define constant gravitational acceleration
#----------------------------------------------------

model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
file mkdir LA01;

# define Global GEOMETRY -------------------------------------------------------------
set HCol [expr 3.25*$m]; # Column Height (m)
set Weight [expr 14170*$kN]; # section total compression capacity(kN)

# define section geometry
set LCol [expr 0.75*$m]; # Column Length (m)- Y Direction.
set BCol [expr 0.60*$m]; # Column Breadth (m)- Z Direction.

# calculated column mass
set Mass [expr 0.015*$Weight/9.81]; # nodal mass (kg).

# nodal coordinates:
node 1 0 0; # node#, X, Y (m).
node 2 0 $HCol;

# Single point constraints -- Boundary Conditions
fix 1 1 1 1; # node DX DY RZ - node 1 fixed, node 2 free.

# nodal masses:
mass 2 $Mass 0 0 ; # node#, Mx My Mz, neglect rotational inertia at nodes

# MATERIAL parameters
# confinded concrete
set fpc [expr 33*$MPa]; # Concrete compressive strength at 28 days
set Epsc0 0.0057; # concrete strain at maximum strength
set Epsu 0.028; # concrete strain at crushing strength
set Ec [expr 4700*($fpc**0.5)*$MPa];

# unconfinded concrete
set fupc [expr 23*$MPa]; # Concrete compressive strength at 28 days
set Eupsc0 0.0018; # concrete strain at maximum strength
set Eupsu 0.0097; # concrete strain at crushing strength
set Euc [expr 4700*($fupc**0.5)*$MPa];

# Steel
set fy [expr 420*$MPa]; # yield strength
set Es [expr 200000*$MPa]; # reinforcement steel modulus of elasticity
set Bs 0.01; # ratio of post-yield tangent stiffness to elastic modulus

# Stress-Strain properties

#uniaxialMaterial Concrete04 $matTag $fc $ec $ecu $Ec <$fct $et> <$beta>
uniaxialMaterial Concrete04 1 -$fpc -$Epsc0 -$Epsu $Ec; #Confined
uniaxialMaterial Concrete04 2 -$fupc -$Eupsc0 -$Eupsu $Euc; #Unconfined

uniaxialMaterial Steel01 3 $fy $Es $Bs;#Reinforcement steel

section Fiber 100 {

# Create the concrete core fibers (confined conc - material tag 1)
patch rect 1 30 24 [expr -0.35*$m] [expr -0.275*$m] [expr 0.35*$m] [expr 0.275*$m];

# Create the concrete cover fibers (Order:top, bottom, left, right. Unconfined conc - material tag 2)
patch rect 2 30 1 [expr -0.375*$m] [expr 0.275*$m] [expr 0.375*$m] [expr 0.300*$m]; #Top
patch rect 2 30 1 [expr -0.375*$m] [expr -0.30*$m] [expr 0.375*$m] [expr -0.275*$m]; #Bottom
patch rect 2 1 22 [expr -0.375*$m] [expr -0.275*$m] [expr -0.35*$m] [expr 0.275*$m]; #Left
patch rect 2 1 22 [expr 0.350*$m] [expr -0.275*$m] [expr 0.375*$m] [expr 0.275*$m]; #Right

# Create the reinforcing fibers (Order:top, bottom, left, right. - material tag 3)
layer straight 3 10 [expr 201*$mm2] [expr -0.35*$m] [expr 0.275*$m] [expr 0.350*$m] [expr 0.275*$m];
layer straight 3 10 [expr 201*$mm2] [expr -0.35*$m] [expr -0.275*$m] [expr 0.350*$m] [expr -0.275*$m];
layer straight 3 6 [expr 201*$mm2] [expr -0.35*$m] [expr -0.199*$m] [expr -0.35*$m] [expr 0.199*$m];
layer straight 3 6 [expr 201*$mm2] [expr 0.35*$m] [expr -0.199*$m] [expr 0.35*$m] [expr 0.199*$m];

}

# define geometric transformation:which performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global coordinate system, considering second-order P-Delta effects.

geomTransf PDelta 1; # To Consider second-order P-Delta effects

# element connectivity:

#element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag
element nonlinearBeamColumn 1 1 2 4 100 1;

# define GRAVITY -------------------------------------------------------------

pattern Plain 1 Linear {
load 2 0 [expr -0.05*$Weight] 0
};

# Gravity-analysis parameters -- load-controlled static analysis

set Tol 1.0e-12; # convergence tolerance for test
test NormDispIncr $Tol 10; # determine if convergence has been achieved
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization)
system BandGeneral; # how to store and solve the system of equations

algorithm Newton; # use Newton's solution algorithm

integrator LoadControl 0.1; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient

analyze 10; # apply gravity in 10 steps (0.1*10= 1 load factor)

puts "Model Built";
loadConst -time 0.0; # Maintain constant gravity loads and reset time to zero

# DEFINE NLTH ANALYSIS-------------------------------------------------------------
recorder Node -file LA01/2disp+.out -time -node 2 -dof 1 2 3 disp;#Record the displacement at node 2.
recorder Node -file LA01/1reac+.out -time -node 1 -dof 1 2 3 reaction;#Record the reaction at node 1.

timeSeries Path 2 -dt 0.02 -filePath LA01.tcl -factor 1;
pattern UniformExcitation 2 1 -accel 2;
set freq [expr [eigen -fullGenLapack 1]**0.5]
set dampRatio 0.02
rayleigh 0. 0. 0. [expr 2*$dampRatio/$freq]

wipeAnalysis;

set Tol 1.0e-12; # convergence tolerance for test
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization)
system BandGeneral; # how to store and solve the system of equations
test NormDispIncr $Tol 10; # determine if convergence has been achieved
algorithm Newton; # use Newton's solution algorithm

integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
analysis Transient; # define type of analysis static or transient
set ok [analyze 2674 0.02]; # apply 3995 0.01-sec time steps in analysis

wipe;
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Consideration of P-Delta effect in time history analysis

Post by fmk »

i made some changes to the script .. added lines at start and finish and chenged 2 lines in code

foreach factorP {1.0 2.0} {
foreach transfType {"Linear" "PDelta"} {

geomTransf $transfType 1; # To Consider second-order P-Delta effects

pattern Plain 1 Linear {
load 2 0 [expr -0.05*$Weight*$factorP] 0
};

puts "$transfType pFactor: $factorP dx: [nodeDisp 2 1]"
}
}
wipe;


when i run this i get the following (which is not in agreement with your statements about hem giving the same answer)

Model Built
Linear pFactor: 1.0 dx: -22.27577739220904362583
Model Built
PDelta pFactor: 1.0 dx: -21.86874582506824893358
Model Built
Linear pFactor: 2.0 dx: -22.32152272619183364100
Model Built
PDelta pFactor: 2.0 dx: -24.50991097051487699332
KhaledSaif
Posts: 20
Joined: Fri Feb 19, 2016 11:06 pm
Location: University of Canterbury

Re: Consideration of P-Delta effect in time history analysis

Post by KhaledSaif »

Thank you very much.

I just plotted the top displacement vs the base moment for each analysis and since the difference between including/excluding P-Delta effect (with current input) is small, the two graphs seems to be identical. And as I was expecting a big difference (50-100mm like a previous study), I thought the code was not working.

P-Delta transformation is working fine, and it was my bad and I need to adjust my model to get what I expect.

Thanks all.
Post Reply