Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

RF of nodeSet over all frames

Status
Not open for further replies.

SilvMa

Civil/Environmental
Nov 25, 2009
2
dear all,

i produced a python script for a model of a connection (timber piece with dowel through it) that is loaded statically - timber pieced fixed and dowel displacing. i need the sum of reaction forces of the timber (created via a nodeSet) over all frames and the displacement of the dowel (again a nodeSet) over all frames to create a load-slip graph.

accessing the output is rather tricky however as abaqus obviously needs nodeLabels when manipulating XY-data with the "combine"-command and nodeSets are not sufficient anymore. at least that is what the macro is doing (i tried with history and field output) and also in the examples, they always know which nodeLabels they are dealing with. Also in the manuals, i didn't succeed in finding anything.

i cannot figure out how to write the script without the need to actually LIST all the nodeLabels. I do not know the labels - whenever i change my mesh, my nodeLabels are also changing!

How can i automate this? i'm trying with for-loops using len and list-commands, of course - but it is rather cumbersome and still there a bugs. how can a get the reaction forces of a certain nodeSet over all frames?

This must be such a common problem!!

cheers and thanks a lot!

Silvia
 
Replies continue below

Recommended for you

Hello all,

i got a bit further - here the script until now; i left the names for the step, instances, sets etc as they are in my model (they are easy to identify):

------------------------------------------------------------
from abaqus import *
from abaqusConstants import *
from math import *
import displayGroupOdbToolset as dgo

numFrames=len(result.steps['loading'].frames)
numNodes = len(result.rootAssembly.instances['TIMBER-1'].nodeSets['REACTION_FORCES'].nodes)
leaf = dgo.LeafFromNodeSets(nodeSets=('TIMBER-1.REACTION_FORCES',))
session.viewports['Viewport: 1'].odbDisplay.displayGroup.replace(leaf=leaf)
mygroup = session.viewports['Viewport: 1'].odbDisplay.displayGroup
mygroup = session.DisplayGroup(name = 'nodes_RF',objectToCopy=mygroup)
session.viewports['Viewport: 1'].odbDisplay.setValues(visibleDisplayGroups=(mygroup,))
nodelabels = session.viewports['Viewport: 1'].odbDisplay.displayGroupInstances['nodes_RF'].nodes()
del nodelabels['DOWEL-1']
del nodelabels['STEELPLATE-1']
nodelabels = nodelabels.values()
------------------------------------------------------------

if i say now "print nodelabels", it prints exactly the nodes i am interested in using the following syntax:
[(3, ..., 978)]; in total 128 nodes

so now the "only" thing i need is python to iterate over all my frames collecting the data i need by summing the RF1 (!) of all nodes during one frame - which maybe looks like this:

------------------------------------------------------------
sumRF = 0
for i in range(numFrames):
for j in range(nodelabels):
RF = result.steps['loading'].frames.fieldOutputs['RF']
U = result.steps['loading'].frames.fieldOutputs['U']
sumRF = sumRF + RF
------------------------------------------------------------

BUT....of course i fear it will not run through nodelabels as it has not the right syntax. furthermore i still need to tell python that it's values i want to collect - the values of the components RF1 for instance. and i am not sure whether abaqus sums up the values for all nodes in "nodelabels" during one frame. and..is it keeping the summed-up values for each step in the end?
How must i write the loop in order to get it right?

is anyone out there who can help me at bit further? i know i ask a lot, but i'm just stuck here - maybe there's an old thread on this?; it's getting too complex for me...i'm too dumb for it :)
i hope my problem is clear!

cheers,

Silvia
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor