**Also available as eBook on:**

**Fast Solvers for Mesh-Based Computations** presents an alternative way of constructing multi-frontal direct solver algorithms for mesh-based computations. It also describes how to design and implement those algorithms.

The book’s structure follows those of the matrices, starting from tri-diagonal matrices resulting from one-dimensional mesh-based methods, through multi-diagonal or block-diagonal matrices, and ending with general sparse matrices.

Each chapter explains how to design and implement a parallel sparse direct solver specific for a particular structure of the matrix. All the solvers presented are either designed from scratch or based on previously designed and implemented solvers.

Each chapter also derives the complete JAVA or Fortran code of the parallel sparse direct solver. The exemplary JAVA codes can be used as reference for designing parallel direct solvers in more efficient languages for specific architectures of parallel machines.

The author also derives exemplary element frontal matrices for different one-, two-, or three-dimensional mesh-based computations. These matrices can be used as references for testing the developed parallel direct solvers.

Based on more than 10 years of the author’s experience in the area, this book is a valuable resource for researchers and graduate students who would like to learn how to design and implement parallel direct solvers for mesh-based computations.

**Multi-Frontal Direct Solver Algorithm for Tri-Diagonal and Block-Diagonal One-Dimensional Problems **Derivation of the Linear System for One-Dimensional Finite Difference Method

Algebraic Algorithm of the Multi-Frontal Solver

Graph-Grammar Based Model of Concurrency of the Multi-Frontal Solver Algorithm

One-Dimensional Finite Element Method with Linear Basis Functions

One-Dimensional Isogeometric Collocation Method with Quadratic B-Splines

One-Dimensional Finite Element Method with Buble Basis Functions

**One-Dimensional Non-Stationary Problems**

Euler Scheme with Respect to Time Mixed with Finite Element Method with Linear

Basis Functions with Respect to Space

α-Scheme with Respect to Time Mixed with Method with Linear Basis Functions

for Space

**Multi-Frontal Direct Solver Algorithm for Multi-Diagonal One-Dimensional Problems**

One-Dimensional Collocation Method with Higher Order B-Splines

One-Dimensional Isogeometric Finite Element Method

**Two-Dimensional Projection Problem with Linear Basis Functions**

Multi-Frontal Direct Solver Algorithm for Two-Dimensional Grids with Block Diagonal

Structure of the Matrix

Multi-Frontal Direct Solver Algorithm for Two-Dimensional Grids with Block Diagonal

Structure of the Matrix

Two-Dimensional Mesh with Anisotropic Edge Singularity

Two-Dimensional Mesh with Point Singularity

**Multi-Frontal Direct Solver Algorithm for Three-Dimensional Grids with Block Diagonal Structure of the Matrix**

Three-Dimensional Projection Problem with Linear Basis Functions

Three-Dimensional Mesh with Anisotropic Face Singularity

Three-Dimensional Mesh with Anisotropic Edge Singularity

Three-Dimensional Mesh with Point Singularity

**Multi-Frontal Direct Solver Algorithm for Two-Dimensional Isogeometric Finite**

Element Method

Isogeometric Finite Element Method for Two-Dimensional Problems

Element Method

Graph-Grammar for Generation of the Elimination Tree

Graph-Grammar Productions for the Solver Algorithm

**Expressing Partial LU Factorization by BLAS Calls**

LU Factorization of A(1,1)

Multiplication of A(1,2) by the Inverse of A(1,1)

Multiplication of b(1) by the Inverse of A(1,1)

Matrix Multiplication and Subtraction A(2,2)=A(2,2)-A(2,1)A(1,2)

Matrix Vector Multiplication and Subtraction b(2)=b,2)-A(2,1)b(1)

Example

**Multi-Frontal Solver Algorithm for Arbitrary Mesh-Based Computations**

Multi-Frontal Solver Algorithm for Arbitrary Grids

Hypermatrix Module

Elimination Tree Module

Supernodes System Module

Interface

Structure of Matrices for Different Two-Dimensional Methods

**Elimination Trees and Multi-Frontal Solvers**

Elimination Trees

Elimination Trees

Quasi-Optimal Elimination Tree for Two-Dimensional Mesh with Point Singularity

Quasi-Optimal Elimination Tree for Two-Dimensional Mesh with Edge Singularity

Nested-Dissection Elimination Tree for Two-Dimensional Mesh with Edge Singularity

Minimum Degree Tree for Two-Dimensional Mesh with Edge Singularity

Estimation of the Number of Floating Point Operations and Memory Usage

Elimination Trees for Three-Dimensional Grids

**Idea of the Reutilization Algorithm**

Reutilization and Reuse of Partial LU Factorizatons

Reutilization and Reuse of Partial LU Factorizatons

Exemplary Implementation of the Reutilization Algorithm

Idea of the Reuse Algorithm

Exemplary Implementation of the Reuse Algorithm

**Numerical Experiments**

Measuring the Solver Performance by Means of Execution Time

Measuring the Solver Performance by Means of the Number of Floating Point Operations (FLOPs)

Measuring the Solver Performance by Means of the Efficiency and Speedup

Graph-Grammar Based Multi-Thread GALOIS Solver for Two-Dimensional Grids with Singularities

Graph-Grammar Based Multi-Thread GALOIS Solver for Three-Dimensional Grids with Singularities

Graph-Grammar Based GPU Solver for One-Dimensional Isogoemetric Finite Element Method

Graph-Grammar Based GPU Solver for Two-Dimensional Isogoemetric Finite Element Method

Graph-Grammar Based Solver for Two-Dimensional Adaptive Finite Element Method

Graph-Grammar Based Solver for Three-Dimensional Adaptive Finite Element

Method

### Biography

**Maciej Paszynski,** PhD, Department of Computer Science, Electronics and Telecommunications, AGH University of Science and Technology, Kraków, Poland

"The author describes how to design and implement effi□cient parallel multi-frontal direct solver algorithms for mesh-based computations.Each chapter explains how to design and implement a parallel sparse direct solver specific for a particular structure of the matrix. All the solvers presented are either designed from scratch or based on previously designed and implemented solvers.

The book's structure follows that of the matrices, starting from tri-diagonal matrices resulting from one-dimensional mesh-based methods, through multi-diagonal or block-diagonal matrices, and ending with general sparse matrices.

In each chapter JAVA or Fortran codes of the parallel sparse direct solver are listed. The author also derives exemplary element frontal matrices for different one-, two-, or three-dimensional mesh-based computations. These matrices can be used as references for testing the developed parallel direct solvers.

The book represents a valuable resource for researchers and graduate students who would like to learn how to design and implement parallel direct solvers for mesh-based computations."

~Nicola Mastronardi,Mathematical Reviews, 2017