Example #1
0
beamRCsect.dir1PositvRebarRows = def_simple_RC_section.LongReinfLayers(
    [fi10s75r30])
beamRCsect.dir1NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [fi16s75r30])
beamRCsect.dir2PositvRebarRows = def_simple_RC_section.LongReinfLayers(
    [fi10s75r30])
beamRCsect.dir2NegatvRebarRows = def_simple_RC_section.LongReinfLayers(
    [fi16s75r30])
sections.append(beamRCsect)

feProblem = xc.FEProblem()
feProblem.errFileName = "/tmp/erase.err"  # Don't print(errors.)
preprocessor = feProblem.getPreprocessor
nodes = preprocessor.getNodeHandler
# Problem type
modelSpace = predefined_spaces.StructuralMechanics3D(
    nodes)  #Defines the dimension of
#the space: nodes by three coordinates (x,y,z) and six
#DOF for each node (Ux,Uy,Uz,thetaX,thetaY,thetaZ)

nodes.defaultTag = 0  #First node number.
nod = nodes.newNodeXYZ(0, 0.0, 0.0)
nod = nodes.newNodeXYZ(Lbeam, 0.0, 0.0)
nod = nodes.newNodeXYZ(0.0, Lbeam, 0.0)
nod = nodes.newNodeXYZ(0.0, 0.0, Lbeam)

# Geometric transformations
trfs = preprocessor.getTransfCooHandler
# Coord. trasformation for beam in global X direction
#local Z axis of the element
# parallel to global -Y (it matches
# the direction of the local Z axis of the reinforced
Example #2
0
import math
from model import fix_node_6dof
from model import nodalReactions
from solution import predefined_solutions

prueba = xc.ProblemaEF()
preprocessor = prueba.getPreprocessor
nodes = preprocessor.getNodeLoader

p1 = geom.Pos3d(0, 0, 0)
p2 = geom.Pos3d(1, 0, 0)
p3 = geom.Pos3d(1, 1, 0)
p4 = geom.Pos3d(0, 1, 0)

# Problem type
modelSpace = predefined_spaces.StructuralMechanics3D(nodes)
nodes.newNodeIDXYZ(1, p1.x, p1.y, p1.z)
nodes.newNodeIDXYZ(2, p2.x, p2.y, p2.z)
nodes.newNodeIDXYZ(3, p3.x, p3.y, p3.z)
nodes.newNodeIDXYZ(4, p4.x, p4.y, p4.z)

p10 = geom.Pos3d(p1.x, p1.y, p1.z)
n10 = nodes.newNodeIDXYZ(10, p10.x, p10.y, p10.z)

# Materials definition
memb1 = typical_materials.defElasticMembranePlateSection(
    preprocessor, "memb1", E, nu, dens, h)
elementos = preprocessor.getElementLoader
elementos.defaultMaterial = "memb1"
elem = elementos.newElement("shell_mitc4", xc.ID([1, 2, 3, 4]))
Example #3
0
#Other data
nDivIJ = 20  #number of cells (fibers) in the IJ direction (cross-section coordinate Y)
nDivJK = 20  #number of cells (fibers) in the JK direction (cross-section coordinate Z)

areaFi26 = math.pi * (26e-3)**2 / 4.0

l = 1e-7  # Distance between nodes

# Model definition
problem = xc.FEProblem()  #necesary to create this instance of
#the class xc.FEProblem()
preprocessor = problem.getPreprocessor
nodes = preprocessor.getNodeHandler  #nodes container
modelSpace = predefined_spaces.StructuralMechanics3D(
    nodes
)  #Defines the dimension of nodes  three coordinates (x,y,z) and six DOF for each node (Ux,Uy,Uz,thetaX,thetaY,thetaZ)

nodes.defaultTag = 1  #First node number.
nod = nodes.newNodeXYZ(1.0, 0,
                       0)  #node 1 defined by its (x,y,z) global coordinates
nod = nodes.newNodeXYZ(1.0 + l, 0,
                       0)  #node 2 defined by its (x,y,z) global coordinates

# Materials definition
concrete = EC2_materials.EC2Concrete(
    "C33", -33e6, 1.5)  #concrete according to EC2 fck=33 MPa

#Reinforcing steel.
rfSteel = EC2_materials.S450C  #reinforcing steel according to EC2 fyk=450 MPa
steelDiagram = rfSteel.defDiagK(