Hi there,
I was wondering if anyone knows of (or has personally developed) a function to compute distance between two points *along* a surface. In other words, not the geometric distance but the 'walking distance' along the surface, so to speak.
I'm planning to write something myself, but wanted to check first that my time wouldn't be wasted on something which is already possible!
Thanks,
Joe
Distance over surface/boundary
Re: Distance over surface/boundary
Hi,
I don't know of such a function, and I guess that it would not be straightforward to implement within Elmer. I might be wrong, however.
You might have a look on ParaView which is a VTK-based postprocessor including all kinds of filters and the possibility to add custom filters programmed in python. I don't know if there is already an appropriate filter, but you can ask on the ParaView mailing list if such a filter exist and if they can help you to create one if not.
HTH,
Matthias
I don't know of such a function, and I guess that it would not be straightforward to implement within Elmer. I might be wrong, however.
You might have a look on ParaView which is a VTK-based postprocessor including all kinds of filters and the possibility to add custom filters programmed in python. I don't know if there is already an appropriate filter, but you can ask on the ParaView mailing list if such a filter exist and if they can help you to create one if not.
HTH,
Matthias
-
- Site Admin
- Posts: 4832
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Distance over surface/boundary
Hi Joe
There is something in that spirit in the ParticleAdvector routine. It uses particles to convect stuff in a semi-lagrangian fashion. One thing that can be advected is "distance". This does not work perhaps that well on surface/boundary as the intended use is the for the full dimension.
Generally this is probably quite a difficult problem. Do you have any vector field to follow or should the definition of the shortest path be part of the solution?
-Peter
There is something in that spirit in the ParticleAdvector routine. It uses particles to convect stuff in a semi-lagrangian fashion. One thing that can be advected is "distance". This does not work perhaps that well on surface/boundary as the intended use is the for the full dimension.
Generally this is probably quite a difficult problem. Do you have any vector field to follow or should the definition of the shortest path be part of the solution?
-Peter
Re: Distance over surface/boundary
Good question, Peter. In fact, I think the problem is slightly easier than I described it. Basically, I want to find the horizontal and vertical distance from a given point to the edges of the boundary, but along the surface.raback wrote:Hi Joe
There is something in that spirit in the ParticleAdvector routine. It uses particles to convect stuff in a semi-lagrangian fashion. One thing that can be advected is "distance". This does not work perhaps that well on surface/boundary as the intended use is the for the full dimension.
Generally this is probably quite a difficult problem. Do you have any vector field to follow or should the definition of the shortest path be part of the solution?
-Peter
The surface in question is a calving face in a 3D model, and the purpose is to maintain mesh quality when the geometry of the face changes. If you imagine a calving face which simply undergoes a translation forwards or backwards, then the mesh update would be trivial. However, if a protruding section of the boundary were to calve, resulting in a geometry change, then the question of where to put the nodes is not as simple.
If you have a suggestion for a more elegant approach to this problem, I'd love to hear it!
Thanks,
Joe
-
- Site Admin
- Posts: 4832
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Distance over surface/boundary
Hi Joe
I know there is a FlowDepthSolver that computes distance from bottom line/surface along distance from a degenerated Poisson equation. Could perhaps this strategy be used also for the lateral direction?
-Peter
I know there is a FlowDepthSolver that computes distance from bottom line/surface along distance from a degenerated Poisson equation. Could perhaps this strategy be used also for the lateral direction?
-Peter
Re: Distance over surface/boundary
Hi Peter,
Yeah, I'd thought about this. Unfortunately, I don't think the FlowDepthSolver has any routines for calculating distance along a surface. I think my problem is best illustrated with a diagram.
http://dl.dropbox.com/u/9058612/NodeRemapping.png
In this example, the original geometry (simplified to 2D view from above) is altered by a (very unrealistic!) rapid advance of only a small section of the terminus. The simple method of updating the mesh would be just to translate the nodes, normal to the overall surface (or line, in this case). However, it would be better if the nodes remained evenly distributed along the line/surface. So, for this reason, I want to measure the relative distance of the nodes along the line, rather than a simple point to point distance. Of course, this is fairly trivial in the reduced dimension example I've uploaded, but it becomes a bit of a headache in 3D...
Joe
Yeah, I'd thought about this. Unfortunately, I don't think the FlowDepthSolver has any routines for calculating distance along a surface. I think my problem is best illustrated with a diagram.
http://dl.dropbox.com/u/9058612/NodeRemapping.png
In this example, the original geometry (simplified to 2D view from above) is altered by a (very unrealistic!) rapid advance of only a small section of the terminus. The simple method of updating the mesh would be just to translate the nodes, normal to the overall surface (or line, in this case). However, it would be better if the nodes remained evenly distributed along the line/surface. So, for this reason, I want to measure the relative distance of the nodes along the line, rather than a simple point to point distance. Of course, this is fairly trivial in the reduced dimension example I've uploaded, but it becomes a bit of a headache in 3D...
Joe