Example #1
0
 def setupULSControlVars3d(self,elems):
   '''For each element creates the variables
      needed to check ultimate limit state criterion to satisfy.'''
   def_vars_control.defVarsControlTensRegElastico3d(elems)
   Wz= self.Wzel()
   Wy= self.Wyel()
   for e in elems:
     e.setProp("fyd",self.fyd)
     e.setProp("fydV",self.taud)
     e.setProp("Wyel",Wy)
     e.setProp("AreaQy",0.9*self.A())
     e.setProp("Wzel",Wz)
     e.setProp("AreaQz",self.A()-e.getProp("AreaQy"))
Example #2
0
S275JR= EC3_materials.S275JR
gammaM0= 1.05
S275JR.gammaM= gammaM0 
HE400B= structural_steel.SteelShape(S275JR,"HE_400_B",arcelor_metric_shapes.HE) # Section geometry.
matHE400B=typical_materials.MaterialData(name='S275JR',E=S275JR.E,nu=S275JR.nu,rho=7850) # Section material.
profil= HE400B.defElasticShearSection3d(preprocessor,matHE400B)

# Elements definition
elements= preprocessor.getElementHandler
elements.defaultTransformation= "lin"

elements.defaultMaterial= HE400B.sectionName
elem= elements.newElement("ElasticBeam3d",xc.ID([1,2]))
elem.rho= HE400B.get('P')
dp.defSteelShapeElasticRangeElementParameters(elem,HE400B)
vc.defVarsControlTensRegElastico3d([elem])



recorder= feProblem.getDomain.newRecorder("element_prop_recorder",None)
recorder.setElements(xc.ID([0]))
recorder.callbackRecord= cc.controTensRecElastico3d()



# Constraints
modelSpace.fixNode000_000(1)

# Loads definition
loadHandler= preprocessor.getLoadHandler
lPatterns= loadHandler.getLoadPatterns
Example #3
0
nodes.defaultTag = 1  # First node number.
nod = nodes.newNodeXYZ(0, 0.0, 0.0)
nod = nodes.newNodeXYZ(L, 0.0, 0.0)

# Geometric transformations
lin = modelSpace.newLinearCrdTransf("lin", xc.Vector([0, 0, 1]))
shape = HE400B.defElasticShearSection3d(preprocessor)

# Elements definition
elements = preprocessor.getElementHandler
elements.defaultTransformation = lin.name
elements.defaultMaterial = HE400B.sectionName
elem = elements.newElement("ElasticBeam3d", xc.ID([1, 2]))
elem.rho = HE400B.get('P')
vc.defSteelShapeElasticRangeElementParameters(elem, HE400B)
vc.defVarsControlTensRegElastico3d([elem])

recorder = feProblem.getDomain.newRecorder("element_prop_recorder", None)
recorder.setElements(xc.ID([0]))
recorder.callbackRecord = cc.controTensRecElastico3d()

# Constraints
modelSpace.fixNode000_000(1)

# Load case definition.
lp0 = modelSpace.newLoadPattern(name='0')
lp0.newNodalLoad(2, xc.Vector([0, 0, -F, 0, 0, 0]))
# We add the load case to domain.
modelSpace.addLoadCaseToDomain(lp0.name)

# Solution