1 (edited by neuru 26-07-2010 03:28:48)

Topic: some question about LIBeam2d :: computeBmatrixAt()

Prof.
in the book "Numerical methods in structural mechanics" p80.
     | dh1/dx    0                    0              dh2/dx     0                    0                |
B= | 0           dh3/dx          dh4/dx         0           dh5/dx           dh6/dx         |   
     | 0            h3+dh7/dx   h4+dh8/dx  0            h5+dh9/dx   h6+dh10/dx  |

but in the OOFEM code LIBeam2d :: computeBmatrixAt()
l    = this->giveLength();
    ksi  = aGaussPoint->giveCoordinate(1);
    n1x   = -1.0 / l;
    n4x   =  1.0 / l;
    n3xx  = -1.0 / l;
    n6xx  =  1.0 / l;
    n2xxx = -1.0 / l;
    n3xxx =  0.5 * ( 1 - ksi );
    n5xxx =  1.0 / l;
    n6xxx =  0.5 * ( 1. + ksi );

    // answer = new FloatMatrix(3,6) ;
    answer.resize(3, 6);
    answer.zero();

    answer.at(1, 1) =  n1x;
    answer.at(1, 4) =  n4x;
    answer.at(2, 3) =  n3xx;
    answer.at(2, 6) =  n6xx;
    answer.at(3, 2) =  n2xxx;
    answer.at(3, 3) =  n3xxx;
    answer.at(3, 5) =  n5xxx;
    answer.at(3, 6) =  n6xxx;

some question:
(1) why the answer.at(2,2) and answer.at(2,5) =0 ?
(2) how to derived the following resule according table 2.1:
    n3xx  = -1.0 / l;
    n6xx  =  1.0 / l;
    n2xxx = -1.0 / l;
    n3xxx =  0.5 * ( 1 - ksi );
    n5xxx =  1.0 / l;
    n6xxx =  0.5 * ( 1. + ksi );

thanks

2

Re: some question about LIBeam2d :: computeBmatrixAt()

Hi neuru,

the libeam2d element is a Mindlin based  beam element with linear approximation of displacements and rotation. If you are interested in description of this element, let me know. The geometrical matrix that you mention refers to  Mindlin-based element with cubic displacement approximation. This element is implemented in Beam2d class.

Borek

Re: some question about LIBeam2d :: computeBmatrixAt()

thanks.