Beispiel #1
0
lp0.newNodalLoad(n10.tag, xc.Vector(loadOnDOFs))
#We add the load case to domain.
lPatterns.addToDomain("0")

# Solution
#analisis= predefined_solutions.simple_static_linear(feProblem)
solver = predefined_solutions.SolutionProcedure()
analisis = solver.simpleLagrangeStaticLinear(feProblem)
#analisis= solver.simpleTransformationStaticLinear(feProblem)
result = analisis.analyze(1)

nodes.calculateNodalReactions(False, 1e-7)

reactionNode10 = n10.getReaction
ratio1 = reactionNode10.Norm()
svdReactionNodes = nodal_reactions.getReactionFromNodes(
    nodes, "UVWRxRyRz", elem.getNodes.getExternalNodes)
actionNode10 = xc.Vector(loadOnDOFs)
actionNode10Norm = actionNode10.Norm()
svdAction = nodal_reactions.getSlidingVectorsSystemfromSlidingVector(
    "UVWRxRyRz", n10.get3dCoo, actionNode10)
svdResid = svdReactionNodes + svdAction
ratio2 = svdResid.getResultant().getModulo() / actionNode10Norm
ratio3 = svdResid.getMoment().getModulo() / actionNode10Norm

reactionNode20 = n20.getReaction
ratio4 = reactionNode20.Norm()
actionNode20 = xc.Vector([0, 0, 0, 0, 0, 0])
actionNode20Norm = actionNode20.Norm()

# print "svdAction= ", svdAction
# print "svdReactionNodes= ", svdReactionNodes
Beispiel #2
0
lp0.newNodalLoad(10, xc.Vector(loadOnDOFs))
#We add the load case to domain.
casos.addToDomain("0")

# Solution
# Solution
solver = predefined_solutions.SolutionProcedure()
analisis = solver.simpleLagrangeStaticLinear(feProblem)
result = analisis.analyze(1)
nodes.calculateNodalReactions(False)

nodes.calculateNodalReactions(False)

reactionNode10 = nodes.getNode(10).getReaction
ratio1 = reactionNode10.Norm()
svdReactionNodes = nodal_reactions.getReactionFromNodes(
    nodes, "UVWRxRyRz", [1, 2, 3, 4])
actionNode10 = xc.Vector(loadOnDOFs)
actionNode10Norm = actionNode10.Norm()
svdAction = nodal_reactions.getSVDfromVDesliz("UVWRxRyRz", n10.get3dCoo,
                                              actionNode10)
svdResid = svdReactionNodes + svdAction
ratio2 = svdResid.getResultante().getModulo() / actionNode10Norm
ratio3 = svdResid.getMomento().getModulo() / actionNode10Norm

# print "svdAction= ", svdAction
# print "svdReactionNodes= ", svdReactionNodes
# print "svdResid= ", svdResid
# print "ratio1= ", ratio1
# print "ratio2= ", ratio2
# print "ratio3= ", ratio3
# print "RN2= ", RN2
#Load case definition
lp0= lPatterns.newLoadPattern("default","0")
lp0.newNodalLoad(n10.tag,xc.Vector(loadOnDOFs))
#We add the load case to domain.
lPatterns.addToDomain("0")

# Solution
solver= predefined_solutions.SolutionProcedure()
analisis= solver.simpleTransformationStaticLinear(feProblem)
result= analisis.analyze(1)

nodes.calculateNodalReactions(False,1e-7)

reactionNode10= n10.getReaction
ratio1= reactionNode10.Norm()
svdReactionNodes= nodal_reactions.getReactionFromNodes(nodes,"UVWRxRyRz",elem.getNodes.getExternalNodes)
actionNode10= xc.Vector(loadOnDOFs)
actionNode10Norm= actionNode10.Norm()
svdAction= nodal_reactions.getSlidingVectorsSystemfromSlidingVector("UVWRxRyRz",n10.get3dCoo,actionNode10)
svdResid= svdReactionNodes+svdAction
ratio2= svdResid.getResultant().getModulo()/actionNode10Norm
ratio3= svdResid.getMoment().getModulo()/actionNode10Norm

# print "svdAction= ", svdAction
# print "svdReactionNodes= ", svdReactionNodes
# print "svdResid= ", svdResid
# print "ratio1= ", ratio1
# print "ratio2= ", ratio2
# print "ratio3= ", ratio3
# print "RN2= ", RN2
# print "RN3= ", RN3
lPatterns.currentTimeSeries = "ts"
#Load case definition
lp0 = lPatterns.newLoadPattern("default", "0")
lp0.newNodalLoad(nA.tag, xc.Vector(loadOnDOFs))
#We add the load case to domain.
lPatterns.addToDomain(lp0.name)

# Solution
analisis = predefined_solutions.simple_static_linear(feProblem)
result = analisis.analyze(1)

nodes.calculateNodalReactions(False, 1e-7)

reactionNodeA = nA.getReaction
ratio1 = reactionNodeA.Norm()
svdReactionNodes = nodal_reactions.getReactionFromNodes(
    nodes, "UVWRxRyRz", [n1.tag, n2.tag, n3.tag, n4.tag])
actionNodeA = xc.Vector(loadOnDOFs)
actionNodeANorm = actionNodeA.Norm()
svdAction = nodal_reactions.getSlidingVectorsSystemfromSlidingVector(
    "UVWRxRyRz", nA.get3dCoo, actionNodeA)
svdResid = svdReactionNodes + svdAction
ratio2 = svdResid.getResultant().getModulus() / actionNodeANorm
ratio3 = svdResid.getMoment().getModulus() / actionNodeANorm

# print "svdAction= ", svdAction
# print "svdReactionNodes= ", svdReactionNodes
# print "svdResid= ", svdResid
# print "ratio1= ", ratio1
# print "ratio2= ", ratio2
# print "ratio3= ", ratio3
# print "RN2= ", RN2
#Load case definition
lp0= lPatterns.newLoadPattern("default","0")
lp0.newNodalLoad(10,xc.Vector(loadOnDOFs))
#We add the load case to domain.
lPatterns.addToDomain("0")

# Solution
# Solution
solver= predefined_solutions.SolutionProcedure()
analisis= solver.simpleLagrangeStaticLinear(feProblem)
result= analisis.analyze(1)
nodes.calculateNodalReactions(False,1e-7)

reactionNode10= nodes.getNode(10).getReaction
ratio1= reactionNode10.Norm()
svdReactionNodes= nodal_reactions.getReactionFromNodes(nodes,"UVWRxRyRz",[1,2,3,4])
actionNode10= xc.Vector(loadOnDOFs)
actionNode10Norm= actionNode10.Norm()
svdAction= nodal_reactions.getSlidingVectorsSystemfromSlidingVector("UVWRxRyRz",n10.get3dCoo,actionNode10)
svdResid= svdReactionNodes+svdAction
ratio2= svdResid.getResultant().getModulo()/actionNode10Norm
ratio3= svdResid.getMoment().getModulo()/actionNode10Norm

# print "svdAction= ", svdAction
# print "svdReactionNodes= ", svdReactionNodes
# print "svdResid= ", svdResid
# print "ratio1= ", ratio1
# print "ratio2= ", ratio2
# print "ratio3= ", ratio3
# print "RN2= ", RN2
# print "RN3= ", RN3