Contents Functions PDF Index |

Purpose

Element functions for a 12 DOF beam element. beam1t is a 2 node beam with pretension available for non-linear cable statics and dynamics.

Description

In a model description matrix, element property rows for beam1 elements follow the format

[n1 n2 MatID ProID nR 0 0 EltID p1 p2 x1 y1 z1 x2 y2 z2]

where

n1,n2 | node numbers of the nodes connected |

MatID | material property identification number |

ProID | element section property identification number |

nr 0 0 | number of node not in the beam direction defining bending plane 1 in this case {v} is the vector going from n1 to nr. If nr is undefined it is assumed to be located at position [1.5 1.5 1.5]. |

vx vy vz | alternate method for defining the bending plane 1 by giving the components of a vector in the plane but not collinear to the beam axis. If vy and vz are zero, vx must be negative or not an integer. MAP=beam1t('map',model) returns a normal vector MAP giving the vector used for bending plane 1. This can be used to check your model. |

p1,p2 | pin flags. These give a list of DOFs to be released (condensed before assembly). For example, 456 will release all rotation degrees of freedom. Note that the DOFS are defined in the local element coordinate system. |

x1,... | optional components in global coordinate system of offset vector at node 1 (default is no offset) |

x2,... | optional components of offset vector at node 2 |

Isotropic elastic materials are the only supported (see m_elastic). p_beam describes the section property format and associated formulations.

Failure to define orientations is a typical error with beam models. In the following example, the definition of bending plane 1 using a vector is illustrated.

cf=feplot(femesh('test2bay')); % Map is in very variable direction due to undefined nr % This is only ok for sections invariant by rotation beam1t('map',cf.mdl);fecom('view3'); % Now define generator for bending plane 1 i1=feutil('findelt eltname beam1',cf.mdl); % element row index cf.mdl.Elt(i1,5:7)=ones(size(i1))*[-.1 .9 0]; % vx vy vz beam1t('map',cf.mdl);fecom('view2');

beam1 adds secondary inertia effects which may be problematic for extremely short beams and beam1t may then be more suitable.

For the bending part, this element solves

(9.1) |

with boundary conditions in transverse displacement

(9.2) |

and rotation

(9.3) |

This element has an internal state stored in a InfoAtNode structure where each column of Case.GroupInfo{7}.data gives the local basis, element length and tension [bas(:);L;ten]. Initial tension can be defined using a .MAP field in the element property.

This is a simple example showing how to impose a pre-tension :

model=femesh('TestBeam1 divide 10'); model=fe_case(model,'FixDof','clamp',[1;2;.04;.02;.01;.05]); model.Elt=feutil('SetGroup 1 name beam1t',model); d1=fe_eig(model,[5 10]); model=feutil('setpro 112',model,'MAP', ... struct('dir',{{'1.5e6'}},'lab',{{'ten'}})); d2=fe_eig(model,[5 10]); figure(1);plot([d2.data./d1.data-1]); xlabel('Mode index');ylabel('Frequency shift');

Strains in a non-linear Bernoulli Euler section are given by

(9.4) |

See also

p_beam, m_elastic, fe_mk, feplot

©1991-2019 by SDTools