exploring ontology-based approach to facilitate integration of multi-physics and visualization for...

18
1 Copyright © 2009 by ASME Proceedings of the ASME 2009 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2009 August 30 - September 2, 2009, San Diego, California, USA DETC2009-86477 EXPLORING ONTOLOGY-BASED APPROACH TO FACILITATE INTEGRATION OF MULTI-PHYSICS AND VISUALIZATION FOR NUMERICAL MODELS Dean Vucinic Department of Mechanical Engineering Vrije Universiteit Brussel, Belgium Marina Pesut Department of Computer Science University of Osijek, Croatia Franjo Jovic Department of Computer Science University of Osijek, Croatia Chris Lacor Department of Mechanical Engineering Vrije Universiteit Brussel, Belgium Professor and author of correspondence, Phone: +32 2 629-2378, Fax: +32 2 629-2880, Email: [email protected]. ABSTRACT Today, within the engineering design process, we have interactions between different design teams, where each team has its own design objective and continuous need to present and share results with other groups. Common engineering environments are equipped with advanced modeling and simulation tools, specially designed to improve engineer’s productivity. In this paper we propose the use of ontologies, the semantic metadata descriptors, to facilitate the software development process in building such multidisciplinary engineering environments. The important development task is to perform integration of several numerical simulation components (models of data and processes) together with the interactive visualization of the engineering models in a unified 3D scene. In addition, we explore the possibilities on how the prototyped ontologies can become standard components in such software systems, where the presence of the inference engine grants and enables continuous semantic integration of the involved data and processes. The semantic integration is based on: 1) mapping discovery between two or more ontologies, 2) declarative formal representation of mappings to enable 3) reasoning with mappings and find what types of reasoning are involved; and we have explored these three dimensions. The proposed solution involves two web based software standards: Semantic Web and X3D. The developed prototype make use of the "latest" available XML-based software technologies, such X3D (eXtensible 3D) and OWL (Web Ontology Language), and demonstrates the modeling approach to integrate heterogeneous data sources, their interoperability and 3D visual representations to enhance the end-users interactions with the engineering content. We demonstrate that our ontology-based approach is appropriate for the reuse, share and exchange of software constructs, which implements differential-geometric algorithms used in multidisciplinary numerical simulations, by applying adopted ontologies that are used in the knowledge- based systems. The selected engineering test case represents a complex multi-physics problem FSI (Fluid Structure Interaction). It involves numerical simulations of a multi- component box structure used for the drop test in a still water. The numerical simulations of the drop test are performed through combined used of the FEM (Finite Element Method) and CFD (Computational Fluid Dynamics) solvers. The important aspect is the design of a common graphics X3D model, which combines the FEM data model, which is coupled with the CFD data model in order to preserve all the relationships between CFD and FEM data. Our ultimate vision is to build intelligent and powerful mechanical engineering software by developing infrastructure that may enable efficient data sharing and process integration mechanisms. We see our current work in exploring the ontology-based approach as a first step towards semantic interoperability of numerical simulations and visualization components for designing complex multi-physics solutions. 1. INTRODUCTION The multidisciplinary engineering design process requires complex software tools integration in order to be useful [1]. The goal is to improve the software development process of the complex multi-physics software through ontology based approach, where each software component is expected to have its own ontology a knowledge base, associated to it. With the presence of this additional software element, the validation and the compatibility testing of the integrated solution will be verified in a front up manner, before the real software

Upload: vub

Post on 28-Nov-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

1 Copyright © 2009 by ASME

Proceedings of the ASME 2009 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference

IDETC/CIE 2009 August 30 - September 2, 2009, San Diego, California, USA

DETC2009-86477

EXPLORING ONTOLOGY-BASED APPROACH TO FACILITATE INTEGRATION OF MULTI-PHYSICS AND VISUALIZATION FOR NUMERICAL MODELS

Dean Vucinic

Department of Mechanical Engineering Vrije Universiteit Brussel, Belgium

Marina Pesut Department of Computer Science

University of Osijek, Croatia

Franjo Jovic Department of Computer Science

University of Osijek, Croatia

Chris Lacor Department of Mechanical Engineering

Vrije Universiteit Brussel, Belgium

Professor and author of correspondence, Phone: +32 2 629-2378, Fax: +32 2 629-2880, Email: [email protected].

ABSTRACT Today, within the engineering design process, we have

interactions between different design teams, where each team has its own design objective and continuous need to present and share results with other groups. Common engineering environments are equipped with advanced modeling and simulation tools, specially designed to improve engineer’s productivity.

In this paper we propose the use of ontologies, the semantic metadata descriptors, to facilitate the software development process in building such multidisciplinary engineering environments. The important development task is to perform integration of several numerical simulation components (models of data and processes) together with the interactive visualization of the engineering models in a unified 3D scene. In addition, we explore the possibilities on how the prototyped ontologies can become standard components in such software systems, where the presence of the inference engine grants and enables continuous semantic integration of the involved data and processes.

The semantic integration is based on: 1) mapping discovery between two or more ontologies, 2) declarative formal representation of mappings to enable 3) reasoning with mappings and find what types of reasoning are involved; and we have explored these three dimensions. The proposed solution involves two web based software standards: Semantic Web and X3D. The developed prototype make use of the "latest" available XML-based software technologies, such X3D (eXtensible 3D) and OWL (Web Ontology Language), and demonstrates the modeling approach to integrate heterogeneous data sources, their interoperability and 3D visual representations to enhance the end-users interactions with the engineering content.

We demonstrate that our ontology-based approach is

appropriate for the reuse, share and exchange of software constructs, which implements differential-geometric algorithms used in multidisciplinary numerical simulations, by applying adopted ontologies that are used in the knowledge-based systems. The selected engineering test case represents a complex multi-physics problem FSI (Fluid Structure Interaction). It involves numerical simulations of a multi-component box structure used for the drop test in a still water. The numerical simulations of the drop test are performed through combined used of the FEM (Finite Element Method) and CFD (Computational Fluid Dynamics) solvers. The important aspect is the design of a common graphics X3D model, which combines the FEM data model, which is coupled with the CFD data model in order to preserve all the relationships between CFD and FEM data.

Our ultimate vision is to build intelligent and powerful mechanical engineering software by developing infrastructure that may enable efficient data sharing and process integration mechanisms. We see our current work in exploring the ontology-based approach as a first step towards semantic interoperability of numerical simulations and visualization components for designing complex multi-physics solutions.

1. INTRODUCTION The multidisciplinary engineering design process requires complex software tools integration in order to be useful [1]. The goal is to improve the software development process of the complex multi-physics software through ontology based approach, where each software component is expected to have its own ontology a knowledge base, associated to it. With the presence of this additional software element, the validation and the compatibility testing of the integrated solution will be verified in a front up manner, before the real software

2 Copyright © 2009 by ASME

integration is even started. It is expected that the new realization of the software components integration will be of a better quality, as the involved concepts and methodologies will come with more explicit and declarative knowledge. For example, there will be the possibility to query the data model structure and the functionality of available components in a machine programmable way. The expected benefit of such approach is that the new integrated solution, by interrogating ontologies and related knowledge bases, takes control over the data and process through the well defined functionality enriched with the semantic information, enabling applications and users to explore/reuse the domain engineering knowledge - coded in software.

Figure 1: CFD model

We selected an example of the multi-physics FSI problem, which combines the numerical modeling of the fluid and solid continuum with CFD and FEM software. In order to enable integration and interoperability of such software tools we have to define ontologies (meta-data descriptors), which explicitly define numerical models, concepts and their definitions. As our ontology-based approach is evolving from the object-oriented modeling, we understand ontologies as an explicit knowledge about the domain concepts, in our case multidimensional numerical models, designed and implemented as a set of classes (objects) used in software development. An example of detailed object-oriented approach for developing scientific visualization system is given in [2].

Figure 2: FEM model

The FSI problem is complex, and thus the use of ontologies is expected to explicitly reveal the applied concepts in order that the interfacing process between FEM and CFD software can be automatically achieved through software-to-software communication. We expect that the suggested ontology approach for multi-physics problems, like FSI is, will improve interoperability and integration of such tools (CFD, FEM) coming from the disciplined use of ontologies, existing for each tool prior to its integration. Such knowledge, captured by ontologies, explicitly makes visible the intrinsic parts of involved software, which is expected to enable the machine-to-machine communication. The projected benefits are in the reduction of the work (time) of the engineering (domain) experts and the programmable errors elimination, introduced by programmers in implementing integrated solutions.

2. DOMAIN KNOWLEDGE – NUMERICAL MODELS We start with the space-time discredited numerical data model to which the differential geometry algorithms are associated. The atomic unit of the numerical model is named Cell, and when Cells are grouped together, they build up a Zone, which can model, in our FSI example; the two continuums: fluid (water) and solid (iron). Cells and Zones encapsulate geometrical and physical data on which mathematical algorithms (Interpolation. Derivation and Integration) can be performed. Such models are implicitly present in CFD and FEM models and our intention is to associate to these tools appropriate ontologies. These ontologies define their internal data models and algorithmic knowledge, and they can be accessed to reveal their structure and functionality (implemented knowledge) in more formal, machine processable information.

When modeling continuum domain approximated with discretized data set, commonly, the Points (Nodes) are used to define Cells, and define the coordinate space in which they are immersed. The Nodes geometry (space-time coordinates) with physical quantities, as scalar (temperature), vector (velocity) and tensor (strain stress) represent the multidimensional data model used in differential geometry algorithms to calculate other geometrical properties (Jacobian, Metric tensor) or physical properties (vector field lines). In addition, there are Integration (cell volumes), Derivation (temperature gradients) and Interpolation (pressure) algorithms to calculate scalar and vector field properties in any point of the space-time defined domain.

The mentioned concepts are very well known from the numerical engineering literature, but they are not accessible as explicitly accessible information to be retrieve from the software like CFD & FEM in a software programmable way. The Zone-Class continuum model ontology gives us possibility to validate the data exchange and generation through variety of organized hierarchies associating correct algorithms for handling different types of geometries in an ontology enriched way.

The vector field tracing, especially in a surface, represents a complex method involving a number of differential geometry algorithms, and it can be applied to fluids and solids, within the FSI analysis. On the fluid side, the fluid particle is moving on the surface 2D-manifold under the imposed velocity field calculated by CFD. The surface geometry is computed from

3 Copyright © 2009 by ASME

FEM, where the applied stress forces (pressure) are modifying the surface geometrical shape. In an iterative way, the pressure is the result of CFD, thus for correctly modeling the FSI process, we have to retrieve the programmed knowledge behind such models. What is interesting from the point of differential geometry methods is the tangential velocity field acting at each surface point, in such 2D manifold immersed in 4D space-time domain. Our intention is to that the knowledge of such algorithms can be accessible and examined through the defined ontologies.

In the next section the knowledge modeling of the numerical models is developed.

2.1. Numerical Data Modeling The geometric model in the Euclidian space [3], and its manifold model in the topological space [4][[5], are very well covered in the numerical methods. Mathematically, a set is a collection of distinguishable objects that share some common property (or properties) that determine(s) their membership in the set. The objects in a set are called ‘members’. The set of nodes and the set of cells are the elementary sets required to discretized a continuum. The discretisation process consists in dividing a spatial region into a finite number of non-overlapping cells, each of which is defined by its set of nodes. To correctly approximate the domain space, we use a variety of cell types, each type being characterized by the interpolation function that is used to compute a physical quantity value at any arbitrary point within the cell. The interpolation algorithms work using the (physical) variable values (known) at the node coordinates. The set of nodes and the set of cells are modeled with the so-called ‘Zone object’.

The data model covers the objects needed for storing and manipulating data; it includes two ‘decomposition’ lines: 1. ‘vertical’ decomposition, based on sup-sub relationship,

and 2. ‘horizontal’ decomposition, based on part of relationship.

vertical decomposition

horizontal decomposition

< s

ub

- s

up

>

< part of >

Cell grouping = Zone

Figure 3: Data model decomposition

Both decomposition approaches describe the Cell and/or Zone geometry and topology with the grouping principle (see Figure 3). The vertical decomposition describes the sup-sub relationship as the principal concept in the boundary representation (‘B-rep’) model [6][7][8]. The sup-objects are

described by the group of sub-objects which are defined in the parametric space of lower dimension. The horizontal decomposition implies that the grouping principle puts together objects from the same parametric dimension, so that the resulting object remains in the same parametric space. The geometric model is fully described with the parametric and modeling coordinates, for example a point in a curve or surface is completely defined by its coordinates. The Cell and Zone models are fundamental to the discretized geometry and topology models; according to the vertical and horizontal decomposition principle: the ‘cell’ is explained in the light of the vertex-based

boundary model the ‘zone’ is terms of its horizontal decomposition of as

a collection of cells.

Solid Face Edge Node

Point cell Curve cell Surface cell Body cell

a) topology

b) parametric dimensions

Figure 4: Cell classification

2.1.1. Cell class A ‘cell’ is the smallest identifiable element in/of a ‘zone’: it can be seen as the ‘minimal zone’, i.e. as a zone that consists of just one cell. Hence, the 3D-cell represents the smallest element of the 3D Euclidian space. In the same way as a 3D-cell defines the smallest 3-dimensional volume, the 2D-cell defines the smallest surface area in two dimensions, and 1D cell defines the smallest curve in the plane. Cells of parametric dimension equivalent to the zone cannot be decomposed further without introducing additional nodes. Hence the ‘cell’ is the simple-connected manifold of a modeled geometry [9] compose the curve, surface or space Zone. The ‘cell’ is defined in the modeling and in the parametric space where the mapping functions are known, as described in section 2.2.1 Isoparametric mapping and shape functions. These mapping functions are used to calculate the cell properties at any arbitrary cell point.

The cell concept is used in the Finite Element Method (FEM) (Zienkiewicz [10][11]) and in Computational Fluid Dynamics (CFD) (Hirsch [12][13]). The special types of elements, called ‘iso-parametric elements’, are applied in this paper to support the Cell modeling. The modeling dimension is the number of coordinates required to specify a point in the Euclidean space. The iso-parametric mapping is defined for each cell type (see Section 2.2.1). The parametric dimension is defined by the cell itself as 1D for curves, 2D for surfaces and 3D for solids. Since the cell is a finite part of an infinite region, it does not consist of the entire curve or surface, but only of a trimmed region (see Figure 4). The cell types may be distinguished by:

4 Copyright © 2009 by ASME

TOPOLOGY: - number of nodes: 1, 2, . . . N - skeleton: recursive structure of boundary cells

GEOMETRY: - modeling space:

node coordinates: 0D:(0), 1D:(x), 2D:(x,y) or 3D:(x,y,z) - parametric space:

node coordinates: 0D:(0), 1D:(u), 2D:(u,v) or 3D:(u,v,w) - mapping function: transformations between modeling and

parametric spaces - interpolation function: inside modeling or parametric

space

Cell

SegmentTriangle VertexTetrahedron

Cell 3DSolid

Skeleton

M

1

S

QuadrilateralPentahedronHexahedron Piramid

composed ofpart of

M

M

S

S

Cell 2DFace

S

Cell 0DNode

Cell 1DEdge

composed ofpart of

composed of part of

composed of part of

S

Figure 5: Cell model

The cell is called 0D, 1D, 2D or 3D in accordance with the cell parametric dimension which describes the region of a point, curve, surface or body (see Figure 4(b)). The cell boundaries are defined as cells of lower dimension in respect to the cell they bound (see Figure 4(a)): they delimit the cell region from the underlying Map. For example, three edges of parametric dimension 1D bound the face of topological dimension D2. Thus, 1D-curve cells bound 2D surface cells. The edges are defined as regions with infinite line maps bounded by respective nodes.

A cell is defined by a set of nodes: it represents a bounded region of a geometrical space described by a boundary representation model (B-rep) model, defined in the indexing topology space. The same cell can be embedded in Euclidean spaces of different dimensions. A triangle is part of an infinite plane bounded by three lines; a tetrahedron is part of a 3D-space bounded by 4 planes. The same triangle could be embedded in the 3D space as a part of the tetrahedron B-rep. The definition of the lower-dimensional boundary cells (the ‘sub-cells’) provides an elegant recursive structure to describe a cell topology (see Figure 5), since boundary cells can in turn be defined by lower-dimensional boundary cells. The cell classification identifies possible cell types. A higher-dimension cell can always be described with cells one-dimension lower. This structure ends at 0-cell node. The sub-cell is a part of the boundary which defines higher-dimensional cells (named ‘sup-cells’). The sup-cell ‘knows’ which cells are its boundaries. For example, a tetrahedron is a 3D-cell bounded by four 2D-cells called ‘faces’. Each face is a 2D-cell bounded by tree edges. Each edge is a 1D-cell bounded by two nodes. Each node is a 0D-cell with no boundary.

The ‘composed of’ relationship is the main relationship used to decompose a cell in its vertex-based B-rep: it shows the cell identification path that goes from a cell of higher dimension (3D-cell) to a cell of lower dimension (OD-cell). The ‘part of’

relationship is the inverse relationship; it identifies the sub-cells which can define more than one sup-cell. For example, a ‘face’ is ‘composed’ of ‘edges’ and an edge can define 2 faces as part of the relationship. Both relationships define a collection of cells. In our case the composed of relationship is chosen for the implementation and the part of relationship is calculated from the composed of relationship, when necessary.

Figure 6: 3D Cell topologies It is convenient, because of the variety of cell types, to group cells according to topology (number of cell nodes), geometry (parametric space) and interpolation functions. Topology permits to describe uniquely, for example, a 3D-grid as collection of nodes, edges, faces or 3D-cells. The thesis describes in details the 3D cells: hexahedrons, pentahedrons, pyramids and tetrahedrons and 2D cells (quadrilaterals and triangles). For each cell type, the cell skeleton is defined and shown in appropriate cell tables. The skeleton provides an easy way to traverse the topology of an object in a dimension-independent manner. A skeleton of specific dimension defines a set of cells. For example, consider the pyramid:

the 0-skeleton are the five nodes, the 1-skeleton are the eight edges, the 2-skeleton are the five faces.

By convention, the local coordinate system of a cell is in parametric space: its origin is at the first cell node, and the coordinate axes are defined based following the local node indexing within the cell, as described under the Coordinate System header in each skeleton table. The orientation of the cell boundary is considered positive if its face normal points from the interior of the cell to the exterior. A cell is always

tetrahedron

pyramid

pentahedron

hexahedron

e3

e4

e7

f1e2

e0

e1e3 f0

e0

e5

e4

f2

e2

e6e7

f4

e1

e6

e5

f3

e1e3

e5

e7 e6

e2

e0

e4

n4

n0 n1

n2

n3

v

u

w

v

e3

e0

e2 e1

e5

n1

n2

n3

n0

w

u

e4

e0

e1e2

f0

e3e5

f1

e2

e0

e3

e4

f2

e1

e5

e4 f3

n4

n3

n1

e2

e0

n0

n2

n5

e8

e6

e4

e3

e1

w

v

u

e5

e7

e2

e1e0f0

f1

e2

e8

e5e3

e8

e7e6f4

e3

e0

e6

e4

f2

e5

e1

e7

e4

f3

n1

n5

n6n7

n3

n0

n4

n2

e8

e0

e4

e1

e9e11

e3

e10

e6

e2

u

w

ve5

f4

e2

e10

e6e7

f1

e11

e3e4

e7

f5

e10

e8

e9e11

e2

e0

e1e3 f0

e6

e1

e9

e5

f3

e0

e8

e4 e5f2

e7

5 Copyright © 2009 by ASME

embedded in a geometrical space of equal or higher dimension than the cell’s intrinsic dimension, and can be composed of cells of intrinsic dimension lesser than its own. The cell with lowest ‘0D’ dimension is a node. Any cell can be described by an ordered collection of nodes. The topology for nodes, edges, faces and cells is predefined for each cell type.

Table 1: The PYRAMID skeleton table

2.2. Algorithms The numerical treatment of the continuum model is based on interpolation methods, which are used in constructing new data points from the discrete set of known quantity fields’ points. The continuum data function is approximated with the interpolation formula, which is defined with the set of discrete numerical values. Some numerical simulations compute the solution at the cell nodes and the scientific visualization algorithms use interpolation formulas to define the solution, for example to find a scalar or vector data, at any desired location inside the cell. In this section the interpolation formulas are defined for the coordinate transformations, Jacobian matrices and Metric tensors, see Figure 7, for the selected cell types, see section 2.1:

1D segment U1 in E1,E

2,E

3

2D triangle, quadrilateral U2 in E2,E

3

3D tetrahedron, pyramid,

pentahedron, hexahedron U3 in E3

The interpolation is based on the parametric definition of the point location, including the mapping between the modeling and parametric space. Each cell has the following two important parameters:

• the dimension of the parametric space k. • the dimension of the modeling space n

The Euclidian space En with dimension n=1,2 or 3 is defined with variables x, y and z used as coordinates in the modeling space. The parametric space Uk with dimension k=1,2 or 3 is defined with variables u, v and w. The mapping from the parametric space U to the modeling space E is defined as:

nEk

Unk

A :

and in vector notation: x (x,y,z) = A [u (u,v,w)]

There are several geometrical variables, see Figure 7, which has to be defined for the mapping A, which represents the base for the coordinate transformation, and in addition, it is applied for the definition of the Jacobian matrix J and the Metric tensor G.

Parametric SpaceU3 Modeling SpaceE3

u

u(u,v,w)

P(u)

w

v

x

y

P(x)z

X (x,y,z)J

A

u

x = A (u)

G = JTJ

Figure 7: Coordinates transformations characteristics

It is assumed that the cell is simply connected, thus topologically, uniquely describing a single portion of the Euclidian space [4]. It is important to note that the topological structure of the cell, named cell topology is preserved by the mapping A. The cell is a closure of an open connected set and it is assumed to be a closed including its boundary Uk. This means in particular that the cell nodes are included in the mapping. The cell boundaries in the parametric cell space Uk are aligned with the constant coordinate axis or lines/planes with unit normal n(1,1,1). Before the mapping A is derived, a cell in modeling space must be numerically specified with all its constituting nodes. The cell boundary Uk must be given in order to define the boundary mapping as: n

knk EU:A

before the extension to the cell interior is done. Each point in the parametric space U is mapped to a unique point in the modeling space E. Thus, for every point u Uk, there exist a unique point x En and for every point x En, there exist a unique point u Uk. Such mapping is smooth and non-singular within the cell and preserves in addition the cell orientation. As it could be noted, the superscript and subscript indexing notation was used in this section to indicate the contravariant and covariant nature of respective coordinates transformations to keep it general [14]. From now on, we assume that the applied coordinate systems are orthogonal, which yields that the respective contravariant and covariant coordinates are equal, and we used only the subscript indexing.

2.2.1. Isoparametric mapping and shape functions

The isoparametric mapping A is based on simple products of Lagrange polynomials in the parametric cell space U supported by values defined at cell nodes:

f = A(u) =

M

1iNi i

f)(h u

where M is the number of cell nodes and (fN )i are the nodes coordinates or solution.

1D: segment

A 110

1

0

1

0

uaauafh i

ii

Ni

ii

= a0 + a1 u

Mesh type : unstructured Cell topology : PYRAMID 3D

Coordinate System

Edges 7

Nodes 5

Faces 5

Nodes 5

Cell 1

Nodes 5

Axis3

Nodes5

0 0-1 0 0-1-2-3 T3N5 0-1-2-3-4 u 0-1

1 1-2 1 0-4-1 v 0-3

2 2-3 2 1-4-2 w 0-4

3 3-0 3 2-4-3

4 0-4 4 3-4-0

5 1-4

6 2-4

7 3-4

6 Copyright © 2009 by ASME

A = h0 f0 + h1 f1 where h0 = 1 - u h1 = u

and after simple algebraic manipulations, the a coefficients are defined as:

a0 = f0

a1 = f1 - f0

A = a0 + a1u This is the isoparametric mapping for segment cell. Follows the derivation of the isoparametric mapping for 2D cell types:

A i)

sri

3

2sr0i

3

0ii

)(i vu(afh

u

2D: quadrilateral h 0 ≡ h00 = (1 - u ) (1-v ) h1 ≡ h10 = u (1 - v) h2 ≡ h11 = u v h3 ≡ h01 = (1-u) v

and after simple algebraic manipulations the mapping coefficients are

a0 = f0 a1 = f1 - f0 a2 = f3 - f0 a3 = f0 - f1 + f2 - f3 = - a1 + f2 - f3 A = a0 + a1 u + a2 v + a3 u v = a0 + u (a1 + a3 v) + a2 v

The isoparametric mapping A for triangles is a degenerated case of the quadrilateral one, where the shapes function of the dummy node hD ≡ h11= 0 annihilate the influence of the a3 coefficient. The coefficients for 2D triangle follow:

a0 = f0 a1 = f1 - f0 a2 = f2 - f0 hD ≡ h11= 0 u v a3 = 0 A = a0 + a1 u + a2 v

The most complex isoparametric mapping in the context of the presented Cell classes is the 3D mapping of the hexahedron.

A ≡

7

0

)(

iii fh u

This mapping is fully developed before the specific mappings for tetrahedron, pyramid and pentahedron, cells as they are degenerated cases of the hexahedron one. The shape functions for each node are defined in Table 2, and the mapping A is:

A = a0 + a1 u + a2 v + a3 w + a4 u w + a5 u w + a6 v w + a7 u v w

From the Table 2, the coefficients are calculated from the node values f and after simple algebraic manipulation they are defined as:

a0 = f0 a1 = f1 - f0 a2 = f3 - f0 a3 = f4 - f0 a4 = f0 - f1 + f2 - f3 = - a1 + f2 - f3 a5 = f0 - f1 - f4 + f5 = - a1 - f4 + f5 a6 = f0 - f3 - f4 + f7 = - a2 - f4 + f7 a7 = - f0 + f1 - f2 + f3 + f4 - f5 + f6 - f7 = - a4 + f4 - f5 + f6 - f3

Table 2: Shape function for 3D isoparametric mapping

The coefficients are grouped to reduce the number of multiplication operations as: A = a0 + u [a1 + v (a4 + a7 w) + a5 w] + v (a2 + a6 w) + a3 w

The 3D cells are always embedded in the hexahedron. As mentioned, degenerated cases of the hexahedron are tetrahedron, pyramid and pentahedron cell. The shape functions hi, containing the non existing nodes, which are removed from the isoparametric mapping A by making them equal to zero. For example, for the tetrahedron the existing nodes are 0, 1, 3 and 4 of the hexahedron, thus the shape functions h2, h5, h6, h7, are zero, see Table 2:

h2=0 h2= u v – u v w from h6= u v w = 0 u v = 0 h5=0 h5= u w – u v w from h6= u v w = 0 u w = 0 h6=0 h6= u v w u v w = 0 h7=0 h7=v w – u v w from h6= u v w = 0 v w = 0

n2

n1

n3

n0

w

v

u and the coefficients are:

a0 = f0 a1 = f1 - f0 a2 = f3 - f0 a3 = f4 - f0

In the tetrahedron node notation the coefficients are: a0 = f0 a1 = f1 - f0 a2 = f2 - f0 a3 = f3 - f0

and the mapping is A = a0 + a1 u + a2 v + a3 u v

2.2.2. Jacobian matrix The modeling space E is discretized with an arbitrary set of cells and it is global to all of them. The parametric space U is local to every cell. The isoparametric mapping A, applied to a point P, transforms its parametric coordinates u to modeling coordinates x. The cell coordinates are used as mapping support, equation and the mapping A becomes the coordinate’s transformation x(u), see Figure 8.

x xi ( u, v, w ) i = 1, 2, 3

Shape function 1 u v w uv uw wv uvwh0 h000 (1 - u) (1 - v ) (1 - w ) + - - - + + + -h1 h100 u (1 - v) (1 - w) + - - +h2 h110 u v (1 - w) + -h3 h010 (1 - u) v (1 - w) + - - +h4 h001 (1 - u) (1 - v) w + - - +h5 h101 u (1 - v) w + -h6 h111 u v w +h7 h011 ( u - 1 ) v w + -

u

f1

n1n0

f0

7 Copyright © 2009 by ASME

P(u,v,w)

z

x

Parametric space U3 Modeling space E3

x(u)

y

ev

eu

ew

u(x)

0v

w

u

ev

eu

ew

1

1

1

0

P(x,y,z)

ey

ex

ez

1

1

1

Figure 8: Coordinates transformation

Such mapping hasn’t much value if the inverse mapping A-1, denoted u(x) doesn’t exist. The mapping u(x) allows backward coordinates transformation to the parametric space, as shown in Figure 8.

u ui ( x, y, z ) i =1, 2, 3

and can be found if x is single valued and continuously differentiable in the neighborhood of a point P. Thus, provided that Jacobian matrix

u

xJ

has the Jacobian J which exists and doesn’t vanish. This implies the existence of the inverse J -1. J is calculated from A, see first equation in section 2.2.1, as

J u

uA

u

x

For the cell origin J is defined with cell base vectors [eu, ev, ew], see Figure 8., as

zzz

yyy

xxx

wvu

wvu

wvu

wvu

eee

eee

eee

,, eeeJ =

In E3 the triad [eu, ev, ew] serves as a basis for U3 provided that they are not coplanar.

eu(eu ew)0

The three unit vectors have each, only one non vanishing component in U3

eu e(1)= (1,0,0)

ev e(2)= (0,1,0)

ew e(3)= (0,0,1)

The suffixes to the e are enclosed in parenthesis to show they do not denote components. The j-th component of e(i) is denoted by e(i)j and satisfies the following relation

e(i)j=ij I

In U3 any vector a can be expressed in the form

a= ai e(i)

and the summation convention is also applied to suffixes enclosed in parentheses.

Isoparametric mapping for quantities is important, as it allows combined treatment of quantities interpolation and mapping between parametric and modeling coordinate’s spaces. When the modeling quantities have to be manipulated and therefore be defined in both coordinate spaces, the knowledge of J is required to define the quantity components in both spaces, while the quantity itself is invariant. These characteristics are used for vector line algorithm; see section 2.2.5, when the integration of the particle path is performed through the parametric vector field. Another application of the Jacobian occurs in the calculation of derived quantities, for example vorticity, is another application of the Jacobian matrix. Follows the derivation of Jacobian matrices for predefined cell types:

Jacobian 1D matrix:

uu

AA

=J1D

1D segment A = a0 + a1 u

1a

u A

=JT1N2

Jacobian 2D matrix:

vu

AA

u

A=J 2D ,

2D triangle

A = a0 + a1 u + a2 v

21 , a

va

u

AA

=JT2N3

2D quadrilateral

A = a0 + a1 u + a2 v + a3 u v

uaa

vvaa

u 3231 ,

AA

=JT2N4

Jacobian 3D matrix:

wvu

AAA

u

A=J 3D ,,

3D hexahedral

A = a0 + u [a1 + a5 w + v ( a4 +a7 w)]

+ v ( a2 + a6 w ) + a3 w

wvu

AAA

=JT3N8 ,,

8 Copyright © 2009 by ASME

u

A a1 + a5 w + v (a4 +a7 w)

v

Aa2 + u ( a4 + a7 w) + a6 w

w

A a3 + a6 v + u (a5 + v a7)

3D tetrahedron

A = a0 + a1 u + a2 v + a3 w

321 ,, a

wa

va

u

AAA

=JT3N4

3D pyramid

A = a0 + (a1 + a4v) u + a2v + a3w

34241 ,, a

wuaa

vvaa

u

AAA

=JT3N5

3D prism

A = a0 + u (a1 + a4w) + v (a2 + a5w) + a3 w

vauaa

wwaa

vwaa

u 5435241 ,,

AAA

=JT3N6

2.2.3. Metric tensor The metric tensor is one of the basic objects in differential geometry [14] and it is related to geometrical properties such as length, area or volume, respectively in 1D, 2D or 3D coordinate space. It is the ratio between the two coordinate systems for which the isoparametric mapping A and the Jacobian matrix J are defined. The metric tensor G can be written as

G = JT J This relation is important in the case when parametric and modeling spaces differ in dimension. For example, when a quadrilateral cell is placed in the 3D modeling space the Jacobian matrix is not of the square type:

J

v

z

u

zv

y

u

yv

x

u

x

This is a significant inconvenience for the calculation of the inverse Jacobian matrix J-1, as in general J is a rectangular matrix. Let us consider its Moore-Penrose generalized inverse J†, see [16] for equalities on generalized inverses. The metric

tensor G = JT J is square and regular, thus its generalized inverse is equal to its ordinary inverse, so that

G -1 = (JT J) †

G -1 = J† (J†)T

G -1J T= J† (J†)T J T

G -1J T = J† (J J†)T

G -1J T = J† J J†

G -1J T = J†

The inverse of the metric tensor G -1 can be explicitly calculated being by definition the square type matrix:

G = {gij}

where,

gij kjiu

x

u

x

j

kn

k i

k

,1,1

or in the vector notation: uu1

xx vu 2

xx

gij =ji uu xx

The definition in vector notation shows that gij is the dot product of the tangent vector of i-th coordinate axis with the tangent vector of the j-th coordinate axis analyzed from the modeling coordinates space.

n

n0

u

n

v

u

0

y

v

1

2x v

xu

3

n3

n2

n1

x

z

Figure 9: Surface normal and quadrilateral cell

The vector (cross) product of these two vectors xu, xv defines the normal n of the tangential plane at the cell node n0.

nvu

vu

xx

xx

The four nodes of the quadrilateral are defining the surface, see Figure 9. The surface point for which the normal exists is the regular surface point and has to satisfy the following condition:

x u x v 0

If the above condition is satisfied, the vectors xu and xv are not collinear and they define the tangential plane. If the condition is not satisfied the surface point is singular and the Jacobian of such coordinates transformation is zero. Following the equation 1.3.1-41 the transpose Jacobian matrix is:

J T

v

z

v

y

v

x

u

z

u

y

u

x

9 Copyright © 2009 by ASME

and applying it to the equation 1.3.1-40 , we obtain the following expanded form:

G=JTJ

222

222

v

z

v

y

v

x

v

z

u

z

v

y

u

y

v

x

u

x

v

z

u

z

v

y

u

y

v

x

u

x

u

z

u

y

u

x

From which the G -1- can be calculated, and thus we have defined all the elements for calculating J†in the equation 1.3.1-42.

Some additional characteristics of the Jacobian matrix and Metric tensor determinants, defined as

G =G

and, if the Jacobian matrix is of the square type, the metric G is defined explicitly with the Jacobian J as

J =J, G = J2

For example, the calculation of cell length L, area A and volume V is possible by knowing the Jacobian of isoparametric mapping:

volume area length

J0dV

dV J

0dA

dA J

0dL

dL .

2.2.4. Derived Quantity The derived quantities are the ones, which we are able to compute from the available data provided by an Input Model. As the inputted data are usually coordinates, scalar and vectors, by simple algebraic operations we can add, subtract, multiply and divide the existing quantities, defined as Unary Operations, for which a constants can be introduced, for example when scaling the coordinates. We can also consider Binary Field Operations when we use multiple quantities in an algebraic expression. In this section we describe the isoparametric numerical model of the cell to be applied when Gradient, Divergence and Curl operators are computed for the related scalar or vector quantity field.

The scalar function S of position s when gradient operator grad ( ) is applied to it produces a vector s.

zyx z

s

y

s

x

ssgrads eeev

There is also a need to calculate partial derivates of the quantity, as divergence:

v.s div v = z

v

y

v

x

v zyx

The important physical meaning for the divergence of the velocity field v is that it represents the relative rate of the space dilatation when computed along the particle trace. Consider the cell around the point P. By the fluid motion this cell is

moved and distorted. As the fluid motion cannot break up by the continuity law its volume dV0 =J dV and hence:

J = )(

)( 0

tdV

tdV

defines the ratio of the cell volume at beginning and time t, called the dilatation or expansion [14].

Suppose a velocity vector field v(x) defined in a 3D Euclidian (modeling) space. The vorticity field (x) is the circulation of the velocity field v around a cell area taken perpendicularly to the direction of ., and is obtained by computing at each point the curl of the velocity field v.

= curl v

z

yzx

v

y

v

,x

zxy

v

z

v

y

v

x

vz

xy

Analytical Model

If v is given as function in the parametric coordinate system u(u,v,w), with a well know link to modeling space x(x,y,z) trough isoparametric mapping, see section 2.2.1. The components of the velocity vector v can be written as:

)]w,v,u(v),w,v,u(v),w,v,u([v=)( zyxuv

and by the law of partial derivation, applied to Jacobian matrix:

j

ii

jj

i

x

v

dt

ud

xx

u

dt

d

dt

d

1-J , i,j = 1,2,3

and defining the partial derivative of the vector component along the modeling coordinate axis:

j

k

k

i

j

i

j

i

j

i

j

i

x

u

u

v

x

u

u

v

x

u

u

v

x

u

u

v

x

v

3

3

2

2

1

1

where u(u1, u2, u3 ) u(u, v, w)

and for the specific case z

vy

z

w

w

v

z

v

v

v

z

u

u

v

z

v yyyy

or putting it into the form of matrix multiplication

1-Ju

v

x

v

and expand the notation

z

w

y

w

x

wz

v

y

v

x

vz

u

y

u

x

u

w

v

v

v

u

vw

v

v

v

u

vw

v

v

v

u

v

z

v

y

v

x

vz

v

y

v

x

vz

v

y

v

x

v

zzz

yyy

xxx

zzz

yyy

xxx

10 Copyright © 2009 by ASME

The components of the x

v

matrix are applied in the

equations for gradient divergence and vorticity. The remaining

part u

v

is calculated locally for each cell node when the

inverse of Jacobian J exists.

Numerical Model

The velocity field is given at cell nodes and for each node

u

v

u

v

components are calculated for all cell types.

1D segment 010,1 vv)

u

v(

2D triangle

0i2ii

0i1ii

)v()v(v

v

)v()v(u

v

0i1ikj

i )v()v()u

v(

2D triangle

n0 n1

n2

w

u

0v2v

v

0u2uu

0v1vv

0u1uu

)v()v(v

v

)v()v(v

v

)v()v(u

v

)v()v(u

v

j

k u

vi

v

vi

0 1-0 2-0

1 1-0 2-0

2 1-0 2-0

2D quadrilateral

n2

n0 n1

n3

v

u

1i2i

1,2

i

0i3i0,3

i

3i2i3,2

i

0i1i0,1

i

)v()v(v

v

)v()v(v

v

)v()v(u

v

)v()v(u

v

j

k u

vi

v

vi

0 1-0 3-0

1 1-0 2-1

2 2-3 2-1

3 2-3 3-0

3D tetrahedron

n2

n1

n3

n0

v

u

w

j

k u

vi

v

vi

w

vi

0 1-0 2-0 3-0

1 1-0 2-0 3-0

2 1-0 2-0 3-0

3 1-0 2-0 3-0

3D pyramid

n2

n1

n3

n0

n4

w

v

u

j

k u

vi

v

vi

w

vi

0 1-0 3-0 4-0

1 1-0 2-1 4-0

2 2-3 2-1 4-0

3 2-3 3-0 4-0

4 1-0 3-0 4-0

3D pentahedron

j

k u

vi

v

vi

w

vi

0 1-0 2-0 3-0

1 1-0 2-0 4-1

2 1-0 2-0 5-2

3 4-3 5-3 3-0

4 4-3 5-3 5-2

5 4-3 5-3 5-2

3D hexahedron

u

w

n5

n3

n1

n0

n2

n7

n4

j

k u

vi

v

vi

w

vi

0 1-0 3-0 4-0

1 1-0 2-1 5-1

2 2-3 2-1 6-2

3 2-3 3-0 7-3

4 5-4 7-4 4-0

5 5-4 6-5 5-1

6 6-7 6-5 6-2

7 6-7 7-4 7-3

2.2.5. Particle Trace Algorithm Scientific visualization tools for particle tracking apply algorithms, which difference comes from the calculations space (modeling or parametric) in which the integration is performed. If the calculation is made in the parametric space [17][18] the particle trace points are found through the mapping coefficients, which relates parametric and modeling space. As these coefficients are computed in the parametric space, they imply the calculation of Jacobian matrices. The described particle trace algorithm [21], named also Vector Line algorithm can be applied to the vector fields defined on structured and unstructured mashes. A vector line is an imaginary curve where a direction at any of its points is the direction of the vector field at these points. Vector lines never intersect, because a point in the vector field can have but one direction, only one line can pass through it. It is assumed that the vector field is stationary, continuous and single valued and that the particles are mass less. The mathematical concept of the particle motion is described by a point transformation of the particle position x during time t, see Figure 10. Consider the point P in a vector field v. The vector line through the point is a general 2D/3D curve. The position vector x gives the location of P as a function of some parameter t that varies

n0 n1u

11 Copyright © 2009 by ASME

along the vector line. The tangent to the curve at P determines the vector line

dt

dxv [x(t)] (1)

The numerical integration takes into account the discrete points of the computational grid which defines the vector field v. Each vector line is a solution of the initial value problem governed by a vector field v and an initial seed point x0. This curve is depicted by a ordered set of points (x0, x1, x2 ... xn) defined by

1+i

i

t

t

1i (t)]dt[ xv+xx

(2)

Adjacent points are connected and define the curve geometry which is displayed. The Vector Line representation can be applied to surface and volume vector fields defined in 3D space. Thus, there are two different vector line algorithms: one for the treatment of volume vector fields, and another for the treatment of surface vector fields. For example, the last one can be applied to cutting plane and isosurface vector fields. The flow in the surface is taking into account the projection of the tangential component of the velocity field. The following two sections treat these two aspects.

x(t+dt)

x(t)dt

v(x)

dx

Pi(t)

Pi+1(t+t)

vector line

x i+1

vi(x)

x

x i

t

xi+2

Pi+1(t+dt)

analytical

xi-1

0

numerical

Pi(t)

Figure 10: Tangency condition for the vector line analytical and

numerical treatment

The vector lines are the solutions x(t)=[x(t),y(t),z(t)] of the system of ordinary differential equations, see equation (1). The value of the v(x) is defined by the interpolation algorithm local to a cell, which contains the point x, where the vector field v is described with a finite number of vectors vs given at cell nodes xs. The applied interpolation algorithm is the isoparametric mapping, as developed in section 2.2.1 for each cell type, where the vector field at an arbitrary point inside a computational cell is obtained by the interpolation in the parametric space, and transformed back to the modeling space as follows:

x(x,y,z) = A[u(u,v,w)]) (3)

The isoparametric mapping operator A defines the coordinates transformation of the vector line points from the parametric space (u,v,w) to the modeling space (x,y,z). The applied Runge-Kutta integration method [22], explained in appendix

B, requires the parametric cell vector field g(u,v,w) at the specified point inside the cell. The application of the equation (3) to the vector line's equation (1) in the parametric cell space leads to the following result:

dt

)(d uA v [A(u)] (4)

which is equivalent to:

dt

dug[u(t)] (5)

With

g(u)=J -1(u) v[A(u)] (6)

and the Jacobian J of the isoparametric mapping A:

J(u) u

A

(7)

The equation (1) is computed with interpolated values from g(u). The parametric vector field g(u) is computed for each cell node and applied for the definition of the inverse mapping J-1. The isoparametric algorithm is efficient when processing:

• the vector value at the point inside the cell, requires J-1,

• the point inclusion test that defines if a point is located inside the cell, requires A.

The point inclusion test is efficient because the cell boundaries are planes or lines aligned with main coordinate axis of the cell parametric space. The conditions that the mapping A and J-1 exists are:

• the vector field v should be single-valued, i.e., when the mesh contains singular points (several different grid points occupy the same location in space) a numerical solution has to ensure that these points have identical values for v.

• The Jacobian matrix J must be non-singular in order to be inverted.

• The mapping for the right hand side of equation (6) calculating g(u) must guarantee enough continuity for the solution of u(t) throughout the approximation of J.

• Continuity should be ensured across two cells. This is satisfied with the piece wise (cell-by-cell) isoparametric mapping. It must be noted that too distorted cells must be avoided.

Let xs be the cell nodes associated with vector field vs in modeling space, and let Ui be the cell parametric space (u,v,w), oriented according to the right-hand side rule so that the cell boundary normal point outwards the cell. The vector line algorithm consists of the following steps:

1- find seed cell Ui for the given (xo,yo,zo)

2- find seed point (uo,vo,wo), in Ui

3- define isoparametric mapping A for Ui

4- define Jacobian Js for each of the cell nodes for the mapped cell vector field gs=(J -1)svs.

12 Copyright © 2009 by ASME

5- define isoparametric mapping A-1 for Ui

6- integrate the vector field equation g applying the isoparametric mapping A-1. The integration is performed by a fourth order Runge-Kutta method in the parametric cell space Ui. The integration is continued until the vector line crosses a boundary of Ui.

7- find the intersection of the vector line u with the cell boundary Ui. The intersection point becomes the last point of the vector line u local to cell.

8- map the vector line u to the modeling space x=A(u).

9- find the neighboring connected cell Uj.

If the connected cell Uj is found, reuse the intersection found in step 7 as the first point of the vector line and replace Ui =Uj. Repeat steps 3-9.

If the connected cell Uj is not found the mesh boundary is reached and the vector line algorithm stops.

The algorithm described above allows computing a vector line starting from some initial position xo in modeling space. However, it is common to compute the vector line which reaches a given point in modeling space. Usually, a vector line is computed over the complete mesh. For example, a trace that consists of the vector line that reaches point xo together with the field line that starts from xo. To compute the field line that reaches xo one simply computes a vector field line starting from xo but with a minus sign in the equation (1):

dt

dx-[v(x)](t) (8)

with solutions x(t)=(x(t),y(t),z(t)). The overall result of the vector line algorithm consists of two distinct segments of the vector field line, representing the forward and backward sweep respectively. The vector line algorithm has following important issues:

identification of seed cells and points

integration step magnitude

integration break

mapping of parametric coordinates based on cell connectivity

Initial seed cell and seed point location are found with the point location algorithm [1]. Given the coordinate x0 of the seed point, its corresponding coordinates in parametric space are found. To calculate u0 (uo,vo,wo) from x0 = A(u0), the nonlinear system of equations is solved using Newton-Raphson’s method. Since the mapping A is isoparametric, the system of equations has only one solution and Newton-Raphson’s method, see Appendix A, can safely be used. The integration of the interpolated g within one cell Ui is performed by a fourth order Runge-Kutta method, see Appendix B. It is carried out in the (u,v,w) coordinate system from the first point in the new cell to where the integrated vector line point leaves the cell. An average velocity g is defined from velocities defined in cell vertices as

N

1iigg (9)

The integration step t is calculated for each cell so that approximately M steps are taken in the cell. The M parameter can be interactively adjusted by the user then a step size t is given by:

tgM

1 (10)

Figure 11: The map of a cell boundary point between connected cells in 3D

Experiments have confirmed good results with M=4 or M=5. The different reasons, for which the vector field line algorithm (page 114) has to be stopped, are called integration breaks, and they are activated when:

vector line reaches the grid boundary (step 9) number of vector line points have been exceeded number of vector line points per cell have been

exceeded The Jacobian matrix J is singular (step 5), thus, the

mesh contains a degenerate cell. The point location and moving the parametric point from one cell to another is accomplished by applying the cell connectivity and the imposed orientation of the cell faces defined for each cell type, see Figure 13. The objective is to avoid the computation of the point parametric coordinates ones the vector line points are mapped to the modeling space. As the vector line exit point is known applying the point location algorithm, the parametric coordinates of the point on the cell boundary can be viewed from both connected cell. The mapping is done in following steps as shown in the Figure 11 and Figure 12:

map the cell parametric coordinates to the boundary, which results in lowering the parametric dimension.

swap in orientation of parametric coordinates between connected boundaries

map the cell boundary parametric coordinates to cell, which results in raising the parametric dimension.

The important precondition is that the cell topology for the whole domain is completely defined. The local parametric cell coordinates are transformed when passing the interface between two cells without the necessity to find the interface point in the global grid coordinates avoiding Newton-Raphson’s method to find the point location in (x,y,z).

The mapping is based on following steps:

13 Copyright © 2009 by ASME

P(u, v) I cell out A(T(u1,v1)) 1uT interface I cell

2uT interface II cell in )u(TB T(u1, v1) II cell

1. 11 v,uTAuT 2. uTBuT

3. uTCv,uT 22

Figure 12: The map of a cell boundary point between connected cells

in 2D

The generic algorithm is based on A,B,C mapping, which are defined separately for each cell type involved. The solution provides the required flexibility to support heterogeneous cells without complicating the generality of the algorithm. The ability to change A,B,C at run time without the requirement to change the general algorithm and the ability to allow the programs to be fine turned after it is up and running (interactive turning).

(#cell type, #inter face) (#cell type, #cell side)

111 ,,, wvuTAvuT

vuTBvuT ,,

vuTCwvuT ,,, 222

Table 3: The mapping procedure of a cell boundary point between connected cells in 3D

In the first phase the point must be defined in (u, v) coordinates local to the face. This is handled with the A set of functions, see Table 3, where w coordinates are always zero as they are part of the cell faces. If that is fulfilled the intersection of the vector line with the cell edge end face is found. This algorithm includes the identification of cell edge, which is used to identify the next cell and thus maintain the C0 continuation of the vector line. Each cell which is holding the vector line has at least one interior and exit point. This is just not true for the cells in which the vector field vanishes.

The surface vector line algorithm requires the same steps as the space vector line algorithm, in order to calculate the surface particle traces. What makes it different is that the volume vector fields are projected to the tangential plane of the surface points, which are defined for the created or inputted zones. The isoparametric mappings for surface cells are derived from section 2.2.3 where maps between 3D modeling and 2D parametric space require particular treatment, for the calculation of the inverse Jacobian matrix.

f0

u

v

v

uf1

f4v

u

f2

u

v

f3v

uu

v

w

f1

v

u

f0v

u

f2

v

u

f4v

u

f3

v u

u

vw

f1

v

u

u

vw

f0u

vf2

v

u

f3 uv

v

uf4

v

u

f1

f5v

u

f0v

uf3

v

u

f2

v

u

u

vw

Figure 13: The cell boundaries parametric space in 3D

3. ONTOLOGY-BASED APPROACH

Most 3D visualization environments are composed of low-level geometric elements like cell nodes or in the more complex solution objects that are belonging to the family of NURBS surfaces. Nevertheless, those simple or complex objects represent building blocks used by expert modelers for assembling other more sophisticated objects and final creation of 3D world. Sadly, while the final user recognizes such 3D world by association of its visual properties there is no way to deduct high-level description and background knowledge information that those objects should contain [24].

Modeling tools themselves obtain simply a sequence of rendered views for the models providing none or limited information about their semantics. The absence of any high level semantic description of such elements represent disadvantage of 3D world representation. Advantages of semantically enriched 3D environment would be in extraction and search of objects, classification and creation of reusable knowledge and integration of multidisciplinary engineering workflows. It has been recognized in many cases that ontologies are appropriate for knowledge encoding within different systems. Also, it has been noted that the application

14 Copyright © 2009 by ASME

of general-purpose ontology reasoners is very beneficial since in that way the knowledge becomes more sharable and maintainable. The possibilities of using the reasoners in specific cases has been widely explored and tested.

Semantic web ontology language OWL has recently emerged as de-facto standard for intelligent applications that utilize the ontologies as knowledge formalization tool [23]. OWL, in combination with the some rule language and with domain-independent reasoners, provides a generally recognized expert system development framework.

Our driving force is to enable machine readable format and delegate many human specific activities to computers. XML standard is base on which all semantic web technologies rely on. We see possibility of binning graphical presentation (X3D) with its semantic description (RDF, RDF Schema and OWL) by use of XSLT style sheets.

3.1. Semantic model

We would like to apply an iterative approach to ontology development: we should start with a rough first pass at the ontology, then revision and refinement the evolving ontology is to be done and filling in the details. After that, discussion is in order for possible rearrangements and implications of different solutions.

First, we would like to emphasize some fundamental rules in ontology design to which we will refer many times. These rules may seem rather dogmatic. They can help, however, to make design decisions in many cases:

1) There is no one correct way to model a domain— there are always viable alternatives. The best solution almost always depends on the application that you have in mind and the extensions that you anticipate.

2) Ontology development is necessarily an iterative process.

3) Concepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interest. These are most likely to be nouns (objects) or verbs (relationships) in sentences that describe your domain.

They help us in deciding for what to use the ontology modeling, and how detailed or general the ontology is going to be. These rules will guide many of the modeling decisions for our ontology-based approach. Among several viable alternatives, we need to determine, which one would work better for the envisaged tasks, in order to be more intuitive, more extensible, and more maintainable. We also need to remember that ontology is a model of the real world concepts and the ontology is there to reflect this reality. After we define the initial ontology, we can evaluate and debug it by using it in applications or problem-solving methods or by discussing it with experts in the field, or both. The result will be that almost certainly the initial ontology needs to be revised. This process of iterative design will likely continue through the entire lifecycle of the ontology modeling. In practical terms, developing of the ontology includes: defining classes in the ontology, arranging the classes in a taxonomic (sub–super class)

hierarchy, defining slots and describing allowed values for these

slots,

filling in the values for slots for instances.

We can then create a knowledge base by defining individual instances of these classes filling in specific slot value information and additional slot restrictions.

3.2. Knowledge modeling

Virtual environments are mostly conceptualized through objects that can be divided in geometric objects and semantic objects. Geometric objects represent X3D primitives as for example box node or composite objects obtained by aggregating such basic components. Further, one or more geometric objects can be associated to a semantic object (such as metal container), which is an entity that has a specific meaning shared by final user of the environment. Therefore, semantic object hierarchy is needed in order to create its descriptive ontology. The lowest level should be basic objects from which whole 3D environment could be created. Small example is given in Figure 14 where it is shown that cell is basic element for constructing 1, 2 or 3D space.

Figure 14: Part of hierarchy for constructing objects

Of course, association of geometric object and its semantic meaning is main goal of our approach. Since X3D file contains description of the geometry of 3D environment, we could include semantics to the object by adding metadata. RDF Schema file would than define relations different classes of semantic objects.

The association of geometry object to its semantic meaning could be done through nodes a MetadataSet node that describes the semantic properties of the object. The MetadataSet field name is used for identifying the class of the object (e.g. the class container) while the field reference specifies the identity of the object itself (e.g. container001) and must be unique. MetadataString declares the relation of containment with higher level object. This is small example how it should be implemented:

<Transform DEF=’box’> <MetadataSet

name=”container” reference=”container001”> <MetadataString

name=”isMadeOf” value=”metal”/> … </ MetadataSet> <Shape DEF=’box’> … </ Shape > </ Transform>

Finally, the semantic annotations introduced in the document will be associated to the external domain specific ontology through Meta tag inserted into head section of X3D file:

15 Copyright © 2009 by ASME

<head>

<meta name=”ontology” content=”FEM_analysis.rdfs”/>

</head>

If we look further, next basic elements are zones that connect two or more cells. A Zone is a geometric concept that defines a portion of the Euclidian space; it is defined as an ordered collection of nodes (also known in mathematics as a PointSet). Since Zones are assembled from Cells, either in vertical or horizontal decomposition, there is a need of defining shared objects, i.e. shared cells, see section 2.1. Solution to this problem is in defining relations between basic fundamental objects which is possible through properties definition while creating ontologies. Some relations that will be defined are sharedBy (for example, one curve can be shared by 2 surfaces), containedBy (for example, 2D surface is contained by triangle) etc.

RDF Schema document describes relations between classes (for example, relationship sharedBy that describes intersections between elements) as well as classes of semantic objects contained in the X3D document. The name used for identifying the class of a semantic object in the X3D document (i.e. name field of MetadataSet node) corresponds to ID of the class in the RDF Schema file. The OWL elements than permit the use of restrictions for some classes and relations (for example, 1D curve cannot be createdFrom 3D solid, but can be containedBy).

If we look at the large picture, two domain-oriented ontologies can be associated to scene, depending whether we observe CFD or FEM object analysis. Of course, we’ll need to add a specific Meta tag within the X3D file, for each introduced ontology. So, association of metadata to the X3D scene is first part of semantic annotation that permits to add object specific high-level information that describes the properties of objects and relations existing between them. Further, we could apply semantic search engine to understand which kind of relations are possible in specific domain or which basic objects are needed for CFD or FEM analysis.

3.3. Ontology-based software architecture

From the point of view of end user, GUI component is coordinated by main VisOnt component whose main job is combining 3D scene rendering from given X3D file and coordination of other semantic components. Metadata extraction component extracts metadata form geometry using XSLT, than structure and information about domain component obtains semantic information from ontology using RDQL queries and crates rules for objects (for example, zone can contain one or more cells). VisOnt component is XML file that contains all relevant multilevel semantic information, which is presented to the end user through GUI interface with a possibility of new queries and different object analysis (for example, use can observe FEM analysis of rendered object and ask for CFD analysis and its differences).

For ontology creation we use Protégé [25], an open-source platform with a growing users and developers community. It comes with a suite of tools for the construction of domain models and knowledge-based applications using ontologies.

At its core, Protégé implements a rich set of knowledge-modeling structures and actions that support the creation, visualization, and manipulation of ontologies in various representation formats. It can be customized, to provide domain-friendly support for creating knowledge models and their population. Protégé has extendable plug-in architecture and a Java based Application Programming Interface (API) for building knowledge bases and related applications.

Ontology describes the concepts and relationships that are important in a particular domain, providing a vocabulary for that domain, as well as, a machine-readable specification of the meaningful terminology used in vocabularies. Ontologies range from taxonomies and classifications, database schemas, to fully axiomatic theories. In recent years, ontologies have been adopted in many business and scientific communities as a way to share, reuse and process domain knowledge. Ontologies are now central to many applications such as scientific knowledge portals, information management and integration systems, electronic commerce, and semantic web services.

Figure 15: VisOnto integration with XML technologies

The ontology development is initialized with the creation of classes. The OWL classes are interpreted as sets that contain individuals. They are described using formal (mathematical) descriptions that precisely state the requirements for the class membership. For example, the class Cell contains the individuals that are cells in our domain of interest, but individuals may belong to more than one class. Classes may be organized into the super-sub class hierarchy, which are also known as taxonomies. Subclasses specialize (‘are subsumed by’) their super classes. For example, consider the classes Zone in relation to the Structured and Unstructured zones.

Structured and Unstructured zones are subclasses of Zone (thus, Zone is the super class of Structured and Unstructured classes). We can conclude the following: ‘All zones are

16 Copyright © 2009 by ASME

structured OR unstructured’. Conjunction OR emerges from disjunction of these two classes. Having added the classes Structured and Unstructured to the ontology, we said that these classes are disjoint; meaning that an individual (or object) cannot be the instance of more than one of these two classes.

The next step in developing our ontology is to describe the OWL Properties, which define relationships within two main types: Object properties and Datatype properties. In addition, properties may have sub properties, giving possibility to define hierarchies of properties. Sub-properties represent specialization of their super-properties (as sub-classes are specialization of their super-classes).

For example, the property ‘composed_of_Cell’ might extend the more general property of ‘composed_of’. In our ontology, the properties ‘composed_of_2D_1D_0D’, ‘composed_of_1D_0D’ and ‘composed_of_0D’ should be created as sub properties of the ‘composed_of_Cell’ property.

The object properties are the relationships between two individuals. Each object property may have a corresponding inverse property. If the property links individual ‘a’ to individual ‘b’, the inverse property will link individual ‘b’ to individual ‘a’. For example, if ‘Cell_1D_Edge’ is ‘composed_of’ ‘Cell_0D_Node’, we can note the implication of the inverse property, and conclude that ‘Cell_0D_Node’ is ‘part_of’ ‘Cell_1D_Edge’. Another important modeling thing is defining the property domain and range. Properties also link domain individuals to range individuals. For example, in our ontology, the property “composed_of_0D” links individuals of the class ‘Cell_1D_Edge’ to individuals of the class ‘Cell_0D_Node’. In this case the domain of the ‘composed_of_0D’ property is ‘Cell_1D_Edge’ and the range is ‘Cell_0D_Node’.

Protégé allows using different OWL reasoners as plug-ins; the reasoner shipped with Protégé is called Fact++. The ontology can be ‘sent to the reasoner’ to automatically compute the classification hierarchy, and also to check the logical consistency of the ontology. The class hierarchy that is automatically computed by the reasoner is called the inferred hierarchy, thus we can automatically classify the ontology (and check for inconsistencies). Application architecture proposed in Figure 16 describes VisOnto as main component that is able to manage and extract semantic data as well as visual representation. Future work will consider dynamic knowledge creation and web application.

4. CONCLUSION

In this paper we describe the utilization of OWL as formalism for describing an example of FSI problem, for the box drop test in still water. We modeled in detail a Cell concept as a knowledge base for numerical models, together with the related data structure and algorithms. The presented ontology-approach is intended for the FEM and CFD domains, for which we analyze the possibility to include also procedural knowledge in their ontological representation. Since there are no rules that define proper ontology creation, we tried to define the methodology to create scene independent ontologies, associated with X3D generated models to match

the needs of CFD and FEM application domains. Finally, we described the possible application architecture, which can benefit from the presence of ontologies in combining multi-physics and visualization software components.

Figure 16: Proposed application architecture

5. REFERENCES [1] Vucinic D., Pesut M., Aksenov A., Mravak Z. and Lacor

Ch., “Towards Interoperable X3D Models and Web-based Environments for Engineering Optimization Problems”, EngOpt 2008 - International Conference on Engineering Optimization, Rio de Janeiro, Brazil, 2008.

[2] D. Vucinic, "Development of a Scientific Visualization System” in Department of Mechanical Engineering, PhD Thesis, Vrije Universiteit Brussel, 2007.

[3] J. H. Gallier, Curves and surfaces in geometric modeling: theory and algorithms. San Francisco, Calif.: Morgan Kaufmann Publishers, 2000.

[4] M. A. Armstrong, Basic topology. New York Berlin: Springer-Vlg, 1983.

[5] J. R. Munkres, Elements of algebraic topology. Cambridge, Mass.: Perseus, 1984.

[6] F. Michael and S. Vadim, "B-rep SE: simplistically enhanced boundary representation," in Proceedings of the ninth ACM symposium on Solid modeling and applications Genoa, Italy: Eurographics Association, 2004.

[7] M. Gopi and D. Manocha, "A unified approach for simplifying polygonal and spline models," in Proceedings of the conference on Visualization '98 Research Triangle Park, North Carolina, United States: IEEE Computer Society Press, 1998.

[8] F. Helaman, R. Alyn, and C. Jordan, "Topological design of sculptured surfaces," in Proceedings of the 19th annual conference on Computer graphics and interactive techniques: ACM Press, 1992.

[9] A. Paoluzzi, F. Bernardini, C. Cattani, and V. Ferrucci, "Dimension-independent modeling with simplicial complexes," ACM Trans. Graph., vol. 12, pp. 56-102, 1993.

[10] O. C. Zienkiewicz, R. L. Taylor, and J. Z. Zhu, The finite element method: its basis and fundamentals, 6. ed. Oxford: Elsevier Butterworth-Heinemann, 2005.

[11] O. C. Zienkiewicz and R. L. Taylor, The finite element method, 4. Ed. London: McGraw-Hill, 1989.

17 Copyright © 2009 by ASME

[12] C. Hirsch, Numerical computation of internal and external flows. Vol. 1, Fundamentals of numerical discretization. Chichester: Wiley, 1988.

[13] C. Hirsch, Numerical computation of internal and external flows. Vol. 2, Computational methods for inviscid and viscous flows. Chichester: Wiley, 1990.

[14] R. Aris, Vectors, tensors, and the basic equations of fluid mechanics. New York: Dover Publications, 1989.

[15] C. T. J. Dodson and T. Poston, Tensor geometry: the geometric viewpoint and its uses, 2. ed. Berlin; New York: Springer-Vlg, 1991.

[16] G. H. Golub and C. F. Van Loan, Matrix computations, 3rd ed. Baltimore: Johns Hopkins University Press, 1996.

[17] P. Eliasson, J. Oppelstrup, and A. Rizzi, "STREAM 3D: Computer Graphics Program For Streamline Visualisation," Adv. Eng. Software, vol. Vol. 11, No. 4., pp. 162-168, 1989.

[18] S. Shirayama, "Visualization of vector fields in flow analysis," in 29th Aerospace Sciences Meeting Reno, NV: AIAA-1991-801, 8 p., 1991.

[19] P. G. Buning and J. L. STEGER, "Graphics and flow visualization in computational fluid dynamics " in 7th Computational Fluid Dynamics Conference, Cincinnati, OH, 1985, pp. 162-170.

[20] R. Haimes, "pV3 - A distributed system for large-scale unsteady CFD visualization " in 32nd Aerospace Sciences Meeting and Exhibit, , Reno, NV, Jan 10-13, : AIAA-1994-321, 1994

[21] T. Strid, A. Rizzi, and J. Oppelstrup, "Development and use of some flow visualization algorithms," von Karman Institute for Fluid Dynamics, Brussels, Belgium, 1989.

[22] W. H. Press, Numerical recipes in C : the art of scientific computing, 2. ed. Cambridge: Cambridge Univ. Press, 1992.

[23] M. Prcela, D. Gamberger, and A. Jovic, “Semantic Web Ontology Utilization for Heart Failure Expert System Design”, Goeteborg, Sweeden, 2008.

[24] F. Pittarello, and A. De Faveri, “Semantic description of 3D environments: a proposal based on web standards”, Proceedings of the eleventh international conference on 3D web technology, Columbia, Maryland, 2006.

[25] "Protégé is a free, open source ontology editor and knowledge-base framework," Stanford University School of Medicine: http://protege.stanford.edu/, 2008.

APPENDIX A: NEWTON-RAPHSON’S METHOD The Newton-Raphson’s method is used for the mapping of the modeling coordinates x to the parametric coordinates u. The Newton-Raphson’s method can be presented as a multidimensional root-finding problem of a distance function d that measures the error between the specified constant location x and the guess solution A(u).

d(u) = A(u) - x 0 A - 1

The prerequisite to find the candidate point in the neighborhood of the proper minimum ensures that the subsequent refinement phase doesn’t inadvertently fall into an

erroneous local minimum, as the field can have several non-zero minimum. The iteration is initialized from an arbitrary location inside the cell u0 and is repeatedly shifted through a sequence of new locations ui+1 which approach to the unknown location u. The Newton-Raphson’s method is defined with the recursive equation

)('d

)(d

i

ii1i u

uuu

where )()(

)('d ii

ii uJ

u

uAu

A - 2

The denominator of the equation contains partial derivatives of the interpolating function, where Jacobians matrices and their inverses are defined for each cell type. The inverse of the Jacobian matrix maps the modeling space error into parametric form.

)(

)(d

i

ii1i uJ

uuu

After introducing the term above into the equation A - 1,

xuAJuu -1 )( ii1i . A - 3

The iterative algorithm applying the equation A - 3 has to result in the quite small distance d between successive points ui. If the distance is increasing the point parametric coordinates are outside the range [0...1] and the analyzed point is not located in the investigated cell. This algorithm utilizes the knowledge of the normalized cell boundaries aligned with parametric coordinate axis so the points are checked against the simple boundary conditions for example if the (u,v,w) value is between (0,1).

An application of the Newton-Raphson’s point location algorithm is related to Particle Trace algorithm requiring that the point location in the parametric cell space needs to be computed.

Given a point in a physical space (x,y,z), the problem is to find out if a investigated cell is containing or not this point. The algorithm has to perform the in-out checks applying the cell normalized coordinates (u,v,w), and it turns out that this computation is a computationally intensive task. The objective is that such algorithm is efficient. Conceptually, the task involves the application of the Jacobian matrix of the isoparametric mapping is calculated and the center of the cell represents the initial point location guess.

xuJ

uxJ J

xJuJ 1-1-

)1(

w

v

u

z

y

x

=

z

y

x

w

v

u

A - 4

18 Copyright © 2009 by ASME

Note that even within the current cell the metric terms vary, so that the algorithm is of iterative nature until u=v=w=0. If (u,v,w) are outside the range [0,1] or depending of the cell type boundary constrain, the target point is outside the current cell and another neighbor cell will be analyzed.

Given an arbitrary point x, and the good guess of the cell where the point is located, a Newton-Raphson’s procedure is used to calculated the corresponding u. The initial guess u(0) is taken to be a center of the cell and then we apply the previously mentioned equation, in an iterative algorithm as follows:

u(i+1)= u(i)+u(i)

u(i+1)= u(i)+ i-1

u xJ A - 5

If the connected cell is searched, the algorithm converges quadratically to the current point. If the cell being searched doesn’t contain the point, the new value of u will exceed the cell normalized space ([0,1] interval). The search is then switched to the neighbor cell in for u(i+1).

APPENDIX B: RUNGE-KUTTA METHOD The integration of ordinary differential equations is solved by the Runge-Kutta method. The vector field v is the RHS of the following equation:

dt

dxv (x, t).

B-1 The idea is to rewrite dx and dt as finite steps x and t and multiply the equation byt.

x = v(x, t) t B-2

This is an algebraic equation for the change in x when the independent variable is stepped by one step size t. In the limit to make step size very small a good approximation of the equation B-1 is achieved. This explanation results in the Euler method

xi+1 = xi + v(xi, ti) t B-3

which advance the solution from ti to ti+1 ti + t and if expanded to power series O(t2) can be added to the equation B-3. If we consider the trial step at the middle of the interval

k1 = t v(xi, ti)

k2 = t v(xi+21k

, ti+2

t)

xi+1 = xi + k2 + O(t2) B-4

This is called the second-order Runge-Kutta method. As there are many ways to evaluate the right-hand side of the equation B-2, which all agree to the first order but may have different coefficients of higher order error terms. With the Runge-Kutta method, the adding up the right combination of these coefficients the error terms are eliminated order by order. The fourth-order Runge-Kutta method is defined as follows:

k1 = t v(xi, ti)

k2 = t v(xi+21k

, ti+2

t)

k3 = t v(xi+22k

, ti+2

t)

k4 = t v(xi+ k3, ti + t) It requires four evaluations of v per step t. This is more efficient to the equation B-4 if at least twice a large step is possible with

xi+1 = xi + 4321 k)kk(2k6

1 + O(t5)

B-5 The higher order integration method is always superior to a lower order one, but when we consider the number of arithmetic operations involved and the possibility of an adjustable integration step to achieve a desirable accuracy, it is well known that the fourth-order Runge-Kutta method represents an optimize choice. This is the reason why the fourth-order Runge-Kutta method is used for the calculation of volume and surface particle traces algorithm, as described in this paper.