End forces for elasticBeamColumn with a point load

Forum for asking and answering questions related to use of the OpenSeesPy module

Moderators: silvia, selimgunay, Moderators

Post Reply
nchsu
Posts: 1
Joined: Mon May 22, 2023 6:13 am

End forces for elasticBeamColumn with a point load

Post by nchsu » Mon May 22, 2023 6:32 am

Hello,

Can someone please explain to me why I see the following results, or highlight what I have done wrong in my model.
Thanks in advance, Nic

Below is a simple model of an elasticBeamColumn element to illustrate my problem.
The element supported at each end by a fixed support and I have modelled the column to have moment releases at each about the Y axis, so i would expect the end moment to be zero about the Y axis.
This is true if a transverse uniform load is applied to the beam; the output for ops.eleResponse(1, "localForce") is:
[0.0, 0.0, 12.5, -0.0, 0.0, 0.0, 0.0, 0.0, 12.5, 0.0, 0.0, 0.0]

However, if I use a point load I see that some end moments are present equal to the fixed end moment for corresponding load: an example output for ops.eleResponse(1, "localForce") is:
[0.0, 0.0, 2.5, -0.0, -3.125, 0.0, 0.0, 0.0, 2.5, 0.0, 3.125, 0.0]

The code I have used to generate these results is below:

import openseespy.opensees as ops
ops.wipe()
ops.model("basic", "-ndm", 3)

ops.geomTransf("Linear", 1, *[0, 0, 1])

ops.node(1, *[0,0,0])
ops.node(2, *[5,0,0])

ops.fix(1, *[1, 1, 1, 1, 1, 0])
ops.fix(2, *[0, 1, 1, 0, 1, 0])

ops.element("elasticBeamColumn", 1, *[1, 2], 1, 1, 1, 1, 1, 1, 1, "-releasey", 3)

# First analysis with Uniform Load
ops.timeSeries("Constant", 1)
ops.pattern("Plain", 1, 1)
ops.eleLoad('-ele', 1, '-type', '-beamUniform', 0, -5)

# run static analysis
ops.constraints("Transformation")
ops.numberer("Plain")
ops.system("ProfileSPD")
ops.integrator("LoadControl", 1.0)
ops.algorithm("Linear")
ops.analysis("Static")
ops.analyze(1)

print("End forces due to Uniform Load")
print(ops.eleResponse(1, "localForce"))

ops.wipeAnalysis()
ops.remove("loadPattern", 1)
ops.remove("timeSeries", 1)

# First analysis with Point Load
ops.timeSeries("Constant", 1)
ops.pattern("Plain", 1, 1)

ops.eleLoad('-ele', 1, '-type', '-beamPoint', 0, -5, 0.5)

# run static analysis
ops.constraints("Transformation")
ops.numberer("Plain")
ops.system("ProfileSPD")
ops.integrator("LoadControl", 1.0)
ops.algorithm("Linear")
ops.analysis("Static")
ops.analyze(1)

print("End forces due to Point Load")
print(ops.eleResponse(1, "localForce"))

Post Reply