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!

Creating a coordinate system following three nodes

Status
Not open for further replies.

Stiffie

Mechanical
Sep 11, 2009
10
I'm trying to define a cartesian coordinate system following three nodes.

First, I tried to create it in the model file, but strangely, the CSYS does not appear in the output database unless i create a dummy load which refers to this CSYS (e.g. 0.00001 N). Also, the CSYS does not appear to follow the nodes.

Then I tried using the python scripting interface. This is where I encountered strange behaviour. Look at this:

Python:
>>> odb_result = odb.openOdb(path="Job-ThreeSteps.odb", readOnly=False)
>>> node1 = odb_result.rootAssembly.nodeSets['NODEORIGIN'].nodes[0][0]
>>> node2 = odb_result.rootAssembly.nodeSets['NODEX'].nodes[0][0]
>>> node3 = odb_result.rootAssembly.nodeSets['NODEY'].nodes[0][0]
>>> print node1
({'coordinates': array([2.00000002337219e-07, 3.00000010611257e-07, 0.0], 'f'), 'instanceName': 'PART-SPECIMEN-2D-HALF-1', 'label': 719})
>>> print node2
({[b]'coordinates': array([0.766044914722443, 0.642788171768188, 0.0][/b], 'f'), 'instanceName': 'PART-SPECIMEN-2D-HALF-1', 'label': 720})
>>> print node3
([b]{'coordinates': array([0.642788171768188, -0.76604437828064, 0.0][/b], 'f'), 'instanceName': 'PART-SPECIMEN-2D-HALF-1', 'label': 724})

By printing, we can see the positions of the nodes. Now, if I run
Python:
>>> csys = odb_result.rootAssembly.DatumCsysByThreeNodes(name="CSYS-1", origin=node1, point1=node2, point2=node3)
>>> print csys
({'coordSysType': CARTESIAN, 'name': 'CSYS-1', 'origin': array([0.0, 0.0, 0.0], 'f'), 'type': CARTESIAN, [b]'xAxis': array([0.0, 0.0, 1.0][/b], 'f'), [b]'yAxis': array([0.0, 0.0, 1.0],] 'f')[/b], 'zAxis': array([0.0, 0.0, 1.0], 'f')})


So I have two questions:

- Why doesn't my model file defined in assembly module show in output database?
- Why in the World doesn't the axes of the defined CSYS follow the coordinates of the three points as given?


Any help is appreciated!
Thanks!
 
Replies continue below

Recommended for you

The functionality called "Creating a coordinate system following three nodes" in Abaqus documentation refers to coordinate systems created during postprocessing (in Visualization module). Coordinate systems created during preprocessing (before the analysis is submitted) are always fixed.
 
Thank you for your answer. Yes I figured I had to do the CSYS creation in post-processing step. Since I am doing batch simulations I therefore need to incorporate the CSYS creation into the python script.

I now struggle to understand why the node selection which is shown above won't set the CSYS directions as I expected. As can be seen in the node coordinates, the CSYS would be expected to have unit vectors rotated wrt. global CSYS.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor