SERBA
Boundary Element Method for Elasticity


SERBA is an executable FORTRAN77 program, using single precision arithmetic, which applies the boundary element method to solve the elasticify equation in a 2D region.

The program uses linear continuous elements, and any kind of combination of boundary conditions in stresses and displacements can be considered.

Input File Format:

The input to the program involves a file containing seven sets of data:

  1. The title line (a character string)
  2. The parameter line, listing NP, NPI and NANU:
  3. Elastic properties are specified on one line:
  4. The coordinates of internal points; For each of the NPI internal points, there must be a record specifying XINT(I) and YINT(I):
  5. The coordinates of boundary points; The boundary points are indexed from 1 to NP+1, and are assumed to be given in counterclockwise order; Logically, the boundary point information is given consecutively; however, if one or more points are omitted, their values will be determined by linear interpolation from the preceding and succeeding values that are given. Thus, the very least input would specify points 1 and NP+1; the fullest information would specify all NP+1 points. Most input would omit points that are interior to an equally spaced line.
  6. The boundary conditions, specifying the boundary node index, the boundary code, and the values of the potential, and the "before" and "after" fluxes at the node. A typical boundary condition will only specify the potential or the flux; the values not specified can be given as 0. A boundary condition must be given for every boundary node. Logically, the boundary nodes are input in order; however boundary nodes may be omitted, in which case the data will be linearly interpolated; however, the preceding and succeeding boundary conditions must have the same value of NCOD for this to be done.
  7. Support conditions on one line, if IANUL is nonzero. In this case, the positions of the displacements to be fixed must be given. Supposing the number of nodes is NP, then the horizontal displacement of node I is fixed by specifying I, while the vertical displacement is fixed by specifying I+NP.

The boundary condition codes are required to indicate which of 8 possible items are being specified. Displacements and stress components are given in local coordinates, based on the normal to the boundary, and the anticlockwise tangent vector. There are eight possible variables at a node, with only four of them being known. The paramters I1, I2, I3 and I4, which must be given in ascending order, take values between 1 and 8, identifying the boundary condition. The meanings of the eight possible codes for boundary conditions are:

  1. normal displacement of the node corresponding to the element before the node.
  2. tangential displacement at the node corresponding to the element before the node.
  3. normal displacement of the node corresponding to the element after the node.
  4. tangential displacement at the node corresponding to the element after the node.
  5. normal stress component of the node corresponding to the element before the node.
  6. tangential stress component of the node corresponding to the element before the node.
  7. normal stress component of the node corresponding to the element after the node.
  8. tangential stress component of the node corresponding to the element after the node.

Usage:

serba
The user will be prompted for

Related Data and Programs:

BETIS is an executable FORTRAN77 program which solves Laplace's problem in a 2D region using the boundary element method.

FEM_50 is an executable MATLAB program which solves Laplace's equation in an arbitrary region using the finite element method.

FEM2D_POISSON is an executable FORTRAN77 program which solves Poisson's equation in a 2D rectangle using the finite element method.

FISHPACK is a FORTRAN77 library which solves Poisson, Laplace or Helmholtz equations in a variety of 2D and 3D geometries, using the finite difference method.

FREE_FEM_POISSON is an executable FORTRAN90 program which solves Poisson's equation in an arbitrary triangulated region using the finite element method.

PLTMG_SINGLE is a FORTRAN77 library which solves elliptic partial differential equations in an arbitrary triangulated region using the finite element method and the multigrid algorithm.

Reference:

  1. Federico Paris, Jose Canas,
    Boundary Element Method: Fundamentals and Applications,
    Oxford, 1997,
    ISBN: 0-19-856543-7,
    LC: TA347.B69.P34.

Source Code:

Examples and Tests:

Example 1 models a square plate in traction, using stress conditions:

Example 2 models a square plate in traction, using displacement conditions:

Example 3 models a square plate in traction, using symmetry:

List of Routines:

You can go up one level to the FORTRAN77 source codes.


Last revised on 17 December 2007.