A tensorial approach to computational continuum mechanics using object-oriented techniques

AIP Publishing - Tập 12 Số 6 - Trang 620-631 - 1998
Henry Weller1, Gavin Tabor1, Hrvoje Jasak2, Christer Fureby3
1Department of Mechanical Engineering, Imperial College, London SW7 2BX, United Kingdom
2Computational Dynamics Limited, London W10 6RA, United Kingdom
3Department of Weapons and Protection, National Defense Research Establishment (FOA), S-17290 Stockholm, Sweden

Tóm tắt

In this article the principles of the field operation and manipulation (FOAM) C++ class library for continuum mechanics are outlined. Our intention is to make it as easy as possible to develop reliable and efficient computational continuum-mechanics codes: this is achieved by making the top-level syntax of the code as close as possible to conventional mathematical notation for tensors and partial differential equations. Object-orientation techniques enable the creation of data types that closely mimic those of continuum mechanics, and the operator overloading possible in C++ allows normal mathematical symbols to be used for the basic operations. As an example, the implementation of various types of turbulence modeling in a FOAM computational-fluid-dynamics code is discussed, and calculations performed on a standard test case, that of flow around a square prism, are presented. To demonstrate the flexibility of the FOAM library, codes for solving structures and magnetohydrodynamics are also presented with appropriate test case results given. © 1998 American Institute of Physics.

Từ khóa


Tài liệu tham khảo

1990, Comput. Struct., 34, 355, 10.1016/0045-7949(90)90261-Y

1993, Comput. Methods Appl. Mech. Eng., 108, 165, 10.1016/0045-7825(93)90159-U

1996, Appl. Numer. Math., 21, 439, 10.1016/S0168-9274(96)00044-X

1992, Comput. Methods Appl. Mech. Eng., 98, 291, 10.1016/0045-7825(92)90180-R

1997, ACM Trans. Math. Softw., 23, 32, 10.1145/244768.244774

1996, Comput. Methods Appl. Mech. Eng., 132, 259, 10.1016/0045-7825(96)01040-7

1996, Comput. Methods Appl. Mech. Eng., 132, 277, 10.1016/0045-7825(96)01041-9

1997, Phys. Fluids, 9, 1416, 10.1063/1.869254

1952, J. Res., 29, 409

1992, SIAM J. Comput., 13, 631, 10.1137/0913035

1986, J. Comput. Phys., 62, 40, 10.1016/0021-9991(86)90099-9

1986, J. Comput. Phys., 62, 66, 10.1016/0021-9991(86)90100-2

1974, Comput. Methods Appl. Mech. Eng., 3, 269, 10.1016/0045-7825(74)90029-2

1985, AIAA J., 23, 1308, 10.2514/3.9086

1975, Progress in the development of a Reynolds-stress Turbulence Closure, J. Fluid Mech., 68, 537, 10.1017/S0022112075001814

1963, Mon. Weather Rev., 91, 99, 10.1175/1520-0493(1963)091<0099:GCEWTP>2.3.CO;2

1975, J. Comput. Phys., 18, 376, 10.1016/0021-9991(75)90093-5

1986, Phys. Fluids A, 29, 2152, 10.1063/1.865552

1973, Trans. ASME, Ser. I: J. Fluids Eng., 156, 55

1992, J. Fluid Mech., 238, 155, 10.1017/S0022112092001678

1988, Exp. Fluids, 6, 298, 10.1007/BF00538820

1978, J. Fluid Mech., 86, 491, 10.1017/S0022112078001251

1992, Phys. Fluids A, 4, 1510, 10.1063/1.858424

1994, Int. J. Numer. Methods Eng., 37, 3751, 10.1002/nme.1620372110

1995, Comput. Methods Appl. Mech. Eng., 125, 235, 10.1016/0045-7825(95)00800-G