You are on page 1of 7

from abaqus import *

from abaqusConstants import *


from caeModules import *
from driverUtils import executeOnCaeStartup
import os
# ------------------------------------------------# Importing "STAVE" from catia 'Stave_017'
print "Importing STAVE from CATIA"
# ------------------------------------------------catia = mdb.openCatia(fileName='D:/Optimization_Project/Catia_Files/Stave_017.CA
TPart', topology=SOLID, useServer=True)
mdb.models['Model-1'].PartFromGeometryFile(name='Stave', geometryFile=catia, com
bine=False, dimensionality=THREE_D,
type=DEFORMABLE_BODY, scale=1.0)
p = mdb.models['Model-1'].parts['Stave']
# ------------------------------------------------# Importing "OMEGA" from catia 'Omega_012'
print "Importing OMEGA from CATIA"
# ------------------------------------------------catia = mdb.openCatia(fileName='D:/Optimization_Project/Catia_Files/Omega_012.CA
TPart', topology=SOLID, useServer=True)
mdb.models['Model-1'].PartFromGeometryFile(name='Omega', geometryFile=catia, com
bine=False, dimensionality=THREE_D,
type=DEFORMABLE_BODY, scale=1.0)
p = mdb.models['Model-1'].parts['Omega']
# ------------------------------------------------# Importing "PIPE" from catia 'cylinder_016'
print "Importing PIPE from CATIA"
# ------------------------------------------------catia = mdb.openCatia(fileName='D:/Optimization_Project/Catia_Files/cylinder_016
.CATPart', topology=SOLID, useServer=True)
mdb.models['Model-1'].PartFromGeometryFile(name='Pipe', geometryFile=catia, comb
ine=False, dimensionality=THREE_D,
type=DEFORMABLE_BODY, scale=1.0)
p = mdb.models['Model-1'].parts['Pipe']
# ------------------------------------------------# Importing "FACE PLATE" from catia 'Base_012'
print "Importing FACE PLATE from CATIA"
# ------------------------------------------------catia = mdb.openCatia(fileName='D:/Optimization_Project/Catia_Files/Base_012.CAT
Part', topology=SOLID, useServer=True)
mdb.models['Model-1'].PartFromGeometryFile(name='Face_Plate', geometryFile=catia
, combine=False, dimensionality=THREE_D,
type=DEFORMABLE_BODY, scale=1.0)
p = mdb.models['Model-1'].parts['Face_Plate']
# ----------------------------------------------------------------------------------------print 'Importing of CATIA files has completed'
# ----------------------------------------------------------------------------------------# ----------------------------------------------------------------------------------------print "Creating material properties for Stave and Pipe"

# ----------------------------------------------------------------------------------------mdb.models['Model-1'].Material(name='Stave_And_Pipe_Material')
mdb.models['Model-1'].materials['Stave_And_Pipe_Material'].Density(table=((1.536
e-09, ), ))
mdb.models['Model-1'].materials['Stave_And_Pipe_Material'].Expansion(type=ORTHOT
ROPIC, table=((-5.83e-07, 3.8063e-06, 3.8063e-06), ))
mdb.models['Model-1'].materials['Stave_And_Pipe_Material'].Conductivity(type=ORT
HOTROPIC, table=((8.5, 0.5, 0.5), ))
# ----------------------------------------------------------------------------------------print "Creating material properties for Omega and FacePlate"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].Material(name='Omega_And_FacePlate_Material')
mdb.models['Model-1'].materials['Omega_And_FacePlate_Material'].Density(table=((
1.77e-09, ), ))
mdb.models['Model-1'].materials['Omega_And_FacePlate_Material'].Expansion(type=O
RTHOTROPIC, table=((-7.65e-07, 1.5e-05, 1.5e-05), ))
mdb.models['Model-1'].materials['Omega_And_FacePlate_Material'].Conductivity(typ
e=ORTHOTROPIC, table=((96.0, 0.5, 0.5), ))
# ----------------------------------------------------------------------------------------print "Creating section for Stave"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].HomogeneousSolidSection(name='Stave_Section', material='St
ave_And_Pipe_Material', thickness=None)
# ----------------------------------------------------------------------------------------print "Creating section for Pipe"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].HomogeneousSolidSection(name='Pipe_Section', material='Sta
ve_And_Pipe_Material', thickness=None)
# ----------------------------------------------------------------------------------------print "Creating section for Omega"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].HomogeneousSolidSection(name='Omega_Section', material='Om
ega_And_FacePlate_Material', thickness=None)
# ----------------------------------------------------------------------------------------print "Creating section for FacePlate"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].HomogeneousSolidSection(name='FacePlate_Section', material
='Omega_And_FacePlate_Material', thickness=None)
# ----------------------------------------------------------------------------------------print "Creating Datum axis for FacePlate"

# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Face_Plate']
v, e = p.vertices, p.edges
p.DatumCsysByThreePoints(origin=v[1], name='FacePlate_Datum_Axis', coordSysType=
CARTESIAN, point1=p.InterestingPoint(edge=e[0],
rule=MIDDLE), point2=p.InterestingPoint(edge=e[1], rule=MIDDLE))
# ----------------------------------------------------------------------------------------print "Creating Datum axis for Omega"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Omega']
v1, e1 = p.vertices, p.edges
p.DatumCsysByThreePoints(origin=v1[12], point2=v1[14], name='Omega_Datum_Axis',
coordSysType=CARTESIAN,
point1=p.InterestingPoint(edge=e1[17], rule=MIDDLE))
# ----------------------------------------------------------------------------------------print "Creating Datum axis for Pipe"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Pipe']
v, e = p.vertices, p.edges
p.DatumCsysByThreePoints(point2=v[7], name='Cylinder_Datum_Axis', coordSysType=C
ARTESIAN, origin=p.InterestingPoint(edge=e[1], rule=CENTER),
point1=p.InterestingPoint(edge=e[3], rule=CENTER))
# ----------------------------------------------------------------------------------------print "Creating Datum axis for Stave"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Stave']
v, e = p.vertices, p.edges
p.DatumCsysByThreePoints(point1=v[40], name='Stave_Datum_Axis', coordSysType=CAR
TESIAN, origin=p.InterestingPoint(edge=e[60], rule=CENTER),
point2=p.InterestingPoint(edge=e[61], rule=MIDDLE))

# ----------------------------------------------------------------------------------------print "Section assignment to FacePlate"


# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Face_Plate']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
p = mdb.models['Model-1'].parts['Face_Plate']
p.SectionAssignment(region=region, sectionName='FacePlate_Section', offset=0.0,
offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION)
# ----------------------------------------------------------------------------------------print "Section assignment to Omega"
# ------------------------------------------------------------------------------

-----------p = mdb.models['Model-1'].parts['Omega']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
p = mdb.models['Model-1'].parts['Omega']
p.SectionAssignment(region=region, sectionName='Omega_Section', offset=0.0,
offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION)
# ----------------------------------------------------------------------------------------print "Section assignment to Pipe"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Pipe']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
p = mdb.models['Model-1'].parts['Pipe']
p.SectionAssignment(region=region, sectionName='Pipe_Section', offset=0.0,
offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION)
# ----------------------------------------------------------------------------------------print "Section assignment to Stave"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Stave']
c = p.cells
cells = c[0:76]
region = regionToolset.Region(cells=cells)
p = mdb.models['Model-1'].parts['Stave']
p.SectionAssignment(region=region, sectionName='Stave_Section', offset=0.0,
offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION)
# ----------------------------------------------------------------------------------------print "Orientation direction of FacePlate"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Face_Plate']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Face_Plate'].datums[2]
mdb.models['Model-1'].parts['Face_Plate'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=0.0, stackDirection=STACK_3)
p = mdb.models['Model-1'].parts['Face_Plate']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Face_Plate'].datums[2]
mdb.models['Model-1'].parts['Face_Plate'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=90.0, stackDirection=STACK_3)

p = mdb.models['Model-1'].parts['Face_Plate']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Face_Plate'].datums[2]
mdb.models['Model-1'].parts['Face_Plate'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=0.0, stackDirection=STACK_3)
# ----------------------------------------------------------------------------------------print "Orientation direction of Omega"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Omega']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Omega'].datums[2]
mdb.models['Model-1'].parts['Omega'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=0.0, stackDirection=STACK_3)
p = mdb.models['Model-1'].parts['Omega']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Omega'].datums[2]
mdb.models['Model-1'].parts['Omega'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=90.0, stackDirection=STACK_3)
p = mdb.models['Model-1'].parts['Omega']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Omega'].datums[2]
mdb.models['Model-1'].parts['Omega'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=0.0, stackDirection=STACK_3)

# ----------------------------------------------------------------------------------------print "Orientation direction of Pipe"


# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Pipe']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Pipe'].datums[2]

mdb.models['Model-1'].parts['Pipe'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=45.0, stackDirection=STACK_3)
p = mdb.models['Model-1'].parts['Pipe']
c = p.cells
cells = c[0:1]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Pipe'].datums[2]
mdb.models['Model-1'].parts['Pipe'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=-45.0, stackDirection=STACK_3)
# ----------------------------------------------------------------------------------------print "Orientation direction of Stave"
# ----------------------------------------------------------------------------------------p = mdb.models['Model-1'].parts['Stave']
c = p.cells
cells = c[0:76]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Stave'].datums[2]
mdb.models['Model-1'].parts['Stave'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=45.0, stackDirection=STACK_3)
p = mdb.models['Model-1'].parts['Stave']
c = p.cells
cells = c[0:76]
region = regionToolset.Region(cells=cells)
orientation = mdb.models['Model-1'].parts['Stave'].datums[2]
mdb.models['Model-1'].parts['Stave'].MaterialOrientation(region=region,
orientationType=SYSTEM, axis=AXIS_3, localCsys=orientation, fieldName='',
additionalRotationType=ROTATION_ANGLE, additionalRotationField='',
angle=-45.0, stackDirection=STACK_3)
# ----------------------------------------------------------------------------------------print "Assembling of parts"
# ----------------------------------------------------------------------------------------a = mdb.models['Model-1'].rootAssembly
a.DatumCsysByDefault(CARTESIAN)
p = mdb.models['Model-1'].parts['Face_Plate']
a.Instance(name='Face_Plate-1', part=p, dependent=ON)
p = mdb.models['Model-1'].parts['Omega']
a.Instance(name='Omega-1', part=p, dependent=ON)
p1 = a.instances['Omega-1']
p1.translate(vector=(0.0, 0.0, 0.0))
a.translate(instanceList=('Omega-1', ), vector=(-20.0, 0.2, 0.2))
a = mdb.models['Model-1'].rootAssembly

p = mdb.models['Model-1'].parts['Stave']
a.Instance(name='Stave-1', part=p, dependent=ON)
p1 = a.instances['Stave-1']
p1.translate(vector=(0.500070778969439, 0.0, 0.0))
a.translate(instanceList=('Stave-1', ), vector=(-5.500071, 0.2, 0.2))
p = mdb.models['Model-1'].parts['Pipe']
a.Instance(name='Pipe-1', part=p, dependent=ON)
p1 = a.instances['Pipe-1']
p1.translate(vector=(5.5, 0.0, 0.0))
a.translate(instanceList=('Pipe-1', ), vector=(-5.5001, 9.6, 1.8))
# ----------------------------------------------------------------------------------------print "Creation of heat transfer step"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].HeatTransferStep(name='Step-1', previous='Initial', respon
se=STEADY_STATE, amplitude=RAMP)
# ----------------------------------------------------------------------------------------print "Requesting required field output"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].fieldOutputRequests['F-Output-1'].setValues(variables=('NT
', 'TEMP', 'HFL'))
# ----------------------------------------------------------------------------------------print "Requesting required history field output"
# ----------------------------------------------------------------------------------------mdb.models['Model-1'].HistoryOutputRequest(name='H-Output-1', createStepName='St
ep-1', variables=('HFLA', ))

You might also like