Ejemplo n.º 1
0
def xySimpleIWCONWEP(modelName, printFormat):

    plotName = 'IWCONWEP'

    #Open ODB
    odb = func.open_odb(modelName)

    xyList = xyPlot.xyDataListFromField(odb=odb,
                                        outputPosition=ELEMENT_FACE,
                                        variable=(('IWCONWEP',
                                                   ELEMENT_FACE), ),
                                        elementSets=('PART-2-1.FACE', ))
    xy1 = xyList[0]
    # xyp = session.xyPlots['XYPlot-1']
    # chartName = xyp.charts.keys()[0]
    # chart = xyp.charts[chartName]
    # curveList = session.curveSet(xyData=xyList)
    # chart.setValues(curvesToPlot=curveList)
    # session.viewports['Viewport: 1'].setValues(displayedObject=xyp)
    c1 = session.Curve(xyData=xy1)
    #Plot and Print
    func.XYprint(modelName, plotName, printFormat, c1)

    #Report data
    tempFile = 'temp.txt'
    session.writeXYReport(fileName=tempFile, appendMode=OFF, xyData=(xy1, ))
    func.fixReportFile(tempFile,
                       plotName,
                       modelName,
                       x='Time [s]',
                       y='Displacement [mm]')
Ejemplo n.º 2
0
def xySimpleIWCONWEP(modelName, printFormat):

	plotName = 'IWCONWEP'


	#Open ODB
	odb = func.open_odb(modelName)

	xyList = xyPlot.xyDataListFromField(odb=odb, outputPosition=ELEMENT_FACE, 
	    variable=(('IWCONWEP', ELEMENT_FACE), ),
	    elementSets=('PART-2-1.FACE', ))
	xy1 = xyList[0]
	# xyp = session.xyPlots['XYPlot-1']
	# chartName = xyp.charts.keys()[0]
	# chart = xyp.charts[chartName]
	# curveList = session.curveSet(xyData=xyList)
	# chart.setValues(curvesToPlot=curveList)
	# session.viewports['Viewport: 1'].setValues(displayedObject=xyp)
	c1 = session.Curve(xyData=xy1)
	#Plot and Print
	func.XYprint(modelName, plotName, printFormat, c1)

	#Report data
	tempFile = 'temp.txt'
	session.writeXYReport(fileName=tempFile, appendMode=OFF,
		xyData=(xy1, ))
	func.fixReportFile(tempFile, plotName, modelName,
		x='Time [s]', y='Displacement [mm]')
Ejemplo n.º 3
0
#Run job
if run:
    func.runJob(modelName)

#===================================================#
#===================================================#
#                   POST                            #
#===================================================#
#===================================================#

#Clear plots
for plot in session.xyPlots.keys():
    del session.xyPlots[plot]

#Open ODB
odb = func.open_odb(modelName)

#Get xy data
xyList = xyPlot.xyDataListFromField(odb=odb,
                                    outputPosition=ELEMENT_FACE,
                                    variable=(('IWCONWEP', ELEMENT_FACE), ),
                                    elementSets=('FRONT', 'SIDE'))
xy1 = xyList[0]  #IncidentPressure
xy2 = xyList[1]  #Reflected pressure

#Print to file
func.XYplot(modelName,
            plotName='incidentPressure' + str(int(standoff / 1000)) + 'm',
            xHead='Time [s]',
            yHead='Pressure [MPa]',
            xyDat=xy1)
Ejemplo n.º 4
0
def xyShell(modelName):
	'''
	Prints xy data for displacment at mid col, forces at top
	and force-displacemnt
	'''

	#Open ODB
	odb = func.open_odb(modelName)


	#=========== Displament at mid col  ============#
	
	#Get node numbers
	sideNodeNr=odb.rootAssembly.instances['PART-1-1'].\
		nodeSets['MID-SIDE'].nodes[0].label
	# backNodeNr=odb.rootAssembly.instances['PART-1-1'].\
	# 	nodeSets['MID-BACK'].nodes[0].label
	# frontNodeNr=odb.rootAssembly.instances['PART-1-1'].\
	# 	nodeSets['MID-FRONT'].nodes[0].label

	#Create output names
	sideName= 'Spatial displacement: U1 PI: PART-1-1 Node '+str(sideNodeNr)+\
		' in NSET MID-SIDE'
	# backName= 'Spatial displacement: U1 PI: PART-1-1 Node '+str(backNodeNr)+\
	# 	' in NSET MID-BACK'
	# frontName='Spatial displacement: U1 PI: PART-1-1 Node '+str(frontNodeNr)+\
	# 	' in NSET MID-FRONT'

	#Get xy data
	xyU1side = xyPlot.XYDataFromHistory(odb=odb,
		outputVariableName=sideName, name='U1midSide')
	# xyU1back = xyPlot.XYDataFromHistory(odb=odb,
	# 	outputVariableName=backName, name='U1midBack')
	# xyU1front = xyPlot.XYDataFromHistory(odb=odb,
	# 	outputVariableName=frontName, name='U1midFront')
		
	#Print to file
	func.XYplot(modelName, plotName = 'U1midSide',
		xHead='Time [s]', yHead='Displacement [mm]',
		xyDat= xyU1side)
	# func.XYplot(modelName, plotName = 'U1midBack',
	# 	xHead='Time [s]', yHead='Displacement [mm]',
	# 	xyDat= xyU1back)
	# func.XYplot(modelName, plotName = 'U1midFront',
	# 	xHead='Time [s]', yHead='Displacement [mm]',
	# 	xyDat= xyU1front)


	#=========== R2 at top and bot  ============#
	#Get node numbers
	topNodeNr =[]
	for nodes in odb.rootAssembly.instances['PART-1-1'].nodeSets['TOP'].nodes:
		topNodeNr.append(nodes.label)
	botNodeNr =[]
	for nodes in odb.rootAssembly.instances['PART-1-1'].nodeSets['BOT'].nodes:
		botNodeNr.append(nodes.label)

	#Create output names
	topNames = []
	for nr in topNodeNr:
		topNames.append('Reaction force: RF1 PI: PART-1-1 Node '
			+str(nr)+' in NSET TOP')
	botNames = []
	for nr in botNodeNr:
		botNames.append('Reaction force: RF1 PI: PART-1-1 Node '
			+str(nr)+' in NSET BOT')

	#Get xy data
	xyTopLst = []
	for name in topNames:
		xyTopLst.append(xyPlot.XYDataFromHistory(odb=odb, 
			outputVariableName=name))
	xyTopTup = tuple(xyTopLst)
	xyBotLst = []
	for name in botNames:
		xyBotLst.append(xyPlot.XYDataFromHistory(odb=odb, 
			outputVariableName=name))
	xyBotTup = tuple(xyBotLst)
	
	xyR1Top = sum(xyTopTup)
	xyR1Bot = sum(xyBotTup)
	xyR1Tot = sum(xyR1Top,xyR1Bot)

	#Print to file
	func.XYplot(modelName, plotName = 'R1top',
		xHead='Time [s]', yHead='Force [N]',
		xyDat= xyR1Top)
	func.XYplot(modelName, plotName = 'R1bot',
		xHead='Time [s]', yHead='Force [N]',
		xyDat= xyR1Bot)
	func.XYplot(modelName, plotName = 'R1',
		xHead='Time [s]', yHead='Force [N]',
		xyDat= xyR1Tot)


	#=========== Force Displacement  ============#
	xyRU = combine(xyU1side,-xyR1Tot)		
	func.XYplot(modelName, plotName = 'forceDisp',
		xHead='Displacment [mm]', yHead='Force [N]',
		xyDat= xyRU)
Ejemplo n.º 5
0
def xyBeam(modelName):

	#Open ODB
	odb = func.open_odb(modelName)


	#=========== Displacemnet  ============#
	#Get node numbers
	nodeNr = odb.rootAssembly.instances['COLUMN-1'].\
		nodeSets['COL-MID'].nodes[0].label

	#Create names
	name = 'Spatial displacement: U1 PI: COLUMN-1 Node '+\
		str(nodeNr)+' in NSET COL-MID'
	
	#Get xy data
	xyU1mid = xyPlot.XYDataFromHistory(odb=odb, 
		outputVariableName=name)
	
	func.XYplot(modelName,
		plotName = 'U1mid',
		xHead='Time [s]',
		yHead='Displacement [mm]',
		xyDat=xyU1mid)
	

	#=========== Reaction Force  ============#
	#Get node numbers
	topNodeNr = odb.rootAssembly.instances['COLUMN-1'].\
		nodeSets['COL-TOP'].nodes[0].label
	baseNodeNr = odb.rootAssembly.instances['COLUMN-1'].\
		nodeSets['COL-BASE'].nodes[0].label

	#Create names
	topName = 'Reaction force: RF1 PI: COLUMN-1 Node '+\
		str(topNodeNr)+' in NSET COL-TOP'
	baseName = 'Reaction force: RF1 PI: COLUMN-1 Node '+\
		str(baseNodeNr)+' in NSET COL-BASE'

	#Get xy data
	xyR1top = xyPlot.XYDataFromHistory(odb=odb, 
		outputVariableName=topName)
	xyR1base = xyPlot.XYDataFromHistory(odb=odb, 
		outputVariableName=baseName)

	xyR1tot = sum(xyR1top,xyR1base)

	func.XYplot(modelName,
		plotName = 'R1',
		xHead='Time [s]',
		yHead='Force [N]',
		xyDat=xyR1tot)

	# #=========== Force-displacement  ============#
	# plotName='force-Disp'
	
	# rf1 = xyPlot.XYDataFromHistory(odb=odb, 
	# 	outputVariableName='Reaction force: RF1 PI: COLUMN-1 Node 1 in NSET COL-BASE')
	# rf2 = xyPlot.XYDataFromHistory(odb=odb, 
	# 	outputVariableName='Reaction force: RF1 PI: COLUMN-1 Node 3 in NSET COL-TOP')
	# u = xyPlot.XYDataFromHistory(odb=odb, 
	# 	outputVariableName='Spatial displacement: U1 PI: COLUMN-1 Node 2 in NSET COL-MID')

	xyUR = combine(xyU1mid, -xyR1tot)

	func.XYplot(modelName,
		plotName = 'ForceDisp',
		xHead='Displacement [mm]',
		yHead='Force [N]',
		xyDat=xyUR)
Ejemplo n.º 6
0
	func.runJob(modelName)
	#Write CPU time to file
	func.readStaFile(modelName, 'results.txt')



#===================================================#
#===================================================#
#                   Post                            #
#===================================================#
#===================================================#

	print 'Post processing...'

	#Open ODB
	odb = func.open_odb(modelName)

	# #Contour
	# func.countourPrint(modelName, defScale, printFormat)

	# #Animation
	# func.animate(modelName, defScale, frameRate= animeFrameRate)

	#Energy
	func.xyEnergyPlot(modelName)

	#R2 at col base
	beam.xyColBaseR2(modelName,x,z)

	#U at top of col closes to blast
	beam.xyUtopCol(modelName, blastCol)
#===================================================#
#                   POST                            #
#===================================================#
#===================================================#

if run:
    print 'Post...'
    #Create list of jobs/odbs
    lst = [[model + 'conWep', model + 'incidentWave'] for model in modelList]
    jobLst = []
    map(jobLst.extend, lst)

    #Itterate over jobs
    #RF1
    for job in jobLst:
        odb = func.open_odb(job)
        #Create names of history outputs
        xyNames = {}
        for name in names:
            xyNames[name] = 'Reaction force: RF1 PI: ' + name + ' Node 1'
        #Get xy data
        xyDic = {}
        for name, xyName in xyNames.iteritems():
            xyDic[name] = xyPlot.XYDataFromHistory(odb=odb,
                                                   outputVariableName=xyName)
        #Print xy data
        for name, xyDat in xyDic.iteritems():
            func.XYplot(modelName=job,
                        plotName='RF1-' + name.lower(),
                        xHead='Time [s]',
                        yHead='Force [N]',
#                   POST                            #
#===================================================#
#===================================================#

if run:
	print 'Post...'
	#Create list of jobs/odbs
	lst = [[model+'conWep', model+'incidentWave'] for model in modelList]
	jobLst = []
	map(jobLst.extend, lst)


	#Itterate over jobs
	#RF1
	for job in jobLst:
		odb = func.open_odb(job)
		#Create names of history outputs
		xyNames ={}
		for name in names:
			xyNames[name]= 'Reaction force: RF1 PI: '+name+' Node 1'
		#Get xy data
		xyDic = {}
		for name, xyName in xyNames.iteritems():
			xyDic[name] = xyPlot.XYDataFromHistory(odb=odb,
				outputVariableName=xyName)
		#Print xy data
		for name, xyDat in xyDic.iteritems():
			func.XYplot(modelName=job, plotName='RF1-'+name.lower(),
				xHead='Time [s]', yHead='Force [N]',
				xyDat=xyDat)
	#RF3
Ejemplo n.º 9
0
def xyShell(modelName):
    '''
	Prints xy data for displacment at mid col, forces at top
	and force-displacemnt
	'''

    #Open ODB
    odb = func.open_odb(modelName)

    #=========== Displament at mid col  ============#

    #Get node numbers
    sideNodeNr=odb.rootAssembly.instances['PART-1-1'].\
     nodeSets['MID-SIDE'].nodes[0].label
    # backNodeNr=odb.rootAssembly.instances['PART-1-1'].\
    # 	nodeSets['MID-BACK'].nodes[0].label
    # frontNodeNr=odb.rootAssembly.instances['PART-1-1'].\
    # 	nodeSets['MID-FRONT'].nodes[0].label

    #Create output names
    sideName= 'Spatial displacement: U1 PI: PART-1-1 Node '+str(sideNodeNr)+\
     ' in NSET MID-SIDE'
    # backName= 'Spatial displacement: U1 PI: PART-1-1 Node '+str(backNodeNr)+\
    # 	' in NSET MID-BACK'
    # frontName='Spatial displacement: U1 PI: PART-1-1 Node '+str(frontNodeNr)+\
    # 	' in NSET MID-FRONT'

    #Get xy data
    xyU1side = xyPlot.XYDataFromHistory(odb=odb,
                                        outputVariableName=sideName,
                                        name='U1midSide')
    # xyU1back = xyPlot.XYDataFromHistory(odb=odb,
    # 	outputVariableName=backName, name='U1midBack')
    # xyU1front = xyPlot.XYDataFromHistory(odb=odb,
    # 	outputVariableName=frontName, name='U1midFront')

    #Print to file
    func.XYplot(modelName,
                plotName='U1midSide',
                xHead='Time [s]',
                yHead='Displacement [mm]',
                xyDat=xyU1side)
    # func.XYplot(modelName, plotName = 'U1midBack',
    # 	xHead='Time [s]', yHead='Displacement [mm]',
    # 	xyDat= xyU1back)
    # func.XYplot(modelName, plotName = 'U1midFront',
    # 	xHead='Time [s]', yHead='Displacement [mm]',
    # 	xyDat= xyU1front)

    #=========== R2 at top and bot  ============#
    #Get node numbers
    topNodeNr = []
    for nodes in odb.rootAssembly.instances['PART-1-1'].nodeSets['TOP'].nodes:
        topNodeNr.append(nodes.label)
    botNodeNr = []
    for nodes in odb.rootAssembly.instances['PART-1-1'].nodeSets['BOT'].nodes:
        botNodeNr.append(nodes.label)

    #Create output names
    topNames = []
    for nr in topNodeNr:
        topNames.append('Reaction force: RF1 PI: PART-1-1 Node ' + str(nr) +
                        ' in NSET TOP')
    botNames = []
    for nr in botNodeNr:
        botNames.append('Reaction force: RF1 PI: PART-1-1 Node ' + str(nr) +
                        ' in NSET BOT')

    #Get xy data
    xyTopLst = []
    for name in topNames:
        xyTopLst.append(
            xyPlot.XYDataFromHistory(odb=odb, outputVariableName=name))
    xyTopTup = tuple(xyTopLst)
    xyBotLst = []
    for name in botNames:
        xyBotLst.append(
            xyPlot.XYDataFromHistory(odb=odb, outputVariableName=name))
    xyBotTup = tuple(xyBotLst)

    xyR1Top = sum(xyTopTup)
    xyR1Bot = sum(xyBotTup)
    xyR1Tot = sum(xyR1Top, xyR1Bot)

    #Print to file
    func.XYplot(modelName,
                plotName='R1top',
                xHead='Time [s]',
                yHead='Force [N]',
                xyDat=xyR1Top)
    func.XYplot(modelName,
                plotName='R1bot',
                xHead='Time [s]',
                yHead='Force [N]',
                xyDat=xyR1Bot)
    func.XYplot(modelName,
                plotName='R1',
                xHead='Time [s]',
                yHead='Force [N]',
                xyDat=xyR1Tot)

    #=========== Force Displacement  ============#
    xyRU = combine(xyU1side, -xyR1Tot)
    func.XYplot(modelName,
                plotName='forceDisp',
                xHead='Displacment [mm]',
                yHead='Force [N]',
                xyDat=xyRU)
Ejemplo n.º 10
0
def xyBeam(modelName):

    #Open ODB
    odb = func.open_odb(modelName)

    #=========== Displacemnet  ============#
    #Get node numbers
    nodeNr = odb.rootAssembly.instances['COLUMN-1'].\
     nodeSets['COL-MID'].nodes[0].label

    #Create names
    name = 'Spatial displacement: U1 PI: COLUMN-1 Node '+\
     str(nodeNr)+' in NSET COL-MID'

    #Get xy data
    xyU1mid = xyPlot.XYDataFromHistory(odb=odb, outputVariableName=name)

    func.XYplot(modelName,
                plotName='U1mid',
                xHead='Time [s]',
                yHead='Displacement [mm]',
                xyDat=xyU1mid)

    #=========== Reaction Force  ============#
    #Get node numbers
    topNodeNr = odb.rootAssembly.instances['COLUMN-1'].\
     nodeSets['COL-TOP'].nodes[0].label
    baseNodeNr = odb.rootAssembly.instances['COLUMN-1'].\
     nodeSets['COL-BASE'].nodes[0].label

    #Create names
    topName = 'Reaction force: RF1 PI: COLUMN-1 Node '+\
     str(topNodeNr)+' in NSET COL-TOP'
    baseName = 'Reaction force: RF1 PI: COLUMN-1 Node '+\
     str(baseNodeNr)+' in NSET COL-BASE'

    #Get xy data
    xyR1top = xyPlot.XYDataFromHistory(odb=odb, outputVariableName=topName)
    xyR1base = xyPlot.XYDataFromHistory(odb=odb, outputVariableName=baseName)

    xyR1tot = sum(xyR1top, xyR1base)

    func.XYplot(modelName,
                plotName='R1',
                xHead='Time [s]',
                yHead='Force [N]',
                xyDat=xyR1tot)

    # #=========== Force-displacement  ============#
    # plotName='force-Disp'

    # rf1 = xyPlot.XYDataFromHistory(odb=odb,
    # 	outputVariableName='Reaction force: RF1 PI: COLUMN-1 Node 1 in NSET COL-BASE')
    # rf2 = xyPlot.XYDataFromHistory(odb=odb,
    # 	outputVariableName='Reaction force: RF1 PI: COLUMN-1 Node 3 in NSET COL-TOP')
    # u = xyPlot.XYDataFromHistory(odb=odb,
    # 	outputVariableName='Spatial displacement: U1 PI: COLUMN-1 Node 2 in NSET COL-MID')

    xyUR = combine(xyU1mid, -xyR1tot)

    func.XYplot(modelName,
                plotName='ForceDisp',
                xHead='Displacement [mm]',
                yHead='Force [N]',
                xyDat=xyUR)