示例#1
0
    def installElementElasticStressesControlRecorder(self,recorderName, elemSet):
        preprocessor= elemSet.owner.getPreprocessor
        nodes= preprocessor.getNodeHandler
        domain= preprocessor.getDomain
        recorder= domain.newRecorder(recorderName,None)
        recorder.setElements(elemSet.getTags())
        if(nodes.numDOFs==3):
            self.setupULSControlVars2d(elemSet)
            recorder.callbackRecord= callback_controls.controTensRecElastico2d()
        else:
            self.setupULSControlVars3d(elemSet)
            recorder.callbackRecord= callback_controls.controTensRecElastico3d()

        recorder.callbackRestart= "print(\"Restart method called.\")"
        return recorder
示例#2
0
  def installElementElasticStressesControlRecorder(self,recorderName, elemSet):
    preprocessor= elemSet.owner.getPreprocessor
    nodes= preprocessor.getNodeHandler
    domain= preprocessor.getDomain
    recorder= domain.newRecorder(recorderName,None)
    recorder.setElements(elemSet.getTags())
    if(nodes.numDOFs==3):
      self.setupULSControlVars2d(elemSet)
      recorder.callbackRecord= callback_controls.controTensRecElastico2d()
    else:
      self.setupULSControlVars3d(elemSet)
      recorder.callbackRecord= callback_controls.controTensRecElastico3d()

    recorder.callbackRestart= "print \"Restart method called.\""
    return recorder
示例#3
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
analysis = predefined_solutions.simple_static_linear(feProblem)
result = analysis.analyze(1)

nodes = preprocessor.getNodeHandler
示例#4
0
# 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
#Load modulation.
ts= lPatterns.newTimeSeries("constant_ts","ts")
lPatterns.currentTimeSeries= "ts"
lp0= lPatterns.newLoadPattern("default","0") 
lp0.newNodalLoad(2,xc.Vector([0,0,-F,0,0,0]))
#We add the load case to domain.