예제 #1
0
elem = scc3d_testing_bench.sectionModel(preprocessor, "secHP")

# Constraints
modelSpace = predefined_spaces.getStructuralMechanics3DSpace(preprocessor)
modelSpace.fixNode000_000(1)
modelSpace.fixNodeF00_00F(2)

# Loads definition
lp0 = modelSpace.newLoadPattern(name='0')
lp0.newNodalLoad(2, xc.Vector([NDato, 0, 0, 0, 0, -MzDato]))

# We add the load case to domain.
modelSpace.addLoadCaseToDomain(lp0.name)

# Solution procedure
solProc = predefined_solutions.PlainNewtonRaphson(feProblem,
                                                  convergenceTestTol=1e-8)
analOk = solProc.solve(True)
if (analOk != 0):
    lmsg.error('Failed to solve for: ' + lp0.name)
    quit()

if (analOk != 0):
    print(
        "ERROR: Thist test fails when running in 32 bits machines. Solution pending (2013/03/11). It seems to be a problem with the tolerance of the convergence test. In my new machine (Dell precision M4800 with Ubuntu 64bits it fails with tol= 1e-9 and works if tol= 1e-5) (2016/01/06) LP.\n"
    )
    exit()

nodes = preprocessor.getNodeHandler
nodes.calculateNodalReactions(True, 1e-7)

RN = nodes.getNode(1).getReaction[0]
예제 #2
0
comb015= combs.newLoadCombination("ELU015","1.35*G + 1.50*SC")
comb016= combs.newLoadCombination("ELU016","1.35*G + 1.50*SC + 0.90*NV")
comb017= combs.newLoadCombination("ELU017","1.35*G + 1.50*SC + 0.90*VT")
comb018= combs.newLoadCombination("ELU018","1.35*G + 1.50*SC + 0.90*VT + 0.90*NV")
comb019= combs.newLoadCombination("ELU019","1.35*G + 1.50*VT")
comb020= combs.newLoadCombination("ELU020","1.35*G + 1.50*VT + 0.90*NV")
comb021= combs.newLoadCombination("ELU021","1.35*G + 1.05*SC + 1.50*VT")
comb022= combs.newLoadCombination("ELU022","1.35*G + 1.05*SC + 1.50*VT + 0.90*NV")
comb023= combs.newLoadCombination("ELU023","1.35*G + 1.50*NV")
comb024= combs.newLoadCombination("ELU024","1.35*G + 0.90*VT + 1.50*NV")
comb025= combs.newLoadCombination("ELU025","1.35*G + 1.05*SC + 1.50*NV")
comb026= combs.newLoadCombination("ELU026","1.35*G + 1.05*SC + 0.90*VT + 1.50*NV")

printFlag= 0

solProc= predefined_solutions.PlainNewtonRaphson(feProblem, maxNumIter= 10,  convergenceTestTol= 1e-3)

def solveStaticLinearComb(comb,db,dbHelp):
  preprocessor.resetLoadCase()
  dbHelp.helpSolve(comb,db)
  exec(open("solution/database_helper_solve.xci").read())
  ''' 
    print("previousName= ",previousName)
    print("tag= ",comb.tag)
    print("tagPrevia= ",tagPrevia)
    print("descomp previa= ",getDescompCombPrevia)
    print("resto sobre previa= ",getDescompRestoSobrePrevia)
  '''
  comb.addToDomain()
  analOk= solProc.solve(1)
  db.save(comb.tag*100)