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]
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)