I want to use block3d command for beam.
It works for "ndf = 3" but it doesn't work for "ndf = 6"
I am getting the following error:
"WARNING FE_Element::setID() - numDOF and number of dof at the DOF_Groups"
How i can fix it?
Thanks for any advice.
Code: Select all
# ----------------------------------------------------------
import openseespy.opensees as ops
import openseespy.postprocessing.Get_Rendering as opsplt
ops.wipe()
ops.model('basic','-ndm',3,'-ndf',6)
#-------------------------------------------------------------
ops.nDMaterial('ElasticIsotropic', 1, 17000.0, 0.15)
#---------------------------------------------------------------------------------------
ops.block3D (
1,1,10, # numX, numY, numZ
1,1, # startNode, startEle
'stdBrick',1, # eleType , matTag
# *crds
1, 0.0, 0.0, 0.0,
2, 0.0, 250.0, 0.0,
3, 0.0, 250.0, 500.0,
4, 0.0, 0.0, 500.0,
5, 5000.0, 0.0, 0.0,
6, 5000.0, 250.0, 0.0,
7, 5000.0, 250.0, 500.0,
8, 5000.0, 0.0, 500.0,
)
# tag DX DY DZ RX RY RZ
ops.fix( 1, 1, 1, 1, 1, 1, 1)
ops.fix( 2, 1, 1, 1, 1, 1, 1)
ops.fix( 3, 1, 1, 1, 1, 1, 1)
ops.fix( 4, 1, 1, 1, 1, 1, 1)
ops.timeSeries("Linear", 1)
ops.pattern("Plain", 1, 1)
# -------------------------------
totalLoad=-10000.0
ops.load(41, 0.0, 0.0, totalLoad/4, 0.0, 0.0, 0.0)
ops.load(42, 0.0, 0.0, totalLoad/4, 0.0, 0.0, 0.0)
ops.load(43, 0.0, 0.0, totalLoad/4, 0.0, 0.0, 0.0)
ops.load(44, 0.0, 0.0, totalLoad/4, 0.0, 0.0, 0.0)
# ------------------------------
ops.system('BandSPD')
ops.numberer('RCM')
ops.constraints('Transformation')
ops.integrator('LoadControl', 1.0)
ops.algorithm('Linear')
ops.analysis('Static')
ops.analyze(1)
# ---------------------------------
for i in [41,42,43,44]:
print(i,"numaralı düğüm x=",ops.nodeDisp(i,1),"mm - y=",ops.nodeDisp(i,2),"mm - z=",ops.nodeDisp(i,3),"mm")
opsplt.plot_model("nodes","elements")