Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Checking whether a coordinate (x,y,z) is part of the odb 1

Status
Not open for further replies.

deyentl

Materials
Jul 12, 2011
39
I'm looking for a method to check whether a given coordinate (x,y,z) is part of my output database. I know the boundaries of my model before deformation, but after deformation I don't know where they lie.

Does someone have a good method to check this?
 
Replies continue below

Recommended for you

By "part of my output database" do you mean whether the coordinate is equal to one of the nodal coordinates? Or do you mean whether the coordinate is within the boundary of the mesh?

I know one way to check if the coordinate (x,y,z) is equal to a nodal coordinate in the deformed part. Follow these steps:

1. Run your original .inp to produce the .odb.
2. Create a new model.
3. In the Parts module import-->part (File type .odb). Import your previously generated .odb.
4. Setup a simulation using your newly imported deformed part(it could be anything). By creating a simulation you will generate a .inp with all of the coordinates of the deformed part.
5. Now with the .inp of the deformed part you can apply your search technique to see if a particular coordinate is in the list of your nodal coordinates of your deformed part. Note that all of the nodes will be in a a single matrix because you are importing a single part (which can be convenient).
 
I mean the second one. I want to know whether the coordinate is within the boundary of my mesh. This coordinate is in general not equal to a nodal coordinate.

Your procedure is a very nice workaround! Unfortunately, it will only work for nodal coordinates. I would be surprised if Abaqus doesn't offer a way to do this for a random location (x,y,z) as well.

Do you have another idea on how to approach this problem?
 
A better question is...how were you doing it before the deformation? How do you "know the boundaries before the deformation"?
 
I have a mathematical description of the surface. For example, if my model was a cylinder before deformation, it's quite easy to setup an equation to check whether (x,y,z) lies inside that cylinder. After deformation that cylinder is not cylindrical anymore.

It's a bit more complex in my model, but I think you get the picture.
 
The only method I can think of is if you are using solid elements. The technique would work as follows:

For a simple case, lets say you have just 1 solid quad element. Any coordinate inside that element is some distance away from the 4 nodes. The farthest it could be from one of the nodes is from 1 corner to the complete opposite corner (call this distance 'd'). So to specify if a random coordinate is inside the element you would search through your list of nodes and determine how many nodes it finds that meet the criteria (magnitude <= 'd'). If it finds 4 or more nodes that meet this criteria, than you know it is within the boundary of the mesh. Obviously this could be applied to a body of multiple solid quad elements, however, at the edges, it might get a bit blurry so to speak. At the edges, there could be some cases where the coordinate is very close to the surface and outside of the boundary, but still in range of 4 nodes. The way to get more accurate results is by having a smaller mesh.

Let me know what you think. (this might be a long shot, but it's all I got).
 
The more I think about it, the more I realise how difficult it is. Your technique would work, but indeed might be difficult at the edges. I'll give it a try.

Thanks for all your help, mechfeeney. It's highly appreciated.
 
check the abaqus API (odb section) if there is such a function to query the model. also check, if it's possible to set up a sensor during the pre (in the help too). that should help.
 
Thanks for the advice loki3000. I'll check that out.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor