A bisection algorithm for the numerical Mountain Pass

Free download. Book file PDF easily for everyone and every device. You can download and read online A bisection algorithm for the numerical Mountain Pass file PDF Book only if you are registered here. And also you can download or read online all Book PDF file that related with A bisection algorithm for the numerical Mountain Pass book. Happy reading A bisection algorithm for the numerical Mountain Pass Bookeveryone. Download file Free Book PDF A bisection algorithm for the numerical Mountain Pass at Complete PDF Library. This Book have some digital formats such us :paperbook, ebook, kindle, epub, fb2 and another formats. Here is The CompletePDF Book Library. It's free to register here to get Book file PDF A bisection algorithm for the numerical Mountain Pass Pocket Guide.

The metric used for measuring the size of the partitions should reflect the amount of computation to be performed between communication steps. In the case of multigrid with FuDoP, where communication occurs after each half V-cycle, the metric should take into account the grid at each level, not just the finest grid. The partitioning algorithm should be flexible enough to allow alternative metrics, possibly through the use of weighted elements.

This property is very important in adaptive multilevel methods where the solver is applied to a sequence of adaptively refined grids. After each repartitioning, which may occur after each refinement phase, the data must be redistributed among the processors. If the new partition differs greatly from the old partition, the amount of communication that occurs during redistribution can be overwhelming.

It is desirable for the difference between the old and new partitions to be a section of elements near the partition boundaries, so that the effect is a migration of elements to neighboring processors. A similar property applies to the context of adaptive grids for time dependent problems. However, in the context presented in Sec.

The crossings property is more important in contexts where many iterations of the solver are performed between repartitionings. It should, however, still be considered as one of the important properties in the current context. With FuDoP, the measure associated with the crossings property should be modified slightly.

Citations per year

This can be approximated by summing the number of crossings over all the multigrid levels. This is a desirable property, but not generally that important. If this property holds, then it intuitively improves the properties of crossings and neighbors defined below. However it is not a necessary condition for those properties. In the context of FuDoP it is a little more important because a fragmented partition will produce a larger number of additional elements to cover the full domain.

This would be important for a parallel multigrid method that performs communication on each grid during the multigrid cycle. However, with FuDoP the communication occurs after each half V-cycle, so it is more important to consider the sequence of grids as a whole rather than the individual grids. Generally, this is an important property, especially in high latency environments where the message start-up time is large.

Example of bisection method

In the context of FuDoP as it is currently formulated, this property is irrelevant because there is full connectivity in the communication pattern between the processes. Several algorithms for partitioning nonuniform grids have been developed. Some of these have been implemented in the Chaco software package [ 17 ], and others are described elsewhere, for example [ 18 , 19 , 16 ].

These methods can be divided into two classes: slow nearly-optimal methods and fast suboptimal methods. The slow methods produce partitions that are nearly optimal in terms of some property, usually minimization of the number of crossings.

These methods are appropriate for static load balancing where a grid will be partitioned once, and that partition will be used many times. The fast methods are more appropriate for dynamic load balancing where one is willing to sacrifice some optimality for the sake of speed. In this section the refinement-tree partitioning algorithm introduced in Ref.

Donate to arXiv

This method is based on the refinement tree that is generated during the process of adaptive grid refinement. It is not as generally applicable as the other fast algorithms, which use only information contained in the final grid, but in the context of adaptive multilevel methods it is able to produce higher quality partitions by taking advantage of the additional information about how the grid was generated.

The refinement-tree partitioning algorithm is a recursive bisection method. This means that the core of the algorithm partitions the data into two sets, i. The algorithm then bisects those two sets to produce four sets, and so forth until the desired number of sets is produced. Recursive bisection methods can only be used when the desired number of sets is a power of 2, which is a common situation on multiprocessors.

As presented, the algorithm depends on refinement being performed by bisection of triangles [ 4 ] which produces a binary refinement tree. Slight modifications to the algorithm are required for other settings. For example, if refinement divides an element into four parts instead of two, intermediate layers can be inserted in the refinement tree to convert the quadtree to a binary tree. The refinement tree of an adaptive triangular grid generated by bisection refinement is a binary tree containing one node for each triangle that appears during the refinement process.

It may actually be a forest, but the individual trees can be connected into a single tree by adding artificial nodes above the roots.

Pdf A Bisection Algorithm For The Numerical Mountain Pass 2000

The two children of a node correspond to the two triangles that are formed by bisecting the triangle corresponding to the parent node. In Fig. The nodes of the tree have two weights associated with them; a personal weight and a subtree weight. The personal weight is a representation of the computational work associated with the corresponding triangle.

For example, a smaller weight can be used for elements containing Dirichlet boundary equations which require less computation than interior equations. Also note that the interior nodes, i. These nodes can be assigned nonzero weights to represent the computation on the coarser grids of the multigrid algorithm, which is not possible with partitioning algorithms that only consider the finest grid. For simplicity, in this paper a weight of 1 is assigned to the leaf nodes and 0 to the interior nodes, which produces a partition that equally divides the number of triangles in the finest grid.


This is a first order approximation to the computational load. The subtree weight of a node is the sum of the personal weights in the subtree rooted at that node. The algorithm for bisecting the grid into two equal sized sets is given in Fig. It begins by computing the subtree weight for each node. This can be performed in O N operations for N triangles, using a depth first traversal of the tree. Initially the two sets are empty and the weights of the sets are zero.

The algorithm traverses a path down the tree called the bisection path. At each two-child node in the path, one of the children and the subtree below it is assigned to one of the two sets, the subtree weight is added to the weight of that set, and the other child becomes the next node in the bisection path.

Lecture Notes

This process is explained in detail in the next paragraph. If a node in the bisection path has only one child this cannot happen with the initial bisection of the whole refinement tree, but can occur when recursively bisecting the resulting subtrees where one of the children may be omitted , then the algorithm simply moves to that child. Eventually a leaf will be reached, at which point it is placed in the smaller set and the bisection is complete.

The bulk of the work occurs at nodes that have two children.

First a set is selected for each child for possible assignment. The first time the selection is made, it is arbitrary. After that, the triangle associated with one of the children will share a side with the triangle associated with the sibling of the parent. The selection for that child is the set to which the sibling of the parent has been assigned. The selection for the other child is the other set. This selection guarantees that the partitions remain connected. Next, for each child the sum of the subtree weight of the child plus the weight of the selected set is examined.

The child with the smaller sum is assigned to the selected set, along with the subtree below it, and the weight of the set is increased by the subtree weight of the child. The other child becomes the next node in the bisection path. After the bisection is complete, two subtrees are formed. Each consists of the nodes assigned to one of the sets, plus as much of the bisection path as is needed to connect the subtree.

The bisection algorithm is applied to each of these subtrees to partition the nodes into four sets. This process repeats until the desired number of sets is achieved. Figure 4 illustrates the bisection algorithm for a simple triangulation. Light and dark grey are used to represent the two sets; the white nodes are on the bisection path.

The nodes are labeled with the subtree weights. The assignment of the triangles to sets after each step is also illustrated. The refinement-tree partitioning algorithm was originally designed with the goal of producing equal sized, connected partitions quickly. However, it performs quite well in terms of the other properties of Sec. In this section the most important properties are examined for the refinement-tree partitioning algorithm in the context established in Sec.

Both theoretical and numerical results are presented. The process of summing the weights requires a depth first traversal of the refinement tree, which can be done in O N operations where N is the number of triangles. The remainder of the partitioning algorithm just traverses a path from the root to a leaf of the tree. This process requires O number of levels operations, which is typically O log N. In numerical experiments [ 16 ], the time required by the refinement-tree partitioning algorithm was comparable to the time used by fast, low-quality partition algorithms like inertial bisection [ 17 ].

As pointed out in Sec. Table 1 presents the results of numerical computations with the example problem with approximately 60 vertices in the grid.

Pdf A Bisection Algorithm For The Numerical Mountain Pass

The CPU time is shown for the refinement, partition and multigrid phases. These results show that the partition algorithm is faster than the refinement and solution algorithms. It may be observed that while the time used by refinement and solution decreases with the number of processors, the time for partitioning is constant in Table 1. However, this is just a consequence of the log p factor in the operation count while p is small. The dominant part of the operation count for large N is asymptotically cN log p.