Checking whether a coordinate (x,y,z) is part of the odb
Checking whether a coordinate (x,y,z) is part of the odb
(OP)
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?
Does someone have a good method to check this?





RE: Checking whether a coordinate (x,y,z) is part of the odb
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).
RE: Checking whether a coordinate (x,y,z) is part of the odb
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?
RE: Checking whether a coordinate (x,y,z) is part of the odb
RE: Checking whether a coordinate (x,y,z) is part of the odb
It's a bit more complex in my model, but I think you get the picture.
RE: Checking whether a coordinate (x,y,z) is part of the odb
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).
RE: Checking whether a coordinate (x,y,z) is part of the odb
Thanks for all your help, mechfeeney. It's highly appreciated.
RE: Checking whether a coordinate (x,y,z) is part of the odb
RE: Checking whether a coordinate (x,y,z) is part of the odb