- 31 Views
- Uploaded on
- Presentation posted in: General

How can geometrical information and physical properties of a material be linked ?

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Research done in partnership with ICMCB laboratory(UPR 9048)

Specialised in pourous material study, and high resolution 3-dimensional pictures production.

Members participating to the project : Dominique Bernard

How can geometrical information and physical properties of a material be linked ?

Motivation : Fluid flow simulation

1. How calculations are usually done

. An algorithm, based on the Navier-Stokes differential equations, is used to process 2d and 3d materials images.

. The algorithm stops when result stability is reached.

Main Problem :

Computation time can be very long (several days)

Motivation : Fluid flow simulation

1. How calculations are usually done

. Calculations are not performed on the whole object, but on a sample of the object.

. The material can be seen as a tesselation of the sample, and the global flow can be seen as a tesselation of the local flow.

. This representation is equivalent to considering the opposite borders of the sample joined : the sample is embedded in a toric space.

Motivation : Fluid flow simulation

2. Chosen method

Skeletonise the porous space of the sample in order to draw the main paths followed by the fluid flow through the material (curvilinear skeleton).

The different steps to complete :

.Threshold

.Remove the object’s grain

(parts of the object which don’t touch the borders)

.Skeletonisation process [1].

in a toric space…

[1] G. Bertrand et M. Couprie, Transformations topologiques discrètes.

D. Coeurjolly, A. Montanvert et J.M. Chassery, Géométrie discrète et images numériques, Hermès, 2007.

Motivation : Fluid flow simulation

2. Chosen method

The skeleton of the porous space draws the main paths followed by the flow through the material.

Main hypothesis:

The material (tesselation of the sample) has no grains

(connected component which does not touch « the borders » of the image)

> We hardly imagine « floating pieces » in the full material.

> The grains are sources of 2d cycles in the skeleton of the porous space.

Motivation : Fluid flow simulation

3. Question

How can we identify, in the sample, the components of the object

which will create grains in the tesselation ?

The material, which is a

tesselation of the sample,

still contains grains.

Motivation : Fluid flow simulation

3. Question

How can we identify, in the sample, the components of the object

which will create grains in the tesselation ?

It is not sufficient to filter the grains of the sample in order to get rid of the grains in the tesselation.

Contents

. Basic notions

Toric spaces, neighbourhoods, loops, homotopy

. Characterizing a « grain » in a toric space

. Fundamental group of the torus

Homotopy classes, wrapping vector

. Algorithm for detecting « toric loops »

Example, elements of proof

Basic notions: Toric Space

1. Toric space: definition

Given d positive integer, we set Ζd= {0,…, d-1}.

The 1-dimensional toric space of sized is the group (Ζd, ) with

for alla,b Ζd , a b = (a + b) mod d

Let s = (s1, …, sn) Zn.

Then-dimensional toric space of size sis the group

(Tn, )= (Ζs1, )x … x(Ζsn, )[2]

[2] J. Stillwell, Classical topology and combinatorial group theory, Springer.

Basic notions: Neighbourhood

Definition

Let (Tn, ) be an n-dimensional toric space.

. An m-step (0 < m ≤ n) is a vector v of {-1; 0; 1}n which has at most m non-null coordinates.

. Two points a, b Tn are m-adjacent if there exists an m-step v such that

a v = b

In 2D, the 1- and 2-adjacency resp. correspond to the 4- and 8-neighbourhood.

In 3D, the 1- and 3-adjacency resp. correspond to the 6- and 26-neighbourhood.

Basic notions: Loops in toric space

Definition

Let (Tn, ) be an n-dimensional toric space, and p Tn.

We call m-loop of base point p a pair b= ( p, V ), such that V = (v1, …, vk) is a sequence of m-steps and (v1 … vk) = 0.

Let us consider the 2-loop B.

Example

We set p = (0,0)

v1 = (1,0)

v2 = (1,1)

v3 = (1,-1)

B = ( p , (v2 , v1 , v3) ).

Basic notions: Loop homotopy

We started from the loop homotopy definition given in [3],

and small modifications were done in order to adapt it to toric spaces…

Basic notions: Loop homotopy

Two m-loopsb1= ( p, V ) and b2= ( p, W ), with V= ( v1,…,vj) and W = ( w1,…,wk ), are directlyhomotopicif :

. V and W differ in one nullvector, (Insertion / Deletion)

or

. We have j=k, and thereexists h [1 ; k-1], (Translation)

suchthat

. for all i [1; h-1] U [h+2; k], vi = wi and

. vh + vh+1 = wh + wh+1and

. (vh – wh) is an n-step.

Basic notions: Loop homotopy

Basic notions: Loop homotopy

Two loops β1 and β2 in Tnare homotopic if there exists a sequence (L1, … , Lk) of loops of Tnsuch that

. L1= β1, Lk= β2 and,

. for all i [1; k-1], Liand Li+1are directly homotopic.

Characterizing grains in toric spaces

Characterizing grains in toric spaces

Thanks to the previous definitions, we can reformulate the problematic:

How can we identify, in a sample, the components of the object

which will create grains in the tesselation ?

How can we identify, in a sample, the components of the object

which contains a loop non homotopic to a point ?

We call toric loop a loop non homotopic to a point.

In (Tn, ), let β= (p, V) be a loop, with V = (v1, …, vk).

The wrapping vector of β is the vector

w = ∑ vi

k

i=1

Characterizing grains in toric spaces

Wrapping vector of a loop

Characterizing grains in toric spaces

Theorem

Two loops are homotopic if and only if their wrapping vectors are equals.

This theorem proves that there exists a value, easily computable for all loops, that allows to know to which homotopy class a loop belongs to.

This value corresponds to the way the loop « wraps around » the toric space : it completely describes the fundamental group of the torus (Zn) [4].

[4] A. Hatcher, Algebraic Topology, Cambridge University Press, 2002.

Characterizing grains in toric spaces

How can we identify, in the sample, the components of the object

which contain a loop with a non null wrapping vector ?

How can we identify, in the sample, the components of the object

which contain a loop that is non homotopic to a point ?

Algorithm for detecting toric loops in an object

1. Main idea

. A connected component thatcontains a toric loop must be « broken », in order to be embedded inside the « classical » space Zn.

. A connected component that does not contain any toric loop can be embedded inside Zn without any distortion.

>> If an object of Tn can be embedded in Zn without distortion, then it does not contain any toric loop.

How is it possible to know if an object of Tn

can be wrapped inside Znwithout any distortion?

2. Algorithm for detecting toric loops

Data:image I (n-dimensional toric space), an m-connected object Xof I, and a point p of X.

For all xX, do Coordinates [ x ]= false;

S= {p}; Coordinates[ p] = 0n; (null n-dimensional vector)

While there existsxSdo

S = S \ { x };

For alln-dimensional m-steps v, do

y = x v ; (y is a neighbour of x in the toric space)

IfyX and Coordinates [ y ]== false, then

Coordinates[y] = Coordinates[x] + v; S = S U { y };

Else ifyX

IfCoordinates[y] Coordinates[x] + vthen return true;

(there is a toric loop in X)

return false; (no toric loop in X)

Algorithm for detecting toric loops in an object

3. Example

. In (Z5 x Z5, ), weconsider the 2-adjacency (8-neighbourhood) relation, and a connectedobject.

The 2-dimensional 2-steps

Algorithm for detecting toric loops in an object

3. Example

{ (-1;0),(-1;1),(0;1),(2;-1) }

{ (-1;0),(-1;1),(0;1) }

{ (1;0),(-1;0),(-1;1),(0;1) }

{ (1;0) }

{ }

{ (0;0) }

{ (-1;1),(0;1),(2;-1),(-2;-1),(-2;0),(-2;1) }

{ (-2;-1),(-2;0),(-2;1) }

S =

(2;1) + (1;0)≠ (-2;-1)

(1;0) + (-1;0)= (0;0)

(0;0) + (1;0)= (1;0)

S= {p};Coordinates[ p] = (0;0);

(1;0)

While there existsxSdo

S =S \ { x };

(-1;0)

(1;0)

For all2-steps v, do

(1;-1)

y= x v ;

IfyX and Coordinates [ y ]== false, then

Coordinates[y] = Coordinates[x] +v;

S = S U {y};

Else ifyX

IfCoordinates[y] Coordinates[x] + vthen

return true;

return false;

Algorithm for detecting toric loops in an object

4. Some results (1)

No toric loop in

this component

This componentcontains

toric loop

Algorithm for detecting toric loops in an object

4. Some results (2)

Conclusion

Thanks to the definitions and theorems previously given (m-step, wrapping vector,…), the algorithm is proved.

Nowadays, the algorithm is used in order to detect and remove grains from object embedded in toric spaces.

For a given dimension, the algorithm is linear ( O(n.m) ).

A new version of the algorithm allows to compute the wrapping vector of all loops contained in the object.