# a value of the hardening radio alpha=0.01 (there must be an error in
# page 55 where it's written "five percent strain hardening parameter
# is taken", the stress-strain slope in figure 3.12 corresponds
# approximately to 0.01E

# Problem type
feProblem = xc.FEProblem()
preprocessor = feProblem.getPreprocessor
nodes = preprocessor.getNodeHandler
modelSpace = predefined_spaces.StructuralMechanics3D(nodes)

# Material definition
j2plate = typical_materials.defJ2PlateFibre(preprocessor,
                                            "j2plate",
                                            E,
                                            nu,
                                            fy=sg_yield,
                                            alpha=alpha,
                                            rho=7850.0)

plateFiber = typical_materials.defMembranePlateFiberSection(preprocessor,
                                                            name="plateFiber",
                                                            h=thickness,
                                                            nDMaterial=j2plate)

# Problem geometry
# The “bottom-up method” generates the geometry of the system
# going  from  key  points (0D) to lines (1D) and areas (2D)
# up to volumes (3D).

p1 = modelSpace.newKPoint(0.0, width / 2)
예제 #2
0
import xc_base
import geom
import xc
from materials import typical_materials

__author__ = "Luis C. Pérez Tato (LCPT) and Ana Ortega (AOO)"
__copyright__ = "Copyright 2015, LCPT and AOO"
__license__ = "GPL"
__version__ = "3.0"
__email__ = "*****@*****.**"

feProblem = xc.FEProblem()
preprocessor = feProblem.getPreprocessor

j2plate = typical_materials.defJ2PlateFibre(preprocessor, 'j2plate', E, nu, fy,
                                            alpha, rho)
EE = j2plate.E
V = j2plate.nu
Fy = j2plate.fy
h = alpha * E / (1 - alpha)
Hiso = j2plate.Hiso
Hkin = j2plate.Hkin
'''
print('h= ', h)
print('Hiso= ', Hiso)
print('Hkin= ', Hkin)
'''

import os
from misc_utils import log_messages as lmsg
fname = os.path.basename(__file__)
예제 #3
0
elements.dimElem = 3
modelSpace = predefined_spaces.StructuralMechanics3D(nodes)

gridGeom = gm.GridModel(prep, rList, angList, zList, xCentCoo=0, yCentCoo=0)
gridGeom.generateCylZPoints()

ring = gridGeom.genSurfOneXYZRegion([(r1, 0, 0), (r2, angList[-1], 0)],
                                    setName='ring',
                                    closeCyl='Y')
#out=outHndl.OutputHandler(modelSpace)
#out.displayBlocks()

steel = tm.defJ2PlateFibre(preprocessor=preprocessor,
                           name='steel',
                           E=172e9,
                           nu=0.3,
                           fy=250e6,
                           alpha=1e-6,
                           rho=matRho)

ring_mat = tm.defMembranePlateFiberSection(preprocessor,
                                           name='ring_mat',
                                           h=t,
                                           nDMaterial=steel)
ring_mesh = fem.SurfSetToMesh(surfSet=ring,
                              matSect=ring_mat,
                              elemSize=0.5,
                              elemType='ShellMITC4')
fem.multi_mesh(prep, [ring_mesh])

# Constraints
feProblem = xc.FEProblem()
preprocessor = feProblem.getPreprocessor
nodes = preprocessor.getNodeHandler
modelSpace = predefined_spaces.StructuralMechanics3D(nodes)
nodes.defaultTag = 1  # First node number.
nod1 = nodes.newNodeXYZ(0.0, 0.0, 0.0)
nod2 = nodes.newNodeXYZ(L, 0.0, 0.0)
nod3 = nodes.newNodeXYZ(L, h, 0.0)
nod4 = nodes.newNodeXYZ(0, h, 0.0)

# Materials definition
steel = typical_materials.defJ2PlateFibre(preprocessor=preprocessor,
                                          name='steel',
                                          E=E,
                                          nu=0.3,
                                          fy=250e6,
                                          alpha=1e-6,
                                          rho=0.0)
memb1 = typical_materials.defMembranePlateFiberSection(preprocessor,
                                                       name='memb1',
                                                       h=h,
                                                       nDMaterial=steel)

# Elements definition
elements = preprocessor.getElementHandler
elements.defaultMaterial = memb1.name
elements.defaultTag = 1
elem1 = elements.newElement("ShellMITC4",
                            xc.ID([nod1.tag, nod2.tag, nod3.tag, nod4.tag]))