• No results found

Modeling and Simulation of Ship Shape Topology

N/A
N/A
Protected

Academic year: 2021

Share "Modeling and Simulation of Ship Shape Topology"

Copied!
42
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

MSc Computational Science

Master Thesis

Modeling and Simulation of

Ship Shape Topology

Author:

Maria Ardavani

Supervisors:

Dr. Valeria Krzhizhanovskaya

Dr. Herbert Koelman

November 18, 2017

(2)

Abstract

In the design phase of a computer model of a ship hull there exists much freedom in modeling curves and surfaces. However, for utilization a topolog-ically more constraint representation can be beneficial. Most curve, surface and solid design programs use NURBS surfaces, which is the most domi-nant mathematical technique to define two-dimensional or three-dimensional geometry. A file containing the NURBS surface definition in a standard transfer file format (such as IGES) has to be used in order to transfer exact 3D curve and surface geometry among various CAD programs. Still, despite their broad use, NURBS pose extensive disadvantages and constraints that may limit capabilities of design programs and lead to conservative choices. The objective of this project is to explore the most optimal topology of a ship hull that will be able to follow the NURBS and IGES restrictions; three ap-proaches are described: a recursive approach, an implementation of a genetic algorithm and a joint method.

(3)

Statutory Declaration

I declare that I have developed and written the enclosed Master Thesis com-pletely by myself, and have not used sources or means without declaration in the text. Any thoughts from others or literal quotations are clearly marked. The Master Thesis was not used in the same or in a similar version to achieve an academic grading or is being published elsewhere.

(4)

Acknowledgements

I would first like to express my gratitude to my supervisor Dr. Valeria Krzhizhanovskaya for the useful comments, remarks and engagement through the learning process of this project. Her positivity and encouragement were instrumental and greatly valued.

I would also like to thank my thesis advisor Dr. Herbert Koelman for his fruitful and valuable guidance. The door to his office was always open when-ever I struggled or had questions about my research.

In addition, I would like to acknowledge everyone working at SARC where I had my internship for 6 months, namely Raffaele Frontera, Bart Soede, Mark Visser, Marion Goddijn and last but not least, Bastiaan Veelo.

Finally, I must express my gratitude to my family and friends for provid-ing me with support and encouragement throughout my years of study. Thank you.

(5)

Contents

Statutory Declaration 1 Acknowledgements 2 1 Introduction 5 2 Literature Review 7 2.1 Computer-aided Design . . . 7 2.1.1 B´ezier curves . . . 8 2.1.2 B-splines . . . 9

2.1.3 Non-Uniform Rational Basis Spline (NURBS) . . . 11

2.2 Challenges of NURBS . . . 11

2.3 CAD Data Exchange . . . 14

2.3.1 IGES . . . 15

2.3.2 STEP . . . 15

2.3.3 Data Exchange Quality . . . 15

2.4 Ship Lines Drawing . . . 16

2.5 Key points from Fairway R . . . . 18

2.6 Evolutionary Algorithm . . . 18

2.7 Alternative Methods . . . 20

2.7.1 Isogeometric Analysis . . . 20

2.7.2 Graph Partitioning . . . 21

(6)

3 Methods Description 22

3.1 Input . . . 22

3.2 Create Network . . . 23

3.3 Methods . . . 23

3.3.1 Basic Algorithm - Recursive Method . . . 23

3.3.2 Genetic Algorithm . . . 25

4 Results and Discussion 27 4.1 Recursive Method . . . 28

4.2 Genetic Algorithm . . . 30

4.3 Joint Version . . . 31

5 Conclusion 34

(7)

Chapter 1

Introduction

The design and representation of a ship hull by means of mathematical de-scriptions have a lot of tradition. The simplest geometric shapes such as circles, ellipses, or parabolas are found in ancient and medieval ships. In the 1600s, the actual construction and function of a ship were given much less importance than the aesthetics, disregarding vital ship characteristics such as stability and hull proportion[1]. The drawings of ships were similar to luxurious houses and fortresses, and usually without any type of geometry application. However, during an expedition to Peru to affirm the shape of the Earth, a French geophysicist and astronomer, Pierre Bouguer, wrote Trait´e du navire, which is considered to be the first book and milestone of naval architecture that sets down the scientific aspects of ship building. The -first explained- use of metacenter as a measure of ship’s stability is still used to this day.

With the boom in ocean exploring and the industrial revolution in the 1800s, naval architecture witnessed a new dawn, with the invention of steam engines and the use of steel instead of wood. A practice of scaled models and ship designs was started by ship builders, that evolved into the standardized ship design of today. At the same time, the theory behind naval architecture bloomed as series of inventions of scientific principles were made to improve the way in which ships were made[1, 2]. Ship lines plans were introduced around the 19th century, together with lofting and drafting methods using elastic splines as a fairing tool. However, lengthy calculations that resulted in delaying the building process and increasing the costs, and even the con-tinuous use of an occasionally erroneous calculation plagued the field of ship building. This continued until the invention of the steam engine and general

(8)

steam technologies, and the mathematical calculations that followed them made the scientists realize the valuable part they played the domain of ship design. The results of this approach were remarkable; it successfully pro-duced ship geometries that translated to reliable ship constructions. Today, modern shipbuilding around the world cannot be imagined without the in-tensive use of computers and computational methods of ship geometry and topology[3].

When designing a ship hull, a naval architect is able to apply his knowl-edge of design and drafting to arrive at an optimal hull form, based on a specific geometric definition of a hull that affects the hydrostatics, general arrangement, strength and aesthetics of the vessel. Nowadays, shape opti-mization is quite popular in many areas concerning academic research and is substantially enhanced with the advances in computational and simulation methods. Mathematical methods for ship hull design are considered a base for the theory of parametric surfaces and curves, which are well understood in topology and differential geometry. The representation of these curves and surfaces in a computer environment started in the 1960’s with the theory of B´ezier surfaces and Coons patches, and later combined with B-spline meth-ods. Today, Non-Uniform Rational Basis Spline (NURBS) surfaces are widely used in most Computer-Aided Design (CAD), Computer-Aided Manufactur-ing (CAM) and Computer-Aided EngineerManufactur-ing (CAE) engines. However, the applicability of NURBS surfaces for ship hull representation raises several numerical and geometrical problems.

Research Questions

1. Can we develop a method that will be able to overcome the NURBS restrictions that appear when designing a free form shape such as a ship hull?

2. Will an evolutionary algorithm be applicable for optimizing ship hull topologies?

3. Which one of these two approaches is more suitable?

4. Evolutionary algorithms are flexible and are frequently used in cooper-ation with other methods. Is it possible to combine the two approaches in order to achieve more solid and reliable results?

(9)

Chapter 2

Literature Review

This chapter briefly describes the literature studied while preparing for and doing this project. Following an introduction to Computer-aided design, it provides an overview of each step of the creation of a NURBS curve; starting with B´ezier curves, continuing further to B-Splines and their evolution to NURBS, while also presenting the problems that arise with the use of the latter. Some important details on ship geometry and the software used to study it are also included. The last section concisely describes the theory behind evolutionary computing and genetic algorithms.

2.1

Computer-aided Design

Computational geometry was developed in the 1970s from the field of al-gorithm design and their analysis. Being one of the oldest fields of puting, computational geometry came into focus with the progress in com-puter graphics and comcom-puter-aided design and manufacturing. However, it is widely applied in various problems taken from different areas such as robotics, computer vision, geographic information systems, computer-aided engineering and so on[4]. One of the branches of computational geometry is descriptive geometry, which allows the representation of three-dimensional objects in two dimensions and subsequently Computer-Aided Geometric De-sign (CAGD), which deals with representing real-world objects in forms suit-able for computations in CAD and CAM engines.

The core problems of CAGD are curve and surface modeling and their respec-tive representation. The most important instruments are parametric curves and parametric surfaces, such as B´ezier curves, spline curves and surfaces.

(10)

Many application areas including shipbuilding, aircraft and automotive in-dustries use them extensively, taking advantage of their high adaptability, manipulation and versatility[5].

2.1.1

ezier curves

The curves that are today known as B´ezier curves were formulated in 1959 by Paul de Casteljau while developing an algorithm for evaluating calculations on a certain family of curves, the Bernstein polynomials. Even though de Casteljau studied the direct relationship between the Bernstein polynomials and the underlying mathematical theory, it was Pierre B´ezier in 1962 that popularized these curves and proceeded to utilize them in UNISURF[6], a pioneering surface CAD/CAM system that was quickly outlined in several publications[7] and widely used in automotive industries for design and man-ufacture. B´ezier curves and surfaces are now the traditional mathematical basis in many CAD systems, additionally to becoming a preeminent tool for the description of curves and surfaces.

A B´ezier curve is a parametric curve that is commonly used to model smooth curves. It is defined by its order n (1 for linear, 2 for quadratic, etc.) and a set of control points P0· · · Pn.

Given a polynomial curve of arbitrary degree n: b0, b1, · · · , bn ∈ IE3 and t ∈ R, we set

bri(t) = (1 − t)br−1i (t) + tbr−1i+1(t)

(

r = 1, · · · , n i = 0, · · · , n − r

and b0i(t) = bi. Then, bn0(t) is the point with parameter value t on the B´ezier

curve bn. The polygon P formed by b

0, b1, · · · , bn is called the B´ezier polygon

or control polygon of the curve bn. Similarly, the polygon vertices b

iare called

control points or B´ezier points[8]. The B´ezier curve can also be expressed in terms of Bernstein polynomials, defined explicitly by

Bin(t) =n i



ti(1 − t)n−i

Thus it can be defined as

bn(t) =

r

X

j=0

(11)

Figure 2.1: Linear, quadratic and cubic B´ezier curves with control points [p1, p4], [p1, p2, p4] and [p1, p2, p3, p4] respectively. The first and last points in every case

are always the end points of the curve, compared to the intermediate points that (usually) do not lie on the curve.

Some of the properties of the B´ezier curves include affine invariance, end-point interpolation, convex hull property (since for t ∈ [0, 1] the Bernstein polynomials are nonnegative), symmetry and linear precision. Quadratic and cubic B´ezier curves are still used today in many vector graphic programs (like Adobe Illustartor, Postscript, SVG, CorelDraw) and animation (Adobe Flash, Synfig, CSS, JavaScript). Higher order curves are more computa-tionally expensive to evaluate and B´ezier curves lack ‘local shape control’: relocating any point of a B´ezier curve results in global change. In order to overcome this constraint, splines came to the foreground.

2.1.2

B-splines

The first reference of splines was in a paper by Isaac Schoenberg[9] in 1946, in connection to smooth and piecewise polynomial approximation. Parametric spline curves were first introduced into CAGD in the 1960s independently by James Ferguson[10] and Carl de Boor[11]. Still, they were used to interpolate given data and not to design free-from curves. The theory of B-splines and their connection to the B´ezier curves came in 1974 by William Gordon and Richard Riesenfeld[12].

Gordon and Riesenfeld showed that a B-spline is a powerful generalization of a B´ezier curve[7, 12]. It shares the same properties as the B´ezier curve, but additionally the B-splines have both C2 continuity and local control,

(12)

meaning that if a single control point moves, the whole spline does not need to be re-evaluated.

Let a vector known as the knot vector be defined as T = {t0, t1· · · , tm},

with ti ∈ [0, 1]. Also, define control points P0, P1, · · · , Pn and the degree

p ≡ m − n + 1. The basis functions are defined a s follows:

Ni,0(t) =

(

1 if ti ≤ t ≤ ti+1 and ti < ti+1

0 otherwise Ni,j(t) = t − ti ti+j− ti Ni,j−1+ ti+j+1− t ti+j+1− ti+1 Ni+1,j−1(t),

where j = 1, 2, · · · , p. Then the curve defined by

C(t) =

n

X

i=0

PiNi,p(t)

is a B-Spline[13]. Figure 2.2 nicely demonstrates the practical differences between a B´ezier curve and a B-Spline; while a B´ezier is defined by a single particular polynomial (ex. a Bernstein polynomial), a B-spline is defined piecewise by polynomials (as the union of curve segments defined at each knot span).

(a) B-spline of degree 3 with 11 control points.

(b) B´ezier curve of degree 10 with the same 11 control points as (a).

Figure 2.2: A B´ezier curve with the same control points as a B-spline still cannot follow the control polyline, even though its degree is 10.

(13)

2.1.3

Non-Uniform Rational Basis Spline (NURBS)

A Non-Uniform Rational Basis Spline or NURBS is a mathematical model that is capable of representing curves and surfaces. NURBS are essentially B-splines in homogeneous coordinates. The NURBS curves are described by four properties[14]:

• Degree: similar to the order of the polynomial, though defined as (order+1). NURBS lines and polylines are degree 1, NURBS circles are degree 2 and so on.

• Control Points: the points that determine the shape of the curve. The control points can have an associated (usually) positive number called a weight. The weight of each point varies according to a polyno-mial (basis) function of degree d. If the weight is equal to 1, a NURBS is simply a B-spline. NURBS curves and surfaces are generalizations of both B-splines and B´ezier curves and surfaces, the primary difference being the weighting of the control points, which makes NURBS curves rational[8].

• Knot Vector: the knots are a list of (d+N-1) numbers, where d is the degree and N is the number of control points. The knot vector determines where and how the control points affect the NURBS curve.

A NURBS curve is defined by

C(t) = Pn i=0Ni,p(t)wiPi Pn i=0Ni,p(t)wi ,

where p is the order (degree d+1), Ni,p are the B-spline basis functions, Pi

are the control points and wi are the weights[15, 16].

NURBS surfaces are known as patches that are fitted together and establish geometric continuity: G0 positional continuity, G1 tangential continuity and

G2 curvature continuity. The first two are similar to C0 and C1 respectively. The G2 continuity provides smoothing which is essential in 3D graphics.

2.2

Challenges of NURBS

NURBS curves and surfaces offer precision, flexibility and versatility. They are invariant under affine transformations (translation, rotation, etc.), they

(14)

can express standard analytical shapes (e.g. conics) and free-form shapes with one general mathematical form, and calculations with NURBS can be done rather fast and numerically stable[17]. One of the great advantages is that they their geometry can be incorporated in international data exchange standards. This means that users are able to move their models between var-ious analysis programs for the purposes of modeling, rendering, animation, and engineering.

Yet, the representation of curves and surfaces in NURBS can also have dis-advantages, even though their use is generally established for ship shape modeling. Some of these deficiencies are as follows[18, 19]:

• they require more memory; for instance, representing a circle as a NURBS curve requires defining seven control points and ten knots, which means saving 38 floating-point numbers instead of seven (center, surface normals, radius).

• an incorrect weight function can result in poor parametrization and numerical instability[16, 20].

• NURBS patches are always four-sided (and have four corners) that are shaped by their control points. These rectangular patches are not suitable for the design of free-form shapes with exact geometric require-ments such as a ship hull.

• the NURBS surface is a rectangular mesh with rows and columns with four hard corner points. Except for these four points, the entire surface is continuous and can be distorted and stretched to any shape, but the more non-rectangular of a shape is made, the more difficult it is to fair.

• in order to deal with the above conflict, large numbers of control points are inserted, causing complications in surface fairing that can lead to errors and high computational costs.

• except for the straightforward increase in size and complexity, vertices of additional points and edges that are organized arbitrarily on the hull surface shift the object of manipulation from specific planar intersec-tions (buttocks, waterlines, frames) to some spatial lines[18].

(15)

• even though new points can be freely added on a NURBS surface, very small gaps may be created between the patches that can generate signif-icant issues and inconsistencies if the model is fed to a CFD simulation without being geometrically watertight.

• when modeling complicated designs, multiple NURBS patches are re-quired; these patches are generally discontinuous across their bound-aries and call for special techniques to achieve C0 continuity. In order

for two patches to be combined when created separately, additional control points may be required to be inserted and one or both patches to be re-parameterized.

• NURBS are globally refined.

Because of these topological flaws, obtaining continuity across unrelated rect-angular patches with a large number of control points is a challenge and may yield models that are not precise, computationally expensive and unstable. In practice, the previously mentioned rectangular constraint of NURBS is shown in Figures 2.3 and 2.4. The additional points can cause numerical instability and significant fairing problems. In a ship hull model of hundreds of faces and points, the extra points that will create rectangles can very eas-ily slow down the data processing and further condense an already compact model. Furthermore, when converting to a data exchange file format (such as IGES), this extra information in the shape -control points, and quite possi-bly knots and vertices- can lead to larger databases resulting in much slower display and meshing times as well as errors in translation[21].

Figure 2.3: An .igs file of a ship hull with additional points and vertices in order to fulfill the NURBS constraint, as seen from a CAD software (other than its owner).

(16)

(a) Initial 5 patches. (b) Every non-four-sided patch is split accordingly.

Figure 2.4: A three-sided patch is split to three rectangles, a five-sided to five and so on. Consequently, while starting with 5 patches of different sizes in (a), the end result is 20

four-sided patches together with 22 additional points shown in (b).

2.3

CAD Data Exchange

The continuous growth and advance of computer design in the late 1970s resulted in the need for the modelers to be able to transfer data between every drafting system. Since many companies used different CAD systems internally but needed to exchange geometric data with suppliers, vendors or customers, an initiative was raised for a comprehensive standard for the electronic exchange of data between heterogeneous CAD authoring systems or between CAD and any other CAx system[22]. Since each modeling sys-tem has its own type of geometry representation and the data needs to be converted accordingly, a neutral file exchange representation is required[23]. The neutral file exchange uses an intermediary file format to translate data between CAD systems. The procedure starts from the original CAD system, which generates the neutral file, which the target CAD post-processes and converts it to the target native format[24]. The most commonly used neutral file exchange formats are STEP (ISO 10303 – STandard for the Exchange of Product model data) and IGES (Initial Graphics Exchange Specification). Each of these formats have their own characteristics and limitations and are used according to the goal in-demand.

(17)

2.3.1

IGES

The first version of the IGES standard was published in 1980, and it was developed by several big companies in the field of CAD technology, such as Boeing, General Electric and the US Department of Defense among others. Since then, IGES has been widely used in the automotive, aerospace and shipbuilding industries. IGES offers the ability to exchange data product models in various forms of representations such as solids, freeform surfaces, wireframe or circuit diagrams. Under ideal conditions, translation among systems preserves the appearance and functionality of entities[25, 26]. IGES is able to store drawing information in ASCII or binary file format[27]. How-ever, this process has limitations and some data will not be preserved in a round trip to IGES and back. Furthermore, IGES cannot handle non-geometric data, and it does not support life-cycle information that might be relevant for applications other than simple designing[27], and after the re-lease of STEP in 1994 and its upsurge, further development in IGES receded to its last updated version was in 1996.

2.3.2

STEP

The development of STEP began in 1984 as a successor to IGES, followed by the first standards release in 1994[28]. Opposite to IGES, STEP includes the product geometric information, life-cycle stages(design, analysis, planning etc) and data archiving. Because of its complexity, every year new parts are added or older parts are renewed and released. Therefore, STEP is consid-ered to be the biggest standard within the ISO (International Organization for Standardization). However, the STEP data exchange cannot transfer parametric information, design parameters, constraints and features[24].

2.3.3

Data Exchange Quality

The main point of Data Exchange is that CAD system functionalities are not compatible; diversity and extra capabilities are advocated my market dynamics. Each CAD system has its own method of describing geometry, mathematically and structurally. The competition amongst different CAD systems and their built-in complexity of every geometrical entity eventually lead to distinctions and specializations, which in turn opened the way for loss of information during translation from one CAD data format to another[29].

(18)

The most common issues that rise during translation are (among others)[30]:

• loss of architectural structure and color information • change of names and/or directories where they are stored • wireframe details representation

• modification of graphic information

• text, dimensions and formats translation issues

Even though some translation methods are more successful than others and the neutral file formats were created especially to escape this problem, no existing format can entirely remove all the errors that occur during the ex-change.

2.4

Ship Lines Drawing

Generally, a ship hull is defined by curves in three planes, each of which are called the body (frames), half-breadth (waterlines) and sheer (buttock) plans. A set of these plans is called lines or drawing, which is the starting point of ship manufacturing (Figure 2.5). This drawing is created by projecting the intersections of the hull with a set of planes. These planes exist in all three dimensions (x, y, z) and are equally spaced and thus being mutually perpendicular and orthogonal.

Figure 2.5: Illustration of ship lines [31].

Considering the set of planes in all three dimensions shown in Figure 2.5, we can distinguish between the three lines as follows:

(19)

Body - Frames shown in red in 2.5. A series of planes running from port to starboard taken at specified intervals along the x-axis. These frames show the exact shape of the hull for any longitudinal position, often with a total of 11, 21, 31 or 41 frames, depending on the size and length of the ship hull.

Half-Breadth - Waterlines shown in blue in 2.5. A series of planes taken at specific intervals on the y-axis. Each plane will intersect the hull and create a line. These are called waterlines, but they have nothing to do with where the ship floats. Additionally, since a ship is symmetrical about its centerline, it only needs to be drawn for half the hull.

Sheer - Buttocks shown in yellow in 2.5. A series of planes running from bow to stern at regular intervals along the z-axis.

Figure 2.6: Waterlines are shown in red, buttocks in pink and frames in cyan. Some selected polycurves are colored according to curvature gradient, courtesy of SARC1.

The lines drawing provides for the foundation of developing the three dimen-sional hull model. These lines consist of curves and each curve defines the shape of the hull. The intersecting points of the curves are computed from the lines, which are called the offset data of a hull shape. The offset data are arranged in a table, since the curves drawn in the lines cannot be extracted in an exact manner[32].

(20)

2.5

Key points from Fairway

R

For the testing and evaluation of the methods described in Chapter 3, real ship hull models were provided from offset tables from Fairway R. Fairway R

is a hullform modeling computer software where the user manipulates the shape of the hull by means of 3D lines. According to documentation[33], here follow some basic geometrical definitions used in Fairway R that are

important in the data input preprocessing and their functions during the optimization.

Curve: a curve is a line segment, straight or curved, without knuckles.

Polycurve: a polycurve is a concatenation of one or many curves.

Knuckle: a knuckle is a point between two adjacent polycurves. Once a knuckle is placed, the polycurves become independent. Knuckles are support points.

Chine: a chine is a polycurve on which crossing polycurves have a knuckle. Usually knuckles are connected with a chine.

Face: a face is the smallest area generated by intersecting lines in 3D space.

In Fairway R

, the precise manipulation of curves results in the shape of a ship hull. The faces are not restricted to being four-sided, they have no control points and their shape is derived from the shape of the surround-ing/intersecting curves. In that way, the NURBS use can be avoided. How-ever, when exporting a Fairway R model to NURBS surface patches in an

exchange-data format such as IGES for third-party software, the NURBS challenges return.

2.6

Evolutionary Algorithm

The evolutionary algorithm (EA) is a method for solving both constrained and unconstrained optimization problems that is based on the mechanics of natural selection and natural genetics. The EA repeatedly modifies a population of individual solutions (chromosomes). In every generation, a new set of chromosomes is created using bits and pieces of the fittest of the old; over successive generations, the population evolves towards an optimal

(21)

solution.

In search of robustness, EAs differ in some fundamental ways from normal optimization techniques[34]:

• they search in parallel from a population of individuals, therefore it is more difficult to become trapped in local optima.

• they use probabilistic selection rules, not deterministic ones.

• they work with a coding of the parameter set, not the parameters themselves

• they use a fitness score obtained from the objective function, without other derivative or auxiliary information.

Yet, it is not guaranteed that the EA will find the local optima, and a great number of generations might be needed before having ‘good results’. Ad-ditionally, parameter discovery and fine tuning of parameters like mutation rate, crossover method, selection, elitism etc. is ofter done heuristically, through trial and error. The success and popularity of evolutionary algo-rithms can be associated to a number of appealing features[35]:

– they are assumption free: they are widely applicable and easily trans-ferable since they do not make explicit assumptions about the problem internally. The application of an EA rests on a specified representa-tion for candidate solurepresenta-tions and an external funcrepresenta-tion that provides the evaluation.

– they are flexible and can be used in cooperation with other existing methods. They can operate with existing toolsets, or profit from the best features/results of different approaches.

– they are robust and less sensitive to noise; they use a population and randomized choices to escape suboptimal solutions.

– they do not focus on one single solution but spread through the whole search space since they have a population that at the end of every generation produces a number of possible solutions.

– they are capable of producing solutions that are not obvious or intuitive, as they are blind to human/designer preconceptions.

(22)

Nevertheless, an evolutionary algorithm is considered to be not an optimizer[36] but an approximator and there are problems where the user does not know whether the fitness of the best evolved individual is indeed the optimal so-lution, or even the best possible. Yet, in cases where the global optimum is not known or obvious, the EA can produce very interesting results that are acceptable[35].

2.7

Alternative Methods

There have been numerous efforts to overcome the problems of NURBS. While their smoothness make then a useful and powerful tool, they are seri-ously limited by the fact that they have to be four-sided. This restricts their utility as a design tool and devises complications that must be corrected before the creation of an analysis model.

2.7.1

Isogeometric Analysis

Isogeometric Analysis (IgA) offers the possibility to integrate finite element analysis (FEA) into conventional NURBS-based CAD design tools. It ap-plies complex NURBS geometries directly in the FEA application, thus the models are designed, tested and altered using a common dataset[37]. One of the goals of IgA is to offer geometrical precision independent of the rough discretization, and to simplify mesh refinement[38]. The concept of IgA was first envisioned with the use of NURBS because of their widespread use in CAD design and technology. However, NURBS are not an essential ingre-dient in IgA and many publications now propose the use of T-splines[39], which overcome the constraints of NURBS while maintaining the familiar al-gorithmic structure of the latter. T-splines create a single patch, watertight geometry that can be refined and smoothened locally, thus correcting some of NURBS weaknesses.

Another approach instead of T-splines is the use of hierarchical splines[40] and spline forests. While the former are extremely flexible, localized and geometrically exact, their formulations follow the same constraint of NURBS and B-splines to be four-sided. However, spline forests according to [41] com-bine the advantages of B-splines, NURBS, T-splines and hierarchical splines. They are compatible with quadrilateral and hexahedral meshes, since they are constructed by quadrilateral and hexahedral topological decompositions.

(23)

2.7.2

Graph Partitioning

Another concept to this problem could be the Graph Partition approach; it is possible to partition the initial graph into smaller components with spe-cific properties. Typically falling under the category of NP-hard problems, graph partitioning’s practical solutions are based on heuristics. However, it is frequently used in structured and unstructured mesh distribution for dis-tributed memory parallel computing[42, 43].

The case of graph partitioning with nodal weights and coordinates relies on having nodes connected to ‘nearest neighbors’ in space, and it is common when the graph is derived from a physical model, such as a car, an airplane or a ship hull. The scheme of multi-level graph partitioning, where each level reduces the size of the graph by breaking down vertices and edges, partition-ing the graph, then mapppartition-ing it back and refinpartition-ing this specific partition can give back high quality results and fast execution times[44, 45].

2.7.3

Current Approach

The methods described in Chapter 3 are a special and novel approach to the problem, as they aim to split the hullform in regions that retain their geomet-rical and topological properties before being translated to a data exchange file format. By choosing appropriate control points and knot vectors, a dense set of faces is divided into larger patches that follow NURBS constraints and overcome some of their challenges.

(24)

Chapter 3

Methods Description

This chapter describes the methodology behind the creation and application of the two approaches to solve the problem: a recursive method and an imple-mentation of an evolutionary algorithm. Both of these methods provide the ability to define larger rectangular regions using existing curves and search for an optimal partition of the ship hull in four-sided patches.

3.1

Input

The two following methods take as input ship hulls designed in the Fairway R

software. Since the file format of Fairway R for hull design is exclusive to its

parent, the ship hulls were exported in order to be worked on in Matlab R.

The Fairway R export is an ASCII-file that contains the offset table of a

hullform and it includes:

1. name of polycurve

2. whether the polycurve is a chine

3. longitudinal, transverse and vertical coordinates of every point 4. whether each point is a knuckle

5. in-between intersections

All the above properties are saved in structure form in Matlab R. Matlab R

of-fers the opportunity to represent accurately curves and surfaces using built-in functions, and the result is a model almost identical to the original Fairway R

(25)

design. The most important information from the offset table are the point coordinates.

3.2

Create Network

The transition from point coordinates and intersections to faces is done through a graph algorithm, since a set of NURBS patches is not an exception for a dense network. Graphs are frequently used in computer science when modeling application problems; cutting a graph into smaller pieces is one of the fundamental algorithmic operations. However, most of these problems are NP-complete and not easy to approximate, thus using mostly heuristic methods to tackle the problem. In this case, every face is saved as a cycle; a script locates every cycle in an undirected graph. It uses the concept of trees and depth first traversal (DFT) of the graph. Unfortunately it is a timely calculation with a O(n2) complexity considering the graph has n nodes. In

order to save time and keeping in mind the geometry of a ship hull, n is set to a maximum of 7 (six-sided faces). After the whole network is mapped, knuckles and connections that belong to chines are highlighted (since they are not allowed to be deleted), and duplicate points are removed.

3.3

Methods

3.3.1

Basic Algorithm - Recursive Method

The main concept of the recursive method is to combine cycles until the final product is a set consisting of solely rectangular regions. It can be split into two important functions: the ‘combine’ and the recursive ‘find next’. The following Figures that describe the recursive method illustrate the 2D version that was used in the initial steps when creating the algorithm. The 3D version works similarly, since the check is not collinearity of points but rather belonging to the same curve.

The ‘combine’ function

Given two cycles of any length, this function returns their combined cycle and whether the latter is a rectangle. The criteria to connect two cycles is for them to have (at least) one common edge. If that applies and the

(26)

nodes that are not in common belong in the same curve, then it is safe for the common nodes and their in-between connection to be removed, hence resulting in a new bigger cycle. If there are knuckles or chines involved, they are not allowed to be removed.

Function 1 Combine two cycles

1: function combine(A, B)

2: if A and B have common edges then

3: combine A and B

4: check f or rectangle

5: return G, rectangle IG is the combination of A and B 6: Irectangle is 1 if true, 0 if false

Figure 3.1 shows an example of connecting two cycles.

(a) Cycles A and B. (b) Bigger cycle G.

Figure 3.1: Curves 1: 1, 3, 5 and 2: 2, 4, 6. Cycles A : 1, 3, 4, 2, 1 and B : 3, 5, 6, 4, 3.

The cycles have nodes 3 and 4 in common (edge 3 − 4). The nodes 3 and 4 (and their connection) can be removed since nodes 1 and 5 belong in the same curve 1, similarly to

2 and 6 belonging to 2.

The ‘find next’ function

The ‘find next’ function is a recursive function that is responsible for combin-ing all possible cycles in the set accordcombin-ing to max combs, a variable provided by the user. The inputs of ‘find next’ are a starting cycle of any size (start ), a list that contains all other cycles ([cycle list] ) and max combs that indicate

(27)

the maximum depth for combining cycles. Taking the newly combined cycle G from the above example, there exist two cases that follow:

Case 1. If the combined cycle G is four-sided (Figure 3.1(b)) then the algo-rithm starts again with cycle G added to the list of cycles.

Case 2. If the combined cycle G is not four-sided and max combs is bigger than 1 (meaning that depth is more than 2), then ‘find next’ will call itself with G as a new starting cycle. Inside this ‘find next’, the same 2 cases are called up again; if G and C form a rectangle then the function breaks and the lastly combined cycle is added to the list and the algorithm starts again. If not, it recursively calls ‘find next’ again, until the stopping criteria are met.

‘find next’ will stop when max combs is 1 or the cycle list is empty.

Function 2 Recursively find next combination

1: function find next(start, [cycle list], max combs)

2: Istart = A, [cycle list] = [B,C,D] 3: while [cycle list] do

4: new cycle, rectangle = combine (start, cycle list(1))

5: Inew cycle = G

6: update cycle list IB is removed from [cycle list] 7: if rectangle then

8: break

9: if max combs > 1 then

10: find next(new cycle, [cycle list], max combs − 1)

11: Ifind next (G, [C,D], max combs-1) 12: return new cycle, cycle list

3.3.2

Genetic Algorithm

There are many types of evolutionary algorithms, each one having differences in genetic representation or other implementation parameters, and particu-larly the nature of the specific problem. Based on the method that will be described below, we chose the type of genetic algorithm (GA), which is also

(28)

the most popular type of EA. One of the most distinguishing characteris-tics of the GA is its binary representation and the presence of mutation and crossover operations.

Implementation of GA

In order to determine the type and size of the population, we need to define the removable edges; edges of the initial graph that are not chines and when removed, they would not interfere with the shape geometry, ex. outer edges (Figure 3.2).

Figure 3.2: Outer edges are bold black and red. Chines are red (1 and 10) and removable edges are black (2 to 9).

Initially, every removable edge is randomly assigned to an ‘on’ or ‘off’ (or more precisely, 0 or 1). On means that the current edge remains in the graph and is taken into consideration when calculating the sides of a polygon, and off when it is not. In this way, each chromosome is a string constructed over the binary alphabet V = {0, 1}. Chines that do not belong in the outer edges are always assigned to on. In Figure 3.2, edges 1 and 10 are always on, and all others are removable. This graph is composed of 7 cycles with an obvious optimal number of four-sided patches being 2 ( chines 1 and 10 remain on and all removable edges are off ). The GA then turns ‘on’ and ‘off’ edges and calculates the best of every generation of chromosomes according to a fitness function that punishes the existence of non-four-sided patches.

(29)

Chapter 4

Results and Discussion

To evaluate and test the two methods, four types of ship hulls will be used, shown in Figure 4.1. In Figures 4.2, 4.3 and 4.4 different colours are used to distinguish the newly created faces.

(a) Type A: 65 faces. (b) Type A+: 334 faces. This is a complex version of (a) with additional

curves, thus having the same optimal solution.

(c) Type B: 1496 faces. (d) Type C: aft of a vessel; 1833 faces.

Figure 4.1: Matlab R output for each model type: chines are highlighted with blue bold

(30)

4.1

Recursive Method

The recursive method will combine max combs faces to create rectangles. However, the result highly depends on the initial order of the faces as well as the number of maximum possible combinations (max combs). It is not guar-anteed that it will produce the optimal solution, but it is able to significantly decrease the number of faces (Figure 4.2).

(a) max combs = 3, 13 faces. (b) max combs = 3, 13 faces.

(c) max combs = 5, 15 faces. (d) max combs = 5, 15 faces.

Figure 4.2: Different best solutions for Type A model. (a) and (b) result in 80% decrease and (c) and (d) in 77%.

The best solution for Type A is with a small number of max combs. The-oretically, as the model is becoming more complicated, max combs should be greater, as shown in Figure 4.3; for max combs = 5 in the Type A+ model, the algorithm manages to approximate the -best yet- solution of 13 faces.

(a) max combs = 3 with 32 faces, 90.4% decrease.

(b) max combs = 5 with 17 faces, 94.9% decrease.

Figure 4.3: Best solutions for Type A+ for different max combs.

(31)

in Figure 4.4, Type B ’s results are better with a smaller number of max combs, which is not the case for Type C. Nonetheless, max combs should be kept relatively small, as the computational time can explode when the algorithm has to iterate over thousands of faces (Table 4.1).

(a) Type B: max combs = 3 with 144 faces, 90.37% decrease.

(b) Type B: max combs = 5 with 157 faces, 89.51% decrease.

(c) Type C: max combs = 3 with 150 faces, 91.82% decrease.

(d) Type C: max combs = 5 with 110 faces, 94% decrease.

Figure 4.4: Type B and Type C models. The former has 1496 initial faces and the latter 1833.

model max combs=3 final/initial faces max combs=5 final/initial faces

Type A 3 sec 13/65 19.8 sec 15/65

Type A+ 1.2 min 32/334 6.1 min 15/334 Type B 36 min 144/1496 4.3 h 157/1496 Type C 29 min 150/1833 3 h 110/1833

Table 4.1: Running time for each model.

The recursive method seems to provide an important improvement and is a big step towards finding the optimal solution. It is a logical procedure that is built and improved step by step, making it easier to track defects and add new rules and requirements. Yet, it is relatively slow (models with thousands of initial faces can take many hours to complete) and its iterative nature is not robust - changing the order of the faces results in different solutions that could be far from optimal. In addition, the choice of max combs is heuristic;

(32)

it is not guaranteed to be optimal, but seems to be sufficient for the immediate goals. For the Type B and Type C models that consists of thousands of faces, a max combs greater than 5 could possibly provide further progress, but this report does not investigate this case because of memory and realistic time restrictions.

4.2

Genetic Algorithm

The Genetic Algorithm is implemented in Matlab R using the Global

Opti-mization Toolbox R. Parameter discovery was preformed heuristically through

testing and evaluation, and given the stochastic nature of the genetic algo-rithm, the results vary. In accordance to what was explained in 3.3.2, some important parameter tuning is as follows:

• Population Type: bitstring - the chromosomes have components that are 0 and 1.

• Creation Function: Uniform - random initial population with a uni-form distribution.

• Mutation Rate: each entry has a probability of 0.1 of being mutated. • Crossover Function: scattered - from a random binary vector, the

first parent are the 1 genes and the second parent the 0 genes.

• Population Size: 50.

The GA has two stopping criteria: a maximum generation limit (set to 3000) and a parameter called MaxStallGenerations (set to 100): if the best fitness candidate remains the same for 100 consecutive generations, the GA stops. Different population sizes were tested but resulted in no significant improve-ments combined with additional computational time. Furthermore, modify-ing the creation function to start with 90-100% edges on, instead of randomly selecting about 50% of them to be present, did not improve the solution. In general, after testing various combinations of the aforementioned parameters, the final choices lie between a moderate computational speed/time and good results.

(33)

of faces, lowering it down to 11 (Figure 4.5(a)). It timed at around 25 min-utes -which is significantly more that the 3-second result of the recursive-and it stopped after it met the MaxStallGenerations criterion. Yet, this 3% improvement compared to the recursive was a fairly important one, as it was an optimistic sign for the complex models.

However, this was not the case: for the Type A+ model, the GA was unable to approximate the minimum, it stopped after the maximum limit of 3000 generations and 18 hours of running, with a result of 33 faces (including six-sided and seven-six-sided), as demonstrated in Figure 4.5(b). Perhaps due to the fact that one single edge in Type A is equivalent to 5 or 6 consecutive edges in Type A+, the GA unfortunately fails to deliver when the model becomes very complicated. For that reason, models Type B and Type C were not fed to the genetic algorithm.

(a) Type A: 11 faces. (b) Type A+: 33 faces.

Figure 4.5: GA results for models Type A and Type A+.

4.3

Joint Version

The recursive method can vastly minimize the number of faces up to a certain point, but by observing its results it is obvious that there are indeed more possible combinations that cannot be made with max combs 6 5. One solution would be to raise the max combs value, but that simulation would require additional computational power and it would probably take many hours to complete, and still not guaranteed to improve the already found solution. At the same time, the GA is capable of returning good results, as long as the model remains relatively simple. Thus, combining the two approaches, we can run initially the recursive method to substantially reduce the number of faces and then feed the resulted model to the GA which in turn should be capable of approximating the optimum.

For both Type B and Type C models, there are noticeable removable edges to reduce the total number of faces, and at this point, even a very small

(34)

decrease in the amount of faces can be considered a successful step towards the optimal; delivering a simpler model (100-150 faces) instead of a 1496-sided one (Type B ) or a 1833-1496-sided one (Type C ) to the GA following the recursive method should produce satisfactory results.

(a) Type C: 35 faces: 1 three-sided, 26 four-sided, 6 five-sided, 2 seven-sided.

(b) Type B: 44 faces: 6 three-sided, 32 four-sided, 4 five-sided, 1 six-sided,

1 seven-sided.

Figure 4.6: Results of joint version: feeding the recursive method product to the GA.

The output of the GA for both models seems to be very solid: as illus-trated in Figure 4.6, the number of faces is reduced to a total of 35 for Type B and 44 for Type C, including however five, six and seven-sided faces. The faces that are five, six and seven-sided can be split into combinations of four and three; four being the optimal and the three-sided can pass as four-sided by defining them together with existing points to create degenerate corners. Although this would raise the number of faces from 35 to 51 (Type B ) and from 44 to 56 (Type C ), it can be considered trivial. Including the recursive method and the following GA, the running time for Type B and Type C was 8.2 and 5 hours respectively, resulting in a total decrease of over 97% for both models.

As illustrated in Figure 4.7, a proper selection of specific points and connec-tions can indeed result in larger, four-sided regions that retain their topolog-ical characteristics. These “superpatches” maintain their continuity across their boundaries and after being translated to a neutral exchange data file, the result is a more solid and compact model that escapes previous flaws and deficiencies.

(35)

(a) New rectangular regions defined in Fairway R based on

the results of the recursive method.

(b) Preview of the IGES file in Fairway R. Every region is split into

rectangular patches that conserve continuity along their limits thus

creating a more solid model.

Figure 4.7: Splitting model Type A into rectangular regions in Fairway R and the

(36)

Chapter 5

Conclusion

The problems that rise when using NURBS surfaces may contribute to lim-ited effectiveness and computational costs. This report described three meth-ods that can overcome the important rectangular constraint and generalized it to bigger rectangular regions. The first method, a recursive approach that unites adjacent patches in order to define larger rectangular faces offers a considerable improvement, though it comes with equivalent computational costs. For the second approach, the genetic algorithm can produce better results than the recursive, as long as the model is simple enough. For this reason, the third approach, a combination of the recursive and the GA man-ages to successfully decrease even further the total number of faces. Since every one of these approaches is applied directly after the design phase be-fore the model gets translated for possible CAD exchange, numerical and geometrical problems are substantially reduced.

Future Work

The methods described in this report could be improved in many ways, mainly focusing on time and memory costs.

• Memoization semantics could be used to “speed up programs by caching the results of expensive function calls and returning the cached result when the program is called with the same inputs”[46], but at the cost of system memory.

• Basic Matlab R is single-threaded and does not offer custom

(37)

cases such as matrix left division.

• Concerning the recursive method, the optimal value of max combs de-pends on the topology of each model; given more models, a parameter discovery program could choose the fittest value for each case.

• Further parameter tuning can be performed for the properties of the genetic algorithm, and a machine learning approach (instead of heuris-tically) can also be used provided more data.

(38)

References

[1] Larrie D Ferreiro and Fred Hocker. Ships and science: the birth of naval architecture in the scientific revolution, 1600-1800. Mit Press Cambridge, MA, and London, 2007.

[2] John Fincham. A History of Naval Architecture, to which is prefixed an introductory dissertation on the application of mathematical science to the art of naval construction. 1851.

[3] Horst Nowacki, MIG Bloor, and Boguslaw Oleksiewicz. Computational geometry for ships. World scientific, 1995.

[4] Mark De Berg, Otfried Cheong, Marc Van Kreveld, and Mark Overmars. Computational Geometry: Introduction. Springer, 2008.

[5] John F Hughes and James D Foley. Computer graphics: principles and practice. Pearson Education, 2014.

[6] Pierre Bezier et al. Mathematical and practical possibilities of unisurf. Computer Aided Geometric Design, 1(1), 1974.

[7] Wolfgang B¨ohm, Gerald Farin, and J¨urgen Kahmann. A survey of curve and surface methods in cagd. Computer Aided Geometric Design, 1(1):1 – 60, 1984.

[8] Gerald Farin. Curves and surfaces for computer-aided geometric design: a practical guide. Elsevier, 2014.

[9] Isaac J Schoenberg. Cardinal spline interpolation. SIAM, 1973.

[10] James Ferguson. Multivariable curve interpolation. J. ACM, 11(2):221– 228.

(39)

[11] Carl De Boor, Carl De Boor, Etats-Unis Math´ematicien, Carl De Boor, and Carl De Boor. A practical guide to splines, volume 27. Springer-Verlag New York, 1978.

[12] William J. Gordon and Richard F. Riesenfeld. Bernstein-b´Ezier methods for the computer-aided design of free-form curves and surfaces. J. ACM, 21(2):293–310.

[13] Eric W. Weisstein. B-spline. From MathWorld—A Wolfram Web Re-source. http://mathworld.wolfram.com/B-Spline.html. Online; ac-cessed 10-06-2017.

[14] What are NURBS?. Rhinoceros. http://www.rhino3d.com/nurbs/. [Online; accessed 10-06-2017].

[15] Eric W. Weisstein. Nurbs curve. From MathWorld—A Wolfram Web Re-source. http://mathworld.wolfram.com/NURBSCurve.html. Online; accessed 10-06-2017.

[16] Les Piegl. On nurbs: a survey. IEEE Computer Graphics and Applica-tions, 11(1):55–71, 1991.

[17] L Piegl and W Tiller. The nurbs book springer. New York, 1995.

[18] Herbert J Koelman and Bastiaan N Veelo. A technical note on the geometric representation of a ship hull form. Computer-Aided Design, 45(11):1378–1381, 2013.

[19] E Dimas and D Briassoulis. 3d geometric modelling based on nurbs: a review. Advances in Engineering Software, 30(9):741–751, 1999.

[20] Dmitry Ushakov. Nurbs and cad: 30 years together. http://isicad. net/articles.php?article_num=14940. Online; accessed 12-06-2017.

[21] Uwe Weissflog. Experience in design and implementation of an iges translator. Computers & graphics, 8(3):269–273, 1984.

[22] Peter R Wilson. A short history of cad data transfer standards. IEEE Computer Graphics and Applications, 7(6):64–67, 1987.

(40)

[23] H. Nowacki and L. Dannenberg. Approximation Methods Used in the Exchange of Geometric Information via the VDA/VDMA Surface In-terface, pages 150–159. Springer Berlin Heidelberg, 1986.

[24] Guk-Heon Choi, Duhwan Mun, and Soonhung Han. Exchange of cad part models based on the macro-parametric approach. International Journal of CAD/CAM, 2(1), 2009.

[25] Bradford M Smith. Iges: a key to cad/cam systems integration. IEEE Computer Graphics and Applications, 3(8):78–83, 1983.

[26] Bradford Smith and Joan Wellington. Initial graphics exchange speci-fication (iges); version 3.0. Technical report, US. Nat. Bureau Stand., 1986.

[27] Mangesh P Bhandarkar, Blair Downie, Martin Hardwick, and Rakesh Nagi. Migrating from iges to step: one to one translation of iges drawing to step drafting data. Computers in Industry, 41(3):261 – 277, 2000.

[28] ISO TC184 and SC ISO. 10303-42-part 42: Industrial automation systems and integration-product data representation and exchange-integrated generic resources: Geometric and topological representation. ISO, Geneva, 1994.

[29] Ari Rappoport. An architecture for universal cad data exchange. In Proceedings of the eighth ACM symposium on Solid modeling and appli-cations, pages 266–269. ACM, 2003.

[30] Lubomir Dimitrov and Fani Valchkova. Problems with 3d data exchange between cad systems using neutral formats. Proceedings in Manufactur-ing Systems, 6(3), 2011.

[31] Wikimedia Commons. File:ship lines (3d design).png-wikimedia com-mons, the free media repository, 2015. [Online; accessed 4-October-2017 ].

[32] Kwang Hee Ko. A survey: application of geometric modeling techniques to ship modeling and design. International Journal of Naval Architecture and Ocean Engineering, 2(4):177–184, 2010.

(41)

[33] SARC. Sarc pias manual. https://www.sarc.nl/images/manuals/ pias/htmlEN/fwy_fairway.html. Online; accessed 12-06-2017.

[34] D.E. Goldberg. Genetic Algorithms in Search, Optimization, and Ma-chine Learning. Addison-Wesley Publishing Company.

[35] Agoston E Eiben and Jim Smith. From evolutionary computation to the evolution of things. Nature, 521(7553):476–482, 2015.

[36] Kenneth A De Jong. Are genetic algorithms function optimizers? In PPSN, volume 2, pages 3–14, 1992.

[37] J Austin Cottrell, Thomas JR Hughes, and Yuri Bazilevs. Isogeometric analysis: toward integration of CAD and FEA. John Wiley & Sons, 2009.

[38] Thomas JR Hughes, John A Cottrell, and Yuri Bazilevs. Isogeomet-ric analysis: Cad, finite elements, nurbs, exact geometry and mesh refinement. Computer methods in applied mechanics and engineering, 194(39):4135–4195, 2005.

[39] Thomas W. Sederberg, Jianmin Zheng, Almaz Bakenov, and Ahmad Nasri. T-splines and t-nurccs. ACM Trans. Graph., 22(3):477–484, July 2003.

[40] David R. Forsey and Richard H. Bartels. Hierarchical b-spline refine-ment. In Proceedings of the 15th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’88, pages 205–212, New York, NY, USA, 1988. ACM.

[41] Michael A Scott, Derek C Thomas, and Emily J Evans. Isogeometric spline forests. Computer Methods in Applied Mechanics and Engineer-ing, 269:222–264, 2014.

[42] C. Walshaw, M. Cross, and M.G. Everett. Parallel dynamic graph par-titioning for adaptive unstructured meshes. Journal of Parallel and Distributed Computing, 47(2):102 – 108, 1997.

[43] Bruce Hendrickson and Robert Leland. An improved spectral graph par-titioning algorithm for mapping parallel computations. SIAM Journal on Scientific Computing, 16(2):452–469, 1995.

(42)

[44] Bruce Hendrickson and Robert Leland. A multilevel algorithm for par-titioning graphs. In Proceedings of the 1995 ACM/IEEE Conference on Supercomputing, Supercomputing ’95. ACM, 1995.

[45] George Karypis and Vipin Kumar. A fast and high quality multi-level scheme for partitioning irregular graphs. SIAM J. Sci. Comput., 20(1):359–392, December 1998.

[46] MathWorks. memoize. https://nl.mathworks.com/help/matlab/ ref/memoize.html. Online; accessed 12-06-2017.

Referenties

GERELATEERDE DOCUMENTEN

Champagne, 2014 Used to develop a logic model to describe and to evaluate the elements involved in knowledge creation. Models Iowa Model of Evidence Based Practice

• comfortable and effective in dealing with people at all levels in various organizations • comfortable working in a dynamic changing environment • enthusiastic

MGF: Stem cell factor; PRKC: protein kinase C; SPTBN: -spectrin non erythrocytic 1; THY: Thyrothropin; vWF: the exon 28 of von Willebrand factor; IRBP: exon one of

Rode klinkervlakken op de weg bleken in dit onderzoek verschillende effecten te hebben op het kijkgedrag, afhankelijk van elementen op de weg (aanwezigheid rode fietsstroken 

The cysteine residues in the CBM that take part in disulfide bridge formation are shown in bold type and the aromatic amino acids predicted to bind cellulose are underlined..

Het  terrein,  dat  op  de  topografische  kaart  aangegeven  staat  als  “Muizel”,  was  bij  aanvang  van 

1 Malm ¨o University Hospital, Lund University, Malm ¨o, Sweden, 2 Department of Electrical Engineering, ESAT-SISTA, Katholieke Universiteit Leuven, Leuven, Belgium, 3 San

In this chapter the actual order processing activity will be described, with which the first sub-question of this research project: What is the actual order flow of sales orders at