# -*- coding: mbcs -*-
#
# Abaqus/CAE Release 6.10-DEV replay file
# Internal Version: 2009_10_14-20.27.17 100086
# Run by zlv on Thu Oct 15 14:46:39 2009
#

# from driverUtils import executeOnCaeGraphicsStartup
# executeOnCaeGraphicsStartup()
#: Executing "onCaeGraphicsStartup()" in the site directory ...
from abaqus import *
from abaqusConstants import *
session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=177.7734375, 
    height=143.506513983011)
session.viewports['Viewport: 1'].makeCurrent()
session.viewports['Viewport: 1'].maximize()
from caeModules import *
from driverUtils import executeOnCaeStartup
executeOnCaeStartup()
#: Executing "onCaeStartup()" in the site directory ...

#Copy the input files.
import fetch
fetchApp = fetch.FetchApplication(('-job', 'cfd_mesh.inp'), FALSE)
fetchApp.run()
fetchApp = fetch.FetchApplication(('-job', 'std_heat_transfer.inp'), FALSE)
fetchApp.run()

session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
    referenceRepresentation=ON)
Mdb()
#: A new model database has been created.
#: The model "Model-1" has been created.
session.viewports['Viewport: 1'].setValues(displayedObject=None)
mdb.ModelFromInputFile(name='cfd_mesh', 
    inputFileName='cfd_mesh.inp')
#: The model "cfd_mesh" has been created.
#: The part "BOUNDINGBOX" has been imported from the input file.
#: 
#: WARNING: The following keywords/parameters are not yet supported by the input file reader:
#: ---------------------------------------------------------------------------------
#: *PREPRINT
#: The model "cfd_mesh" has been imported from an input file. 
#: Please scroll up to check for error and warning messages.
a = mdb.models['cfd_mesh'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
mdb.Model(name='Cfd_flow', modelType=CFD)
#: The model "Cfd_flow" has been created.
a = mdb.models['Cfd_flow'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
import part
import assembly
import material
import section
import interaction
mdb.models['Cfd_flow'].Part('BOUNDINGBOX', 
    mdb.models['cfd_mesh'].parts['BOUNDINGBOX'])
a = mdb.models['Cfd_flow'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
mdb.models['Cfd_flow'].Instance('BOUNDINGBOX-1', 
    mdb.models['cfd_mesh'].rootAssembly.instances['BOUNDINGBOX-1'])
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
del mdb.models['Model-1']
a = mdb.models['cfd_mesh'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
del mdb.models['cfd_mesh']
a = mdb.models['Cfd_flow'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].view.setValues(session.views['Iso'])
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON, 
    engineeringFeatures=ON)
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
    referenceRepresentation=OFF)
p1 = mdb.models['Cfd_flow'].parts['BOUNDINGBOX']
session.viewports['Viewport: 1'].setValues(displayedObject=p1)
mdb.models['Cfd_flow'].Material(name='air')
mdb.models['Cfd_flow'].materials['air'].Density(table=((0.001127, ), ))
mdb.models['Cfd_flow'].materials['air'].Conductivity(table=((2710.0, ), ))
mdb.models['Cfd_flow'].materials['air'].Expansion(table=((0.00343, ), ))
mdb.models['Cfd_flow'].materials['air'].SpecificHeat(table=((10064000.0, ), ))
mdb.models['Cfd_flow'].materials['air'].specificHeat.setValues(
    law=CONSTANTPRESSURE)
mdb.models['Cfd_flow'].materials['air'].Viscosity(table=((0.0001983, ), ))
mdb.models['Cfd_flow'].HomogeneousFluidSection(name='air', material='air')
p = mdb.models['Cfd_flow'].parts['BOUNDINGBOX']
region = p.sets['ALL']
p = mdb.models['Cfd_flow'].parts['BOUNDINGBOX']
p.SectionAssignment(region=region, sectionName='air', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)
a = mdb.models['Cfd_flow'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
a.regenerate()
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON, 
    predefinedFields=ON, connectors=ON)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=OFF, bcs=OFF, 
    predefinedFields=OFF, connectors=OFF, adaptiveMeshConstraints=ON)
mdb.models['Cfd_flow'].FlowStep(name='NatConv', previous='Initial', 
    description='Buoyancy Driven Natural COnvection', timePeriod=85.0, 
    energyEquation=TEMPERATURE)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='NatConv')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON, 
    predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)
mdb.models['Cfd_flow'].Gravity(name='Load-1', createStepName='NatConv', 
    comp2=-981.0, distributionType=UNIFORM, field='')
a = mdb.models['Cfd_flow'].rootAssembly
region = a.instances['BOUNDINGBOX-1'].surfaces['BOTTOM']
mdb.models['Cfd_flow'].FluidWallConditionBC(name='BC-1', 
    createStepName='NatConv', region=region, v1=0.0, v2=0.0, v3=0.0, 
    type=NO_SLIP)
a = mdb.models['Cfd_flow'].rootAssembly
region = a.instances['BOUNDINGBOX-1'].surfaces['CIRCUIT_BOARD_FSI']
mdb.models['Cfd_flow'].FluidWallConditionBC(name='BC-2', 
    createStepName='NatConv', region=region, v1=0.0, v2=0.0, v3=0.0, 
    type=NO_SLIP)
a = mdb.models['Cfd_flow'].rootAssembly
region = a.instances['BOUNDINGBOX-1'].surfaces['TOP']
mdb.models['Cfd_flow'].FluidInletOutletBC(name='BC-3', 
    createStepName='NatConv', region=region, pressure=0.0, 
    momentumType=PRESSURE)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Initial')
mdb.models['Cfd_flow'].FluidDensity(name='Predefined Field-1', region=None, 
    density=0.001127)
mdb.models['Cfd_flow'].FluidThermalEnergy(name='Predefined Field-2', 
    region=None, temperature=293.0)
mdb.models['Cfd_flow'].FluidVelocity(name='Predefined Field-3', region=None, 
    velocity1=0.0, velocity2=0.0, velocity3=0.0)
mdb.ModelFromInputFile(name='std_heat_transfer', 
    inputFileName='std_heat_transfer.inp')
#: The model "std_heat_transfer" has been created.
#: The part "CIRCUIT-BOARD" has been imported from the input file.
#: 
#: WARNING: The following keywords/parameters are not yet supported by the input file reader:
#: ---------------------------------------------------------------------------------
#: *PREPRINT
#: The model "std_heat_transfer" has been imported from an input file. 
#: Please scroll up to check for error and warning messages.
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=OFF, bcs=OFF, 
    predefinedFields=OFF, connectors=OFF)
a = mdb.models['std_heat_transfer'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
p1 = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
session.viewports['Viewport: 1'].setValues(displayedObject=p1)
mdb.models['std_heat_transfer'].Material(name='Die')
mdb.models['std_heat_transfer'].materials['Die'].Density(table=((2.33, ), ))
mdb.models['std_heat_transfer'].materials['Die'].Conductivity(table=((
    13000000.0, ), ))
mdb.models['std_heat_transfer'].materials['Die'].Expansion(table=((3.3e-06, ), 
    ))
mdb.models['std_heat_transfer'].materials['Die'].SpecificHeat(table=((
    7120000.0, ), ))
mdb.models['std_heat_transfer'].Material(name='HeatSlug')
mdb.models['std_heat_transfer'].materials['HeatSlug'].Density(table=((8.94, ), 
    ))
mdb.models['std_heat_transfer'].materials['HeatSlug'].Conductivity(table=((
    398000.0, ), ))
mdb.models['std_heat_transfer'].materials['HeatSlug'].Expansion(table=((
    3.3e-06, ), ))
mdb.models['std_heat_transfer'].materials['HeatSlug'].SpecificHeat(table=((
    38500.0, ), ))
mdb.models['std_heat_transfer'].Material(name='PCB_substrate')
mdb.models['std_heat_transfer'].materials['PCB_substrate'].Density(table=((
    8.95, ), ))
mdb.models['std_heat_transfer'].materials['PCB_substrate'].Conductivity(table=(
    (1925000.0, ), ))
mdb.models['std_heat_transfer'].materials['PCB_substrate'].Expansion(table=((
    1.6e-05, ), ))
mdb.models['std_heat_transfer'].materials['PCB_substrate'].SpecificHeat(table=(
    (10000000.0, ), ))
mdb.models['std_heat_transfer'].Material(name='encapsulant')
mdb.models['std_heat_transfer'].materials['encapsulant'].Density(table=((1.82, 
    ), ))
mdb.models['std_heat_transfer'].materials['encapsulant'].Conductivity(table=((
    63000.0, ), ))
mdb.models['std_heat_transfer'].materials['encapsulant'].Expansion(table=((
    1.9e-05, ), ))
mdb.models['std_heat_transfer'].materials['encapsulant'].SpecificHeat(table=((
    8820000.0, ), ))
mdb.models['std_heat_transfer'].HomogeneousSolidSection(name='die', 
    material='Die', thickness=None)
mdb.models['std_heat_transfer'].HomogeneousSolidSection(name='heatslug', 
    material='HeatSlug', thickness=None)
mdb.models['std_heat_transfer'].HomogeneousSolidSection(name='substrate', 
    material='PCB_substrate', thickness=None)
mdb.models['std_heat_transfer'].HomogeneousSolidSection(name='encaps', 
    material='encapsulant', thickness=None)
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
region = p.sets['DIE']
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
p.SectionAssignment(region=region, sectionName='die', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
region = p.sets['ENCAPS']
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
p.SectionAssignment(region=region, sectionName='encaps', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
region = p.sets['HEATSLUG']
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
p.SectionAssignment(region=region, sectionName='heatslug', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
region = p.sets['SUBSTRATE']
p = mdb.models['std_heat_transfer'].parts['CIRCUIT-BOARD']
p.SectionAssignment(region=region, sectionName='substrate', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)
a = mdb.models['std_heat_transfer'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
a.regenerate()
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
    adaptiveMeshConstraints=ON)
mdb.models['std_heat_transfer'].HeatTransferStep(name='Heat-Transfer', 
    previous='Initial', 
    description='Heat Transfer within the electronic component-mounted circuit board', 
    timePeriod=85.0, maxNumInc=10000, initialInc=0.01, minInc=0.0001, 
    maxInc=1.0, deltmx=1.0)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
    step='Heat-Transfer')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON, 
    predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)
a = mdb.models['std_heat_transfer'].rootAssembly
region = a.instances['CIRCUIT-BOARD-1'].sets['COMPONENT']
mdb.models['std_heat_transfer'].BodyHeatFlux(name='Power-Dissipate', 
    createStepName='Heat-Transfer', region=region, magnitude=5000000.0)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Initial')
a = mdb.models['std_heat_transfer'].rootAssembly
region = a.instances['CIRCUIT-BOARD-1'].sets['ALL']
mdb.models['std_heat_transfer'].Temperature(name='Predefined Field-1', 
    createStepName='Initial', region=region, distributionType=UNIFORM, 
    crossSectionDistribution=CONSTANT_THROUGH_THICKNESS, magnitudes=(293.0, ))
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=OFF, bcs=OFF, 
    predefinedFields=OFF, interactions=ON, constraints=ON, 
    engineeringFeatures=ON)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
    step='Heat-Transfer')
a = mdb.models['std_heat_transfer'].rootAssembly
region=a.instances['CIRCUIT-BOARD-1'].surfaces['FSI-SURF']
mdb.models['std_heat_transfer'].FSICosimulation(name='Int-1', 
    createStepName='Heat-Transfer', region=region, stepSizeDefinition=DEFAULT, 
    stepSize=0.0)
#: The interaction "Int-1" has been created.
a = mdb.models['Cfd_flow'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Initial')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='NatConv')
a = mdb.models['Cfd_flow'].rootAssembly
region=a.instances['BOUNDINGBOX-1'].surfaces['CIRCUIT_BOARD_FSI']
mdb.models['Cfd_flow'].FSICosimulation(name='Int-1', createStepName='NatConv', 
    region=region, stepSizeDefinition=DEFAULT, stepSize=0.0)
#: The interaction "Int-1" has been created.
session.viewports['Viewport: 1'].assemblyDisplay.setValues(interactions=OFF, 
    constraints=OFF, connectors=OFF, engineeringFeatures=OFF)
mdb.Job(name='cfd_cosim', model='Cfd_flow', description='CFD Side of the CHT', 
    type=ANALYSIS, atTime=None, waitMinutes=0, waitHours=0, queue=None, 
    scratch='', numCpus=1)
mdb.Job(name='std_cosim', model='std_heat_transfer', 
    description='Standard side of the cosimulation', type=ANALYSIS, 
    atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=50, 
    memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True, 
    explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, echoPrint=OFF, 
    modelPrint=OFF, contactPrint=OFF, historyPrint=OFF, userSubroutine='', 
    scratch='', multiprocessingMode=DEFAULT, numCpus=1)
mdb.Coexecution(name='Co-execution-1', description='Conjugate Heat Transfer', 
    masterModel='Cfd_flow', masterAnalysisProduct=ABAQUS_CFD, slaveModels=(
    'std_heat_transfer', ), slaveAnalysisProducts=(ABAQUS, ))
mdb.coexecutions['Co-execution-1'].Job(type=ANALYSIS, atTime=None, 
    waitMinutes=0, waitHours=0, queue=None, memory=50, memoryUnits=PERCENTAGE, 
    getMemoryFromAnalysis=True, explicitPrecision=DOUBLE, 
    nodalOutputPrecision=FULL, echoPrint=OFF, modelPrint=OFF, contactPrint=OFF, 
    historyPrint=OFF, userSubroutine='', scratch='', 
    parallelizationMethodExplicit=DOMAIN, numDomains=1, 
    activateLoadBalancing=False, multiprocessingMode=DEFAULT, numCpus=1, 
    name='Co-execution-1-Cfd_flow', model='Cfd_flow')
mdb.coexecutions['Co-execution-1'].Job(type=ANALYSIS, atTime=None, 
    waitMinutes=0, waitHours=0, queue=None, memory=50, memoryUnits=PERCENTAGE, 
    getMemoryFromAnalysis=True, explicitPrecision=DOUBLE, 
    nodalOutputPrecision=FULL, echoPrint=OFF, modelPrint=OFF, contactPrint=OFF, 
    historyPrint=OFF, userSubroutine='', scratch='', 
    parallelizationMethodExplicit=DOMAIN, numDomains=1, 
    activateLoadBalancing=False, multiprocessingMode=DEFAULT, numCpus=1, 
    name='Co-execution-1-std_heat_transfer', model='std_heat_transfer')
#: The co-execution "Co-execution-1" has been created.
#
# execute co-exe
#
mdb.coexecutions['Co-execution-1'].Submit(consistencyChecking=OFF)
mdb.coexecutions['Co-execution-1'].waitForCompletion()
#
# exit cae
#
import sys
sys.exit()
