4.3  Subroutines LIBEM2, LIBEM3 and LIBEMA

In this Section the subroutines LIBEM2, LIBEM3 and LIBEMA are introduced. LIBEM2 can be downloaded directly from this page, the other routines are available as part of the BEMLAP package The purpose of the subroutines is to solve the interior Laplace problem. Each subroutine's parameter list has the following general form:

SUBROUTINE LIBEM{2 or 3 or A(}

description of boundary and set of interior solution points,

boundary condition,

incident field at boundary points and at interior solution points,

control and validation parameters,

solution at boundary points and at interior solution points (solution),

working space )

The subroutines require input of the conditions of the Laplace field - the wavenumber, a geometrical description of the boundary of the domain (as covered in Chapter 2) and a list of the points in the interior domain where a solution is sought, the boundary condition and the incident field (if any). The subroutine returns the solution at the boundary points and at the selected points in the domain. The use of the subroutines are demonstrated by the programs LIBEM2_T, LIBEM3_T and LIBEMA_T in the next Section.

4.3.1  Solution Strategy of the LIBEM* routines

In the LIBEM* routines the interior Laplace equation is solved by the improved direct boundary element method. That is finding the solution of (65) subject to the discrete boundary condition (66). This will result in obtaining (approximations to) both f and v on S. The solution in the domain is then found using equation (67).

4.3.2  Subroutine LIBEM2

Subroutine LIBEM2 computes the solution of the two-dimensional Laplace equation in the domain interior to a closed boundary. The boundary (S) is approximated by a set of straight line elements. The subroutine parameters that specify the interior two-dimensional Laplace problem must be set up in the main program. Let this be called MAIN.FOR. The following files must be linked together to construct the complete program:

MAIN.FOR (and files containing any user-defined sub-programs for example LIBEM2_T.FOR ),

LIBEM2.FOR , the subroutine for solving the 2D Laplace problem,

L2LC.FOR, the file for computing the discrete operators - see Chapter 3,

GLS.FOR , the file for computing the solution to a linear system - see Appendix 1,

GEOM2D.FOR , the file for 2D geometry - see Appendix 2.

4.3.3  Subroutine LIBEM3

Subroutine LIBEM3 computes solution of the three-dimensional Laplace equation in the domain interior to a closed surface. The boundary (S) is approximated by a set of planar triangular elements. The subroutine parameters that specify the interior three-dimensional Laplace problem must be set up in the main program. Let this be called MAIN.FOR. The following files must be linked together to construct the complete program:

MAIN.FOR (and files containing any user-defined sub-programs for example LIBEM3_T.FOR ),

LIBEM3.FOR , the subroutine for solving the 3D Laplace problem,

L3LC.FOR, the file for computing the discrete operators - see Chapter 3,

GLS.FOR , the file for computing the solution to a linear system - see Appendix 1,

GEOM3D, the file for 3D geometry - see Appendix 2.

4.3.4  Subroutine LIBEMA

Subroutine LIBEMA computes solution of the three-dimensional axisymmetric Laplace equation in the domain interior to a closed surface. The boundary (S) is approximated by a set of truncated cone elements. The subroutine parameters that specify the interior three-dimensional axisymmetric Laplace problem must be set up in the main program. Let this be called MAIN.FOR. The following files must be linked together to construct the complete program:

MAIN.FOR (and files containing any user-defined sub-programs for example LIBEMA_T.FOR ),

LIBEMA.FOR , the subroutine for solving the axisymmetric Laplace problem,

L3ALC.FOR, the file for computing the discrete operators - see Chapter 3,

GLS.FOR , the file for computing the solution to a linear system - see Appendix 1,

GEOM2D , the file for 2D geometry - see Appendix 2,

GEOM3D , the file for 3D geometry - see Appendix 2.



Return to boundary-element-method.com/laplace
Return to boundary-element-method.com