
                             SLFFEA 1.1 Beam README

                    Copyright (C) 1999 San Le

                    email:     slffea@juno.com
                    homepage:  http://www.geocities.com/Athens/2099/slffea.html


The type of beam theory I am using is Euler-Bernoulli, which means there is no
shear deformation.  This manifests itself in the displacement assumptions.  The
alternative theory which does allow for shear deformation is Reissner-Mindlin, and
I hope to add such beam elements one day.

This element has a feature you do not see in the other elements, the distributed
load. 

Beams usually require that you to specify the local axes as part of the input
data because elements have to rotated from their local coordinates to the global
coordinates.  For my beam, you can either specify the axes yourself or have the software
do it for you based on the method given in [8] in slffea-1.0/REFERENCES.  Note that
the local x axis will always be along the length of the beam.  And because axis z and y are
perpendicular to x and to each other, you only have to specify either y or z(I chose
z).  In case the z axis you input is not exactly perpendicular to x, I also do a cross
product of x and y to get an improved z axis. 

These local beam axes are something you need to carefully consider before
specifying them.  They have a significant impact on the equivalent nodal forces
based on distributed element loads.  The reason is that the distributed load
is given in local beam y and z coordinates, and is rotated back to the global
coordinates based upon how you specify local z( see bmkasmbl.c).  For instance,
if you have a beam element which lies on the x axis, if you specify the local z axis
for that element as (0.0, 0.0, 1.0), then a distributed load
in negative local beam y will point in negative global beam y.  But if you
switch the local z axis for that element to (0.0, 0.0, -1.0), then the distributed
load will point in positive global beam y and the equivalent nodal forces will
point upward.  (This should also be remembered for the graphical display of the
distributed load, which is still in local coordinates).  Additionally, moments,
curvatures, strains, and stresses( which are given in local beam coordinates), will
be switched in terms of sign for the beam described above.

Like the shell and plate, the patch test is divided into one for angles and one
for displacement.  Also, it is done for a mesh consisting of 2 beam elements(3 nodes
total) co-linear in space(they both lie on one line).


Modal(Eigenvalue) analysis

There are some interesting things to note about the mass matrix as it applies
to the beam.  First note that I'm using pre-integrated mass matrices.  You can
read about why in the file bmmasmbl.c.  

The second thing to note is that consistent element mass matrices are rotated from
the local beam coordinates to the global beam coordinates.  This is done because
the beam mass matrix is still formulated in the local coordinates of the beam,
even though all three displacement directions are used( For the stiffness, it is
formulated only in one direction because the only source of strain is in the
axial direction of the beam Exx = dU/dx).  If you look at the displacement
assumptions used for the beam:

u = U - phiz*y + phiy*z - (d(phix)/dx)*yz

v = V - phix*z

w = W + phix*y

(Note that the above contradicts the strain assumptions, causing non-zero
shear strains.  I haven't worked out exactly what to do about this)

you will see that "u" still represents the axial direction along the beam
length, whereas "v" and "w" are the displacements perpendicular to the
beam axis.  This type of formulation has to be done because the integration
is still done along the length of the beam.

 
