[GiDlist] interpolation

Moderator: GiD Team

Post Reply
Mark Smith

[GiDlist] interpolation

Post by Mark Smith »

Hi Gidlist

If I have a solution to a problem giving the values at the nodes of a 3D
mesh is there a simple way of interpolating these values onto a new mesh of
the same volume but with a new mesh ?
I have a feeling that this may require determining which element a point
p(x,y,z) resides inside? if so how can this be done.

Any help, references, URL's etc would be most helpful.

Regards
Mark

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.458 / Virus Database: 257 - Release Date: 24/02/03



The information contained in this e-mail message (and any attachment
transmitted herewith) is privileged and confidential and is intended for the
exclusive use of the addressee(s). If you are not an addressee, any
disclosure, reproduction, distribution or other dissemination or use of this
communication is strictly prohibited. If you have received this
communication in error, please contact us immediately so that we can correct
the error.
Enrique Escolano

[GiDlist] interpolation

Post by Enrique Escolano »

You must use some algorithm to search some old nodes near your new point to
interpolate.
There is a link to a C++ source code of a kd-tree data structure for this
efficient search.
http://www.cs.umd.edu/~mount/ANN/

With this near nodes, you can make some weighted average to calculate the
new value, or
can find the element containg the point, and use some shape functions to
interpolate.

Note: if the node is inside a element, then it must be at the interior half
plane foreach element face

For example, for an tetrahedral with 3 edge vectors V1,V2,V3 trought the
node Po, and a point P
must solve this 3x3 linear equation sytem: P-Po=a*V1+b*V2+c*V3
The P point is inside if a+b+c=1

Note: It can be too hard try foreach mesh element if the point is
inside.Must find first only a small group
of candidate elements (with a Kd-tree for example).

Enrique Escolano

----- Original Message -----
From: "Mark Smith" mark.smith at linx.co.uk
To: "Gidlist (E-mail)" gidlist at gatxan.cimne.upc.es
Sent: Tuesday, April 15, 2003 2:15 PM
Subject: [GiDlist] interpolation


Hi Gidlist

If I have a solution to a problem giving the values at the nodes of a 3D
mesh is there a simple way of interpolating these values onto a new mesh
of
the same volume but with a new mesh ?
I have a feeling that this may require determining which element a point
p(x,y,z) resides inside? if so how can this be done.

Any help, references, URL's etc would be most helpful.

Regards
Mark

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.458 / Virus Database: 257 - Release Date: 24/02/03



The information contained in this e-mail message (and any attachment
transmitted herewith) is privileged and confidential and is intended for
the
exclusive use of the addressee(s). If you are not an addressee, any
disclosure, reproduction, distribution or other dissemination or use of
this
communication is strictly prohibited. If you have received this
communication in error, please contact us immediately so that we can
correct
the error.
_______________________________________________
GiDlist mailing list
GiDlist at gid.cimne.upc.es
http://gid.cimne.upc.es/mailman/listinfo/gidlist

Ramon Ribó

[GiDlist] interpolation

Post by Ramon Ribó »

Hello,

The classical solution to this problem is:

- Find the element in the 2nd mesh where the node belongs
- Calculate the inverse of the FEM shape functions for the 1st mesh
node
- Find the value of the function in the node by using the calculated
shape
functions

The problem with this algorithm is the efficiency. You can go from a
few
seconds to a several hours or days to do the same task depending on the
implementation.

As a rule of thumb, NEVER try to calculate for every element in the
mesh
the shape funtions to decide if the node is inside. A crude octree, if
it is
not too well implemented, can be slow for big meshes. The best solution
is
probably a combination of octree search and "mesh walking" maintaining a
used
elements history.

Its plenty of literature of this in the Internet (in fact, Internet
is
plenty of everything).

Regards,

--
Compass Ing. y Sistemas Dr. Ramon Ribo
http://www.compassis.com ramsan at compassis.com
c/ Manuel Girona, 61 bajos tel. +34 93 204 10 82
08034 Barcelona, Spain fax. +34 93 204 19 09

-----Mensaje original-----
De: gidlist-admin at gatxan.cimne.upc.es
[mailto:gidlist-admin at gatxan.cimne.upc.es] En nombre de Mark Smith
Enviado el: martes, 15 de abril de 2003 14:15
Para: Gidlist (E-mail)
Asunto: [GiDlist] interpolation


Hi Gidlist

If I have a solution to a problem giving the values at the nodes of a 3D
mesh is there a simple way of interpolating these values onto a new mesh
of the same volume but with a new mesh ? I have a feeling that this may
require determining which element a point
p(x,y,z) resides inside? if so how can this be done.

Any help, references, URL's etc would be most helpful.

Regards
Mark

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.458 / Virus Database: 257 - Release Date: 24/02/03



The information contained in this e-mail message (and any attachment
transmitted herewith) is privileged and confidential and is intended for
the exclusive use of the addressee(s). If you are not an addressee, any
disclosure, reproduction, distribution or other dissemination or use of
this communication is strictly prohibited. If you have received this
communication in error, please contact us immediately so that we can
correct the error. _______________________________________________
GiDlist mailing list
GiDlist at gid.cimne.upc.es
http://gid.cimne.upc.es/mailman/listinfo/gidlist
Post Reply