Skip to main content
Log in

An Object-Oriented Toolbox for Spectral Element Analysis

  • Published:
Journal of Scientific Computing Aims and scope Submit manuscript

Abstract

A common bottleneck for numericists is the complexity of the implementation programs. The usual procedural programming approach demands time and effort to program, develop, and test new formulations. This article addresses a particularly involved subject area, that of spectral element methods with mortars for large-scale applications. It is shown that the implementation burden can be alleviated by resorting to an object-oriented design approach. A toolbox consisting of a set of object-oriented classes is discussed. In order to solve a particular problem at hand, the user proceeds by creating an application where he/she loosely activates objects of the classes. When an operation exceeds the functionalities of the classes, the user can enrich these classes or create new ones. Practical examples are provided. Issues concerning computational efficiency and concurrent execution are addressed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

REFERENCES

  • Adeli, H., and Yu, G. (1995). An integrated computing environment for solution of complex engineering problems using the object-oriented programming approach and a blackboard architecture, Computers & Structures 54(2), 255–265.

    Google Scholar 

  • Anagnostou, G., Maday, Y., Mavriplis, C., and Patcra, A. T. (1990). On the mortar element method: Generalizations and implementation, Proc. Third Int. Conf. Domain Decomposition Methods for P.D.E., SIAM, Philadelphia.

    Google Scholar 

  • Anagnostou, G. (1991). Nonconforming sliding spectral element methods for the unsteady incompressible Navier-Stokes equations, Ph.D. thesis, Massachusetts Institute of Technology, Cambridge, Massachusetts.

    Google Scholar 

  • Arge, E., Bruaset, A. M., Calvin, P. B., Kanney, J. F., Langtangen, H. P., and Miller, C. T. (1997). On the numerical efficiency of C++ in scientific computing. In Daehlen, M., and Tveito, A. (eds.), Numerical Methods and Software Tools in Industrial Mathematics, Birkhäuser, Berlin, pp. 91–118.

    Google Scholar 

  • Balay, S., Gropp, W. D., Curfman McInnes, L., and Smith, B. F. (1997). Efficient management of parallelism in object-oriented numerical software libraries. In Arge, E., Bruaset, A. M., and Langtangen, H. P. (eds.), Modern Software Tools for Scientific Computing, Birkhäuser, Boston, pp. 45–62

    Google Scholar 

  • Bernardi, C., Maday, Y., and Patera, A. T. (1990). A new nonconforming approach to domain decomposition: The mortar element method. In Brezis, H. and Lions, J. L. (eds.), Nonlinear Partial Differential Equations and Their Applications, Collège de France seminar, Pitman.

    Google Scholar 

  • Bernardi, C., and Maday, Y. (1992). Approximations Spectrales de Problèmes aux Limites Elliptiques, Springer-Verlag, Paris (in French).

    Google Scholar 

  • Bruaset, A. M., and Langtangen, H. P. (1997). Object-oriented design of preconditioned iterative methods in Diffpack, ACM Trans. Math. Software 23(1), 50–80.

    Google Scholar 

  • Buffat, M., Yudianan, I., and Leribault, C. (1997). Parallel simulation of turbulent compressible flows with unstructured domain partitioning—Performance on T3D and SP2 using OOP. In Schiano, P., Ecer, A., Periaux, J., and Satofuka, N. (eds.), Parallel Computational Fluid Dynamics: Algorithins and Results Using Adranced Computers, Elsevier, pp. 76–83.

  • Cardona, A., Klapka, I., and Géradin, M. (1994). Design of a new finite element programming environment, Eng. Comput. 11, 365–381.

    Google Scholar 

  • Carey, G., Schmidt, J., Singh, V., and Yelton, D. (1994). A prototype scalable, object-oriented finite element solver on multicomputers, J. Parallel and Distributed Comput. 20, 357–379.

    Google Scholar 

  • Chandra, S., Woodman, N. J., and Blockley, D. I. (1994). An object-oriented structure for transient dynamics on concurrent computers, Computers and Structures 51(4), 437–452.

    Google Scholar 

  • Couzy, W., and Deville, M. O. (1994). Spectra-element preconditioners for the Uzawa pressure operator applied to incompressible flows, J. Sci. Comput. 9(2), 107–122.

    Google Scholar 

  • Couzy, W. (1995). Spectral element discretization of the unsteady Navier-Stokes equations and its iterative solution on parallel computers. Ph. D. thesis, 1380, EPFL-DGM-LMF, 1015 Lauzanne, Switzerland.

    Google Scholar 

  • Devloo, P. R. B. (1994). Efficiency issues in an object oriented programming environment. In Topping, B. H. V., and Papadrakakis, M. (eds.), Artificial Intelligence and Object Oriented Approches for Structural Engineering, Civil-Comp Ltd., pp. 147–151.

  • Dubois-Pèlerin, Y., and Zimmerman, T. (1993). Object-oriented finite element programming: III. An efficient implementation in C++, Computer Methods Appl. Mech. Eng. 108. 165–183.

    Google Scholar 

  • Dubois-Pélerin, Y. (1998). Speculoos, Programmer's Manual: An Object-Oriented Toolbox for the Numerical Solution of Partial Differential Equations by the Spectral and Mortar Element Method, Programmer's Mannual, Swiss Fed. Inst. of Technology, EPFL-DGM-LMF. 1015 Lausanne, Switzerland.

    Google Scholar 

  • Dubois-Pèlerin, Y., and Pegon, P. (1998). Object-oriented programming in nonlinear finite element analysis, Computers and Structures 67, 225–241.

    Google Scholar 

  • Fenves, G. L. (1990). Object-oriented programming for engineering software development, Eng. Computers 6, 1–15.

    Google Scholar 

  • Fischer, P. F. (1996). Parallel multi-level solvers for spectral element methods. In Ilin, A. V., and Scott L. Ridgway (eds.), ICOSAHOM'95: Proc. Third Int. Conf. Spectral and High Order Methods, Houston, Texas, 5–9, June 1995, pp. 595–604.

  • Fluent, Fluent Inc., Nekton-Spectral Elements Based Computational Fluid Dynamics Software, available via http://www.fluent.com.

  • Gordon, W. J., and Hall, C. A. (1973). Construction of curvilinear co-ordinate systems and application to mesh generation. Int. J. Numerical Methods Eng. 7, 461–477.

    Google Scholar 

  • Gottlieb, D., and Orszag, S. A. (1977), Numerical Analysis of Spectral Methods: Theory and Applications, SIAM Publications, Philadelphia.

    Google Scholar 

  • Gruber, R., and Gunzinger, A. (1997). The Swiss-Tx supercomputer project, EPFL Supercomputing Rer, 9, 21–23, Nov. 97 (EPFL-SIC, P. O. Box 121, 1015 Lausanne, Switzerland). Also available via http://sawww.epfl.ch/SIC/SA/publications.

    Google Scholar 

  • Hatakeyama, M., Watanabe, M., and Suzuki, T. (1998). Object-oriented fluid flow simulation system, Computers and Fluids 27(5/6), 581–597.

    Google Scholar 

  • Joyner, I. (1996). C++ ??: A Critique of C++, Third Edition. Available via http://www.progsoc.uts.edu.au/~geldridg/epp/eppscr3/index.html.

  • Mackie, R. I. (1997). Using objects to handle complexity in finite element software. Eng. Computers 13, 99–111.

    Google Scholar 

  • Maday, Y., and Patera, A. T. (1989). Spectral element methods for the incompressible Navier-Stokes equations. In Noor, A. K., and Oden, J. T. (eds.), State-of-the-Art Surreys on Computational Mechanics, The American Society of Mechanical Engineers, New York, pp. 71–143.

    Google Scholar 

  • Meyer, B. (1997). Object-Oriented Software Construction, Second Edition, Prentice-Hall PTR, Upper Saddle River, New Jersey.

    Google Scholar 

  • Miller, G. R. (1991). An object-oriented approach to structural analysis and design, Computers and Structures 40(10), 75–82.

    Google Scholar 

  • Modak, S., Sotelino, E. D., and Hsieh, S. H. (1997). A parallel matrix class library in C++ for computational mechanics applications, Microcomput. Civil Eng. 12, 83–99.

    Google Scholar 

  • Olsson, H. (1997). Object-oriented solvers for initial value problems. In Arge, E., Bruaset, A. M., and Langtangen, H. P. (eds.), Modern Software Tools for Scientific Computing. Birkhäuser, Boston, pp. 45–62.

    Google Scholar 

  • Patera, A. T. (1984). A spectral element method for fluid dynamics: Laminar flow in a channel expansion, J. Comput. Phys. 54, 468–488.

    Google Scholar 

  • Shen, J. (1991). Hopf bifureation of the unsteady regularized driven cavity flow. J. Comput. Phys. 95, 228–245.

    Google Scholar 

  • SINTEF, The Diffpack WWW home page, SINTEF, Oslo, Norway. Available via http://wwwnobjeets.com/Diffpack.

  • Snir, M., Otto, S. W., Huss-Lederman, S., Walker, D. W., and Dongarra, J. (1996). MPI: The Complete Reference, Scientific and Engineering Computation Series, The MIT Press, Cambridge, Massachusetts.

    Google Scholar 

  • Veldhuizen, T. (1997). Scientific computing: C++ versus Fortran, Dr. Dobb's Journal, pp. 34–38.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Dubois-Pelerin, Y., van Kemenade, V. & Deville, M. An Object-Oriented Toolbox for Spectral Element Analysis. Journal of Scientific Computing 14, 1–29 (1999). https://doi.org/10.1023/A:1025677921253

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1025677921253

Navigation