예제 #1
0
# Constraints
modelSpace.fixNode000_000(1)
modelSpace.fixNodeF00_0F0(2)

# Load definition.
lp0 = modelSpace.newLoadPattern(name='0')
pointLoad = xc.Vector([0, 0, 0, 0, M_y, 0])
lp0.newNodalLoad(2, pointLoad)  # applies the point load on node 2

# We add the load case to domain.
modelSpace.addLoadCaseToDomain(
    lp0.name)  # reads load pattern "0" and adds it to the domain

# Solve
solProc = predefined_solutions.PlainStaticModifiedNewton(
    problem, convergenceTestTol=1e-8)
analOk = solProc.solve()
if (analOk != 0):
    lmsg.error('Failed to solve for: ' + lp0.name)
    quit()

# printing results
nodes = preprocessor.getNodeHandler
nodes.calculateNodalReactions(True, 1e-6)
'''
RN1= nodes.getNode(1).getReaction[0]   # Axial FX reaction (constrained DOF: ux) at node 1
RQY1= nodes.getNode(1).getReaction[1]   # Vertical FY reaction (constrained DOF: uY) at node 1
RQZ1= nodes.getNode(1).getReaction[2]   # Vertical FY reaction (constrained DOF: uZ) at node 1
RMX1= nodes.getNode(1).getReaction[3]   # Bending moment Mx reaction at node 1
RMY1= nodes.getNode(1).getReaction[4]   # Bending moment My reaction at node 1
RMZ1= nodes.getNode(1).getReaction[5]   # Bending moment Mz reaction at node 1
예제 #2
0
modelSpace.fixNode000_000(nodA.tag)
modelSpace.fixNodeF00_0FF(nodB.tag)

# Load definition.
lp0 = modelSpace.newLoadPattern(name='0')

pointLoad = xc.Vector([0.0, 0.0, 0.0, 0, M_y, 0.0])  # flexión simple recta

lp0.newNodalLoad(nodB.tag, pointLoad)  # applies the point load on node B

# We add the load case to domain.
modelSpace.addLoadCaseToDomain(
    lp0.name)  # reads load pattern "0" and adds it to the domain

# Solve
solProc = predefined_solutions.PlainStaticModifiedNewton(problem, printFlag=0)
analOk = solProc.solve(True, reactionCheckTolerance=1e-7)
if (analOk != 0):
    lmsg.error('Failed to solve for: ' + lp0.name)
    quit()

# section of element 1: it's the copy of the material section 'sctFibers' assigned
# to element 1 and specific of this element. It has the tensional state of the element
sccEl1 = ele1.getSection()
fibersSccEl1 = sccEl1.getFibers()

# Creation of two separate sets of fibers: concrete and reinforcement steel
setsRCEl1 = fiber_sets.fiberSectionSetupRCSets(scc=sccEl1,
                                               concrMatTag=concrete.matTagK,
                                               concrSetName="concrSetFbEl1",
                                               reinfMatTag=rfSteel.matTagK,