Solving shallow-water systems in 2D domains using finite volume methods and multimedia SSE instructions.

*(English)*Zbl 1211.76074Summary: The goal of this paper is to construct efficient parallel solvers for 2D hyperbolic systems of conservation laws with source terms and nonconservative products. The method of lines is applied: at every intercell a projected Riemann problem along the normal direction is considered which is discretized by means of well-balanced Roe methods. The resulting 2D numerical scheme is explicit and first-order accurate. In [M. J. Castro, J. A. García, J. M. González, C. Parés, A parallel 2D Finite Volume scheme for solving systems of balance laws with nonconservative products: Application to shallow flows, Comput. Methods Appl. Mech. Eng. 195, No. 19–22, 2788–2815 (2006; Zbl 1388.76169)] a domain decomposition method was used to parallelize the resulting numerical scheme, which was implemented in a PC cluster by means of MPI techniques.

In this paper, in order to optimize the computations, a new parallelization of SIMD type is performed at each MPI thread, by means of SSE (“Streaming SIMD Extensions”), which are present in common processors. More specifically, as the most costly part of the calculations performed at each processor consists of a huge number of small matrix and vector computations, we use the Intel\(^{\circledR}\) Integrated Performance Primitives small matrix library. To make easy the use of this library, which is implemented using assembler and SSE instructions, we have developed a C++ wrapper of this library in an efficient way. Some numerical tests were carried out to validate the performance of the C++ small matrix wrapper. The specific application of the scheme to one-layer Shallow-Water systems has been implemented on a PC’s cluster. The correct behavior of the one-layer model is assessed using laboratory data.

In this paper, in order to optimize the computations, a new parallelization of SIMD type is performed at each MPI thread, by means of SSE (“Streaming SIMD Extensions”), which are present in common processors. More specifically, as the most costly part of the calculations performed at each processor consists of a huge number of small matrix and vector computations, we use the Intel\(^{\circledR}\) Integrated Performance Primitives small matrix library. To make easy the use of this library, which is implemented using assembler and SSE instructions, we have developed a C++ wrapper of this library in an efficient way. Some numerical tests were carried out to validate the performance of the C++ small matrix wrapper. The specific application of the scheme to one-layer Shallow-Water systems has been implemented on a PC’s cluster. The correct behavior of the one-layer model is assessed using laboratory data.

##### MSC:

76M12 | Finite volume methods applied to problems in fluid mechanics |

65M06 | Finite difference methods for initial value and initial-boundary value problems involving PDEs |

76B15 | Water waves, gravity waves; dispersion and scattering, nonlinear interaction |

65Y10 | Numerical algorithms for specific classes of architectures |

##### Keywords:

conservation laws; shallow-water equations; geophysical flows; nonconservative products; finite volume methods; parallelization; SIMD parallelism; SSE instructions
PDF
BibTeX
XML
Cite

\textit{M. J. Castro} et al., J. Comput. Appl. Math. 221, No. 1, 16--32 (2008; Zbl 1211.76074)

Full Text:
DOI

##### References:

[1] | Bermúdez, A.; Vázquez-Cendón, M.E., Upwind methods for hyperbolic conservation laws with source terms, Comput. & fluids, 23, 8, 1049-1071, (1994) · Zbl 0816.76052 |

[2] | Bouchut, F., Nonlinear stability of finite volume methods for hyperbolic conservation laws and well-balanced schemes for sources, (2004), Birkhäuser · Zbl 1086.65091 |

[3] | Castro, M.J.; Macías, J.; Parés, C., A \(Q\)-scheme for a class of systems of coupled conservation laws with source term. application to a two-layer 1-D shallow water system, ESAIM-math. model. num., 35, 1, 107-127, (2001) · Zbl 1094.76046 |

[4] | Castro, M.J.; Ferreiro, A.; García, J.A.; González, J.M.; Macías, J.; Parés, C.; Vázquez-Cendón, M.E., On the numerical treatment of wet/dry fronts in shallow flows: application to one-layer and two-layers systems, Math. comput. modelling, 42, 419-439, (2005) · Zbl 1121.76008 |

[5] | Castro, M.J.; García, J.A.; González, J.M.; Pares, C., A parallel 2D finite volume scheme for solving systems of balance laws with nonconservative products: application to shallow flows, Comput. methods appl. mech. engrg., 196, 2788-2815, (2006) · Zbl 1388.76169 |

[6] | Castro, M.; Gallardo, J.M.; Parés, C., High order finite volume schemes based on reconstruction of states for solving hyperbolic systems with nonconservative products. applications to shallow water systems, Math. comput., 75, 1103-1134, (2006) · Zbl 1096.65082 |

[7] | Castro, M.J.; González, J.M.; Parés, C., Numerical treatment of wet/dry fronts in shallow flows with a modified roe scheme, Math. models methods appl. sci., 16, 897-931, (2006) · Zbl 1136.65330 |

[8] | M.J. Castro, E.D. Fernández-Nieto, A. Ferreiro, J.A. García-Rodríguez, C. Parés, High order extensions of Roe schemes for two dimensional nonconservative hyperbolic systems (2007) (submitted for publication) |

[9] | Dal Maso, G.; LeFloch, P.G.; Murat, F., Definition and weak stability of nonconservative products, J. math. pures appl., 74, 483-548, (1995) · Zbl 0853.35068 |

[10] | Douze, M., Accéleration SIMD d’un calcul matriciel: comparison de trois plateformes, () |

[11] | A. Ferreiro Ferreiro, Desarrollo de técnicas de post-proceso de flujos hidrodinámicos, modelización de problemas de transporte de sedimentos y simulación numérica mediante técnicas de volúmenes finitos, Ph.D. Thesis, Universiad de Sevilla, 2006 |

[12] | Gallardo, J.M.; Parés, C.; Castro, M., On a well-balanced high-order finite volume scheme for shallow water equations with topography and dry areas, J. comput. phys., 227, 574-601, (2007) · Zbl 1126.76036 |

[13] | Gallouet, T.; Herard, J.M.; Seguin, N., Some approximate Godunov schemes to compute shallow-water equations with topography, Comput. & fluids, 32, 4, 479-513, (2003) · Zbl 1084.76540 |

[14] | Garbow, B.S.; Boyle, J.M.; Dongarra, J.; Moler, C.B., () |

[15] | Harten, A.; Hyman, J.M., Self-adjusting grid methods for one-dimensional hyperbolic conservation laws, J. comput. phys., 50, 235-269, (1983) · Zbl 0565.65049 |

[16] | Intel^© Corporation. Intel© Integrated Performance Primitives for Intel© Architecture, Reference Manual, vol. 3: Small Matrices, Document Number: A68761-005, 2004 |

[17] | LeFloch, P.G., Hyperbolic systems of conservation laws, the theory of classical and nonclassical shock waves, () · Zbl 1019.35001 |

[18] | Parés, C.; Castro, M.J., On the well-balance property of roe’s method for nonconservative hyperbolic systems. applications to shallow-water systems, ESAIM-math. model. num., 38, 5, 821-852, (2004) · Zbl 1130.76325 |

[19] | E. Peña, et al. A physical laboratory model and numerical model for the study of River Mero floodings (2007) (submitted for publication) |

[20] | Roe, P.L., Upwinding difference schemes for hyperbolic conservation laws with source terms., (), 41-51 |

[21] | Hagen, T.R.; Henriksen, M.O.; Hjelmervik, J.; Lie, K.-A., How to solve systems of conservation laws numerically using the graphics processor as a high-performance computational engine, () · Zbl 1126.65074 |

[22] | Stroustrup, B., The C++ programming language, (1997), Addison Wesley |

[23] | Toro, E.F., Shock-capturing methods for free-surface shallow flows, (2001), Wiley · Zbl 0996.76003 |

[24] | Toumi, I., A weak formulation of roe’s approximate Riemann solver, J. comput. phys., 102, 2, 360-373, (1992) · Zbl 0783.65068 |

[25] | Vázquez-Cendón, M.E., Improved treatment of source terms in upwind schemes for the shallow water equations in channels with irregular geometry, J. comput. phys., 148, 497-526, (1999) · Zbl 0931.76055 |

This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.