Stabil-3 1
Stabil-3 1
Stabil
MATLAB toolbox
for Structural Mechanics
USER’S GUIDE
STABIL VERSION 3.1
APRIL 2020
REPORT BWM-2020-05
Contact information
Web         http://bwk.kuleuven.be/bwm/stabil
Email       stabil@kuleuven.be
Phone       +32 16 32 16 82
Address     Structural Mechanics Section
            Department of Civil Engineering, KU Leuven
            Kasteelpark Arenberg 40, B-3001 Leuven, Belgium
Copyright
Acknowledgements
Stabil has been developed in the frame of OOI Project 2006/20 ”An interactive and adaptive application for the
static and dynamic analysis of structures”, funded by the KU Leuven Educational Policy Unit. The financial
support is gratefully acknowledged.
Contents
1 Getting started                                                                                                                                                                                          1
  1.1 About Stabil . . . . . . . . . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .     1
  1.2 Obtaining and installing Stabil . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .     1
  1.3 Terms of use . . . . . . . . . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .     1
  1.4 Scope and structure of this document                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .     2
2 Static analysis of structures                                                                                                                                                                         3
  2.1 Example 1.1: static analysis          of   a   frame . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 3
  2.2 Example 1.2: static analysis          of   a   3D frame . . . . . . . . .                                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 10
  2.3 Example 1.3: static analysis          of   a   plate with a circular hole                                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 19
  2.4 Example 1.4: static analysis          of   a   barrel vault roof . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 21
3 Dynamic analysis of structures                                                                             25
  3.1 Example 2.1: dynamic analysis of a frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
  3.2 Example 2.2: dynamic analysis of a plate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 Element guide                                                                                                                                                                                           37
5 Functions — By category                                                                                                                                                                                 55
  5.1 General functions . . .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    55
  5.2 Postprocessing . . . .    .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    55
  5.3 Dynamics . . . . . . .    .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    56
  5.4 General shell functions   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    56
6 Functions — Alphabetical list                                                                                                                                                                          57
Bibliography                                                                                                                                                                                             303
ii   CONTENTS
Chapter 1
Getting started
details. You should have received a copy of the GNU General Public License along with Stabil. If not, see
https://www.gnu.org/licenses/.
4m
1 x 5
4m
The code to compute the deformation and bending moment in the frame structure is listed below:
 % StaBIL manual
 % Example 1.1: static analysis of a frame
 % Units: m, kN
 % Nodes=[NodID   X   Y   Z]
 Nodes= [1        0   0   0;
          2       0   4   0;
          3       0   4   0;
          4       4   4   0;
          5       4   0   0;
          6       1   5   0];           % reference node
    b=0.10;
    h=0.25;
    r=0.004;
    % Materials=[MatID     E nu];
    Materials= [1       30e6 0.2;                           % concrete
                 2     210e6 0.3];                          % steel
    % Degrees of freedom
    % Assemble a column matrix containing all DOFs at which stiffness is
    % present in the model:
    DOF=getdof(Elements,Types);
P=P+elemloads(DLoads,Nodes,Elements,Types,DOF);
    % Solve K * U = P
    U=K\P;
EXAMPLE 1.1: STATIC ANALYSIS OF A FRAME                                                                          5
 % Plot displacements
 figure
 plotdisp(Nodes,Elements,Types,DOF,U,DLoads,Sections,Materials)
 figure
 plotforc('sheary',Nodes,Elements,Types,Forces,DLoads)
 title('Shear forces')
 figure
 plotforc('momz',Nodes,Elements,Types,Forces,DLoads)
 title('Bending moments')
 % Plot stresses
 figure
 plotstress('snorm',Nodes,Elements,Types,Sections,Forces,DLoads)
 title('Normal stresses due to normal forces')
 figure
 plotstress('smomzt',Nodes,Elements,Types,Sections,Forces,DLoads)
 title('Normal stresses due to bending moments around z: top')
 figure
 plotstress('smomzb',Nodes,Elements,Types,Sections,Forces,DLoads)
 title('Normal stresses due to bending moments around z: bottom')
 figure
 plotstress('smax',Nodes,Elements,Types,Sections,Forces,DLoads)
 title('Maximal normal stresses')
 figure
 plotstress('smin',Nodes,Elements,Types,Sections,Forces,DLoads)
 title('Minimal normal stresses')
After the definition of model parameters, the analysis starts by defining the nodes of the model, where the nodes
are defined in the (x,y)-plane. The nodes are represented by a matrix that contain node numbers as a first
column, followed by the x, y and z coordinates of each node. Next, the element types are defined by a cell array,
Types, containing type numbers followed by a string (either beam or truss). The Sections matrix defines
the section properties (cross section, moments of inertia,. . . ). In a similar way, the Materials matrix defines
material properties (the Young’s modulus and Poisson coefficient). The model definition is then completed by
providing an element connectivity table Elements, which refers to the previously defined element, material,
section and node numbers. In order to uniquely define a local coordinate system for the beam elements, use is
made of a reference node (node 6). The local x-axis is directed from the first node of the element to the last
node, the local y-axis is perpendicular to the local x-axis with its origin corresponding to the first node of the
element, and pointing in the direction of the reference node. The same convention applies in a three-dimensional
setting, as indicated in the beam element reference sheet on page 38.
Next, the degrees of freedom (DOF’s) are specified. The DOF’s are defined using a node.index approach,
where the digits to the left of the decimal point refer to the node number and the digits to the right of the
decimal point refer to degree of freedom. By convention, the degrees of freedom 01, 02, and 03 correspond to
translations ux , uy , and uz in the global coordinate directions whereas the degrees of freedom 04, 05, and 06
6                                                                                    STATIC ANALYSIS OF STRUCTURES
Table 2.1: Nodal displacements, reaction forces, and member forces for example 1.1.
correspond to rotations ϕx , ϕy , ϕz around the global coordinate axes. For example, DOF 3.02 represents the
translation uy of node 3. This approach of defining the degrees of freedom for the problem at hand is very
instructive, since it enforces reasoning on the kinematics of the structure and how boundary conditions are
accounted for. This manual input of the vector of degrees of freedom is seen as a low-level functionality of the
toolbox. Alternatively, the high-level functions (getdof, selectdof, removedof) could be used to generate and
process this DOF vector, allowing for more complex structural models to be analyzed in an efficient way.
The finite element stiffness matrix is next assembled using the asmkm function. This function takes the Nodes,
Elements, Types, Sections, and Materials variables that define the finite element model and assembles the
sparse global stiffness matrix K corresponding to the dof vector. The asmkm function is a high-level function
that loops over the various elements of the mesh and calls low-level functions that generate element stiffness
matrices.
In Stabil, both nodal loads as well as distributed loads on elements can be considered, and dedicated functions are
available to either generate nodal loads on DOFs (the nodalvalues function) or distributed loads on elements
(the elemloads function). The load vector P is available in the Matlab environment, and has the same size as
the dof-vector.
In order to account for the internal hinge between nodes 2 and 3, constraint equations are added to the system
of equations to couple the horizontal and vertical displacements of both nodes. This is achieved through the
function addconstr that modifies the stiffness matrix K to account for linear constraint equations that relate
various degrees of freedom in the system.
The finite element system of equations (Ku = f ) is solved using the Matlab \ (left divide, mldivide) command.
Since the global stiffness matrix K is a sparse matrix, a sparse solver is used by Matlab by default. The resulting
displacement vector u has the same size as the dof vector and the load vector P and is equally available in the
Matlab environment.
In Stabil, a number of postprocessing functions is available to easily plot the deformed structure or the resulting
member forces. Figure 2.2 shows the resulting displacement of the structure as obtained with the plotdisp
command. The plotdisp command takes the model definition (Nodes, Elements, Types), the displacement
solution and corresponding dof vector, and (optionally) the distributed load with the section and material
definitions (Sections, and Materials). A key feature of the Stabil toolbox is that the deformed shape is
plotted in an exact way, accounting for the (cubic) shape functions of the beam element and the deformation of
the element due to distributed loads. This allows to demonstrate how distributed loads are reduced to equivalent
nodal loads.
Figure 2.3 shows the member forces in the structure as plotted with the plotforc command. Like the plotdisp
command, the plotforc command accounts for the effect of distributed loads, as is apparent in the quadratic
variation of the bending moment in the left column in figure 2.3.
EXAMPLE 1.1: STATIC ANALYSIS OF A FRAME                                       7
8.732
                                      0.606                                         −6.780
                                     −1.780                                −1.780
8.732
0.606 −6.780
(a)
                                                                           2.422
                                      0.000                                  −2.422
0.792
−8.880 0.000
(b)
                                       0.606
                                   −1.780                                  0.606
                                                                           −0.606
6.220 −0.606
(c)
Figure 2.3: (a) Normal forces [kN], (b) bending moments [kNm], and (c) shear forces [kN] in the frame structure.
EXAMPLE 1.1: STATIC ANALYSIS OF A FRAME                                                                              9
173714
            −71
             24                                    −271
                                                    −71
173714
              24                                   −271
(a) normal forces
                                                   2325
              0                                      −2325                 0                             2325
                                                                                                           −2325
760 −760
 −8525                                               0                          8525                           0
(b) bending moments around z: top                            (c) bending moments around z: bottom
                                          173714                                                    173714
            −71
             24                                    2254
                                                   2054                  −71
                                                                          24                                 −2597
                                                                                                             −2397
785 −736
173714 173714
205
                                                307                     206
                                    105                                            206
                                                          203
                              303                       106                  308
                      5                                 203      106
                                       103                                            204
                                     6305 304      205
                                    103 6 201 104        204
                        3                       210
                              301        105310
                                            309       306
                      3                  201 104
                                  101 1104                202
                                     5                      302
                                    101             4                              202
                       1   10                                       102
                       z
                         y                                       102
                      1 x
                                                      2
Figure 2.5: Example 1.2: nodes, elements, loads and boundary conditions.
The following input file is structured in a similar way as example 1.1. It starts by defining nodes, element types,
sections, and materials. Subsequently, the elements are defined by the use of a reference node. The reprow
command is employed to replicate rows of the Nodes and Elements matrix. The getdof and seldof commands
are then used to generate and process the DOF vector. After assembling the stiffness matrix and assembling the
loads, the system is solved, the forces and reaction forces are computed and results are finally plotted, resulting
in figures 2.6 to 2.9 for the different load cases and load combinations.
 % StaBIL manual
 % Example 1.2: static analysis of a 3D frame
 % Units: m, kN
 % Types={EltTypID EltName}
 Types= {1         'beam';
          2        'truss'};
 % Sections
 bCol=0.2; % Column section width
 hCol=0.3; % Column section height
 bBeam=0.2; % Beam section width
 hBeam=0.5; % Beam section height
 Atruss=0.001;
EXAMPLE 1.2: STATIC ANALYSIS OF A 3D FRAME                                       11
 % Materials=[MatID E          nu        rho];
 Materials= [1      35e9       0.2       2500;       %concrete
              2     210e9      0.3       7850];      %steel
 L=5;
 H=3.5;
 B=4;
 % Nodes=[NodID X Y Z]
 Nodes= [1      0 0 0;
          2     L 0 0]
 Nodes=reprow(Nodes,1:2,2,[2 0 0 H])
 Nodes=[Nodes;
          10    2 0 2]               % reference node
 Nodes=reprow(Nodes,1:7,2,[100 0 B 0])
 figure
 plotnodes(Nodes);
 hold('on');
 plotelem(Nodes,Elements,Types);
 title('Nodes and elements');
 % Degrees of freedom
 DOF=getdof(Elements,Types);
 DOF=removedof(DOF,seldof);
12                                                                            STATIC ANALYSIS OF STRUCTURES
% Loads
 % Own weight
 DLoadsOwn=accel([0 0 9.81],Elements,Types,Sections,Materials);
% Wind load
DLoads=multdloads(DLoadsOwn,DLoadsWind);
P=elemloads(DLoads,Nodes,Elements,Types,DOF);
 % Solve K * U = P
 U=K\P;
 figure
 plotdisp(Nodes,Elements,Types,DOF,U(:,1),DLoads(:,:,1),Sections,Materials)
 title('Displacements: own weight')
 figure
 plotdisp(Nodes,Elements,Types,DOF,U(:,2),DLoads(:,:,2),Sections,Materials)
 title('Displacements: wind')
 % Compute forces
 [ForcesLCS,ForcesGCS]=elemforces(Nodes,Elements,Types,Sections,Materials,DOF,U,DLoads);
% Load combinations
 % Safety factors
 gamma_own=1.35;
 gamma_wind=1.5;
 % Combination factors
 psi_wind=1;
 figure
 plotdisp(Nodes,Elements,Types,DOF,U_ULS,DLoads_ULS,Sections,Materials)
printdisp(Nodes,DOF,U_ULS);
printforc(Elements,Forces_ULS);
 % Plot stresses
 figure
 plotstress('snorm',Nodes,Elements,Types,Sections,Forces_ULS,DLoads_ULS)
 title('Normal stresses due to normal forces')
 figure
 plotstress('smomyt',Nodes,Elements,Types,Sections,Forces_ULS,DLoads_ULS)
 title('Normal stresses due to bending moments around y: top')
 figure
 plotstress('smomyb',Nodes,Elements,Types,Sections,Forces_ULS,DLoads_ULS)
 title('Normal stresses due to bending moments around y: bottom')
 figure
 plotstress('smomzt',Nodes,Elements,Types,Sections,Forces_ULS,DLoads_ULS)
 title('Normal stresses due to bending moments around z: top')
14                                                                          STATIC ANALYSIS OF STRUCTURES
 figure
 plotstress('smomzb',Nodes,Elements,Types,Sections,Forces_ULS,DLoads_ULS)
 title('Normal stresses due to bending moments around z: bottom')
 figure
 plotstress('smax',Nodes,Elements,Types,Sections,Forces_ULS,DLoads_ULS)
 title('Maximal normal stresses')
 figure
 plotstress('smin',Nodes,Elements,Types,Sections,Forces_ULS,DLoads_ULS)
 title('Minimal normal stresses')
EXAMPLE 1.2: STATIC ANALYSIS OF A 3D FRAME                                              15
(a) Displacements
(a) Displacements
(a) Displacements
(b) bending moments around y: top (c) bending moments around y: bottom
(d) bending moments around z: top (e) bending moments around z: bottom
      Figure 2.9: Normal stresses for load combination ULS of example 1.2.
EXAMPLE 1.3: STATIC ANALYSIS OF A PLATE WITH A CIRCULAR HOLE                                                   19
 % StaBIL manual
 % Example 1.3: static analysis of a plate with a circular hole
 % define lines
 Line1 = [r 0 0;L/2 0 0];
 Line2 = [L/2 0 0;L/2 L/2 0;0 L/2 0];
 Line3 = [0 L/2 0;0 r 0];
 Line4 = [r*sin((0:5).'*pi/10) r*cos((0:5).'*pi/10) zeros(6,1)];
 [Nodes,Elements,Edge1,Edge2,Edge3,Edge4] = makemesh(Line1,Line2,Line3,Line4,...
                m,n,Types(1,:),Sections(1,1),Materials(1,1),'L2method','linear');
 % Check mesh:
 figure;
 plotnodes(Nodes,'numbering','off');
 hold('on')
 plotelem(Nodes,Elements,Types,'numbering','off');
 title('Nodes and elements');
 % Assemble K:
 K = asmkm(Nodes,Elements,Types,Sections,Materials,DOF);
 % plot results
 figure;
 plotstresscontourf('sx',Nodes,Elements,Types,SnGCS)
 title('\sigma_{r}')
 figure;
 plotstresscontourf('sy',Nodes,Elements,Types,SnGCS)
 title('\sigma_{\theta}')
 figure;
20                                                                              STATIC ANALYSIS OF STRUCTURES
 plotstresscontourf('sxy',Nodes,Elements,Types,SnGCS)
 title('\sigma_{r\theta}')
Figure 2.10
(a) σθ (b) σr
(c) σrθ
                                                                                       Edge 1:
                                                                                       symmetry
                      Edge 3:                                                          conditions
                      free
                      boundary
                                                                                  zy
                                                                              x
 % StaBIL manual
 % Example 1.4: static analysis of a barrel vault roof
 %% Parameters
 R=25;                  %   Radius of cylindrical roof
 L=50;                  %   Length of cylindrical roof
 t=0.25;                %   Thickness of roof
 theta = 40*pi/180;     %   Angle of cylindrical roof
 E = 4.32*10^8;         %   Youngs modulus
 nu = 0;                %   Poisson coefficient
 rho = 36.7347;         %   Density
 N = 8;                 %   Number of elements
%% Mesh
Types = {1 'shell8'};
 % Mesh the area between lines 1,2,3,4 with N * N elements of type shell8,
 % section number 1 and material number 1.
 [Nodes,Elements,Edge1,Edge2,Edge3,Edge4] = ...
     makemesh(Line1,Line2,Line3,Line4,N,N,Types(1,:),1,1);
 % Check mesh:
 figure;
 plotnodes(Nodes,'numbering','off');
 hold('on')
 plotelem(Nodes,Elements,Types,'numbering','off');
 title('Nodes and elements');
 % Assemble K:
 K = asmkm(Nodes,Elements,Types,Sections,Materials,DOF);
%% Solution
 % Solve K * U = P:
 U = K\P;
 % Plot displacements:
 figure;
 plotdisp(Nodes,Elements,Types,DOF,U)
 title('Displacements')
%% Stress
 % print stress:
 printstress(Elements,SeGCS)
 figure;
 plotstresscontour('sx',Nodes,Elements,Types,SeLCS,'location','bot')
 title('sx in lcs')
% Stress ratios:
 ratio_sz = SnGCS2(intersect(Edge3,Edge4),16)/358420
 ratio_st = SnGCS2(intersect(Edge4,Edge1),14)/(-213400)
%% Shell forces
 % Nodal solution:
 [FnLCS,FnLCS2]=nodalshellf(Nodes,Elements,Types,FeLCS);
 figure;
 plotshellfcontour('my',Nodes,Elements,Types,FnLCS)
 title('my (nodal solution)')
%% Principal stress
 % Principal stresses:
 [Spr,Vpr]=principalstress(Elements,SnGCS);
 figure;
 plotstresscontour('s1',Nodes,Elements,Types,Spr,'location','bot');
 title('s1')
 % plot principal stresses:
 figure;
 plotprincstress(Nodes,Elements,Types,Spr,Vpr)
 title('principal stresses')
24                                                                                             STATIC ANALYSIS OF STRUCTURES
                                               zy
                                           x
−0.1401 3.2082
−0.3401 2.8323
−0.5401 2.4564
−0.7401 2.0804
−0.9401 1.7045
−1.1401 1.3286
−1.3401 0.9527
       −1.5401                                          zy          0.5768                                                zy
                                                    x                                                                 x
                                                        MIN
       −1.7401                                                      0.2008                             MIN
       −1.9401                                                     −0.1751
                        MAX
                                                                                     MAX
       −2.1401                                                      −0.551
(c) σxx at bottom of shell in GCS (element solution) (d) σxx at bottom of shell in LCS (element solution)
2079.965
1881.9048
1683.8446
1485.7844
1287.7242
1089.6639
891.6037
693.5435
      495.4833                                          zy
                                                                                                                 zy
                                                    x
                                                        MAX                                                  x
      297.4231
       99.3629
                        MIN
      −98.6973
                                                                                  4m
                                         y
1 x 5
4m
3.1.1 Model
 % StaBIL manual
 % Example 2.1: dynamic analysis: model
 % Units: m, N
 L=4;
 H=4;
 nElemCable=8;
 % Nodes=[NodID X Y Z]
 Nodes= [1      0 0 0;
          2     L 0 0];
 Nodes=reprow(Nodes,1:2,4,[2 0 H/4 0]);
 Nodes= [Nodes;
          11    0 H 0];
 Nodes=reprow(Nodes,11,3,[1 L/4 0 0]);
 Nodes= [Nodes;
          15    1 5 0];            % reference node
 Nodes= [Nodes;
26                                                                        DYNAMIC ANALYSIS OF STRUCTURES
          16    0 0 0];
 Nodes=reprow(Nodes,16,nElemCable,[1 L/nElemCable H/nElemCable 0]);
 b=0.10;
 h=0.25;
 r=0.004;
 % Materials=[MatID E nu];
 Materials= [1       30e9 0.2 2500;                 % concrete
              2     210e9 0.3 7850];                % steel
 % Degrees of freedom
 DOF=getdof(Elements,Types);
 % Boundary conditions
 seldof=[0.03; 0.04; 0.05; 1.01; 1.02; 1.06; 2.01; 2.02; 16.01; 16.02];
DOF=removedof(DOF,seldof);
 [K,b,M]=addconstr(Constr,DOF,K,b,M);
EXAMPLE 2.1: DYNAMIC ANALYSIS OF A FRAME                                             27
3.1.2 Eigenmodes
 % StaBIL manual
 % Example 2.1: dynamic analysis: eigenvalue problem
 % Units: m, N
 % Assembly of M and K
 tutorialdyna;
 % Eigenvalue problem
 nMode=12;
 [phi,omega]=eigfem(K,M,nMode);
 % Display eigenfrequenties
 disp('Lowest eigenfrequencies [Hz]');
 disp(omega/2/pi);
 % Plot eigenmodes
 figure;
 plotdisp(Nodes,Elements,Types,DOF,phi(:,1),'DispMax','off')
 figure;
 plotdisp(Nodes,Elements,Types,DOF,phi(:,2),'DispMax','off')
 figure;
 plotdisp(Nodes,Elements,Types,DOF,phi(:,5),'DispMax','off')
 figure;
 plotdisp(Nodes,Elements,Types,DOF,phi(:,8),'DispMax','off')
 figure;
 plotdisp(Nodes,Elements,Types,DOF,phi(:,11),'DispMax','off')
 figure;
 plotdisp(Nodes,Elements,Types,DOF,phi(:,12),'DispMax','off')
 % Animate eigenmodes
 figure;
 animdisp(Nodes,Elements,Types,DOF,phi(:,1))
 title('Eigenmode 1')
 figure;
 animdisp(Nodes,Elements,Types,DOF,phi(:,2))
 title('Eigenmode 2')
 figure;
 animdisp(Nodes,Elements,Types,DOF,phi(:,5))
 title('Eigenmode 5')
 figure;
 animdisp(Nodes,Elements,Types,DOF,phi(:,8))
 title('Eigenmode 8')
 figure;
 animdisp(Nodes,Elements,Types,DOF,phi(:,11))
 title('Eigenmode 11')
 figure;
 animdisp(Nodes,Elements,Types,DOF,phi(:,12))
 title('Eigenmode 12')
 % StaBIL manual
 % Example 2.1: dynamic analysis: modal superposition: piecewise exact integration
 % Units: m, N
 % Assembly of M and K
28                                                              DYNAMIC ANALYSIS OF STRUCTURES
tutorialdyna;
 % Sampling parameters
 T=2.5;                  % Time window
 dt=0.002;               % Time step
 N=T/dt;                 % Number of samples
EXAMPLE 2.1: DYNAMIC ANALYSIS OF A FRAME                                           29
 % Eigenvalue analysis
 nMode=12;                           % Number of modes to take into account
 [phi,omega]=eigfem(K,M,nMode);      % Calculate eigenmodes and eigenfrequencies
 xi=0.07;                            % Constant modal damping ratio
 % Excitation
 bm=phi.'*b;                         %   Spatial distribution, modal (nMode * 1)
 q=zeros(1,N);                       %   Time history (1 * N)
 q((t>=0.50) & (t<0.60))=1;          %   Time history (1 * N)
 pm=bm*q;                            %   Modal excitation (nMode * N)
 % Modal analysis
 x=msupt(omega,xi,t,pm,'zoh');
 % Figures
 figure;
 plot(t,x);
 title('Modal response (piecewise linear exact integration)');
 xlabel('Time [s]');
 xlim([0 4.1])
 ylabel('Displacement [m kg^{0.5}]');
 legend([repmat('Mode ',nMode,1) num2str([1:nMode].')]);
 figure;
 c=selectdof(DOF,[9.01; 13.02; 17.02]);
 plot(t,c*u);
 title('Nodal response (piecewise linear exact integration)');
 xlabel('Time [s]');
 xlim([0 4.1])
 ylabel('Displacement [m]');
 legend('9.01','13.02','17.02');
 % Movie
 figure;
 animdisp(Nodes,Elements,Types,DOF,u);
 % Display
 disp('Maximum modal response');
 disp(max(abs(x),[],2));
 % StaBIL manual
 % Example 2.1: dynamic analysis: direct method: frequency domain
 % Units: m, N
 % Assembly of M and K
 tutorialdyna;
 % Sampling parameters
 N=2048;                             %   Number of samples
 dt=0.002;                           %   Time step
 T=N*dt;                             %   Period
 F=N/T;                              %   Sampling frequency
 df=1/T;                             %   Frequency resolution
 t=[0:N-1]*dt;                       %   Time axis
30                                                                          DYNAMIC ANALYSIS OF STRUCTURES
 % Eigenvalue analysis
 nMode=12;                        % Number of modes to take into account
 [phi,omega]=eigfem(K,M,nMode);   % Calculate eigenmodes and eigenfrequencies
 xi=0.07;                         % Constant modal damping ratio
 % Excitation
 bm=phi.'*b;                      %   Spatial distribution, modal (nMode * 1)
 q=zeros(1,N);                    %   Time history (1 * N)
 q((t>=0.50) & (t<0.60))=1;       %   Time history (1 * N)
 Q=fft(q);                        %   Frequency content (1 * N)
 Q=Q(1:N/2);                      %   Frequency content, positive freq (1 * N/2)
 Pm=bm*Q;                         %   Modal excitation, positive freq (nMode * N/2)
 % Modal analysis
 [X,H]=msupf(omega,xi,Omega,Pm); % Modal response, positive freq (nMode * N/2)
 % Figures
 figure;
 subplot(3,2,1);
 plot(t,q,'.-');
 xlim([0 4.1])
 ylim([0 1.2]);
 title('Excitation time history');
 xlabel('Time [s]');
 ylabel('Force [N/m]');
 subplot(3,2,2);
 plot(f,abs(Q)/F,'.-');
 title('Excitation frequency content');
 xlabel('Frequency [Hz]');
 ylabel('Force [N/m/Hz]');
 subplot(3,2,4);
 plot(f,abs(H),'.-');
 title('Modal transfer function');
 xlabel('Frequency [Hz]');
 ylabel('Displacement [m/N]');
 legend([repmat('Mode ',nMode,1) num2str([1:nMode].')]);
 subplot(3,2,6);
 plot(f,abs(X(:,1:N/2))/F,'.-');
 title('Modal response');
 xlabel('Frequency [Hz]');
 ylabel('Displacement [m kg^{0.5}/Hz]');
 subplot(3,2,5);
 plot(t,x);
 title('Modal response (calculation in f-dom)');
 xlabel('Time [s]');
 xlim([0 4.1])
 ylabel('Displacement [m kg^{0.5}]');
 figure;
 plot(t,x);
 title('Modal response (calculation in f-dom)');
 xlabel('Time [s]');
EXAMPLE 2.1: DYNAMIC ANALYSIS OF A FRAME                                            31
 xlim([0 4.1])
 ylabel('Displacement [m kg^{0.5}]');
 legend([repmat('Mode ',nMode,1) num2str([1:nMode].')]);
 figure;
 c=selectdof(DOF,[9.01; 13.02; 17.02]);
 plot(t,c*u);
 title('Nodal response (calculation in f-dom)');
 xlabel('Time [s]');
 xlim([0 4.1])
 ylabel('Displacement [m]');
 legend('9.01','13.02','17.02');
 % Movie
 figure;
 animdisp(Nodes,Elements,Types,DOF,u);
 % Display
 disp('Maximum modal response');
 disp(max(abs(x),[],2));
 % StaBIL manual
 % Example 2.1: dynamic analysis: direct time integration: trapezium rule
 % Units: m, N
 % Assembly of M, K and C
 tutorialdyna;
 [phi,omega]=eigfem(K,M);             % Calculate eigenmodes and eigenfrequencies
 xi=0.07;                             % Damping ratio
 nModes=length(K)-size(Constr,1);
 C=M.'*phi(:,1:nModes)*diag(2*xi*omega(1:nModes))*phi(:,1:nModes).'*M;
                                      % Modal -> full damping matrix C
 % Sampling parameters
 T=2.5;                                    %   Time window
 dt=0.002;                                 %   Time step
 N=T/dt;                                   %   Number of samples
 t=[0:N-1]*dt;                             %   Time axis
 % Excitation
 q=zeros(1,N);                             % Time history (1 * N)
 q((t>=0.50) & (t<0.60))=1;                % Time history (1 * N)
 p=b*q;                                    % Nodal excitation (nDOF * N)
 % Figures
 figure;
 c=selectdof(DOF,[9.01; 13.02; 17.02]);
 plot(t,c*u);
 title(['Nodal response (direct time integration)']);
 xlabel('Time [s]');
 xlim([0 4.1])
 ylabel('Nodal displacements [m]');
 legend('9.01','13.02','17.02');
32                                                                                                                                                                   DYNAMIC ANALYSIS OF STRUCTURES
1 0.08
                                                                                                 Force [N/m/Hz]
                                               0.8
                                 Force [N/m]
                                                                                                                         0.06
                                               0.6
                                                                                                                         0.04
                                               0.4
0.2 0.02
                                                0                                                                                             0
                                                     0          1         2          3       4                                                    0        10      20     30       40     50
                                                                       Time [s]                                                                                  Frequency [Hz]
                                                                                                         Displacement [m/N]
                                                                           Mode 4                                                   0.6
                                                                           Mode 5
                                                                           Mode 6                                                   0.4
                                                                           Mode 7
                                                                           Mode 8
                                                                           Mode 9                                                   0.2
                                                                           Mode 10
                                                                           Mode 11                                                            0
                                                                           Mode 12                                                                0        10      20     30       40     50
                                                                                                                                                                 Frequency [Hz]
0.1 6
0.05 4
0 2
                                    −0.05                                                                                                     0
                                                     0          1         2          3       4                                                    0        10      20     30       40     50
                                                                       Time [s]                                                                                  Frequency [Hz]
 % Movie
 figure;
 animdisp(Nodes,Elements,Types,DOF,u);
 % Display
 disp('Maximum nodal response 9.01 13.02 17.02');
 disp(max(abs(c*u),[],2));
 % StaBIL manual
 % Example 2.1: dynamic analysis: modal superposition: transform to f-dom
EXAMPLE 2.1: DYNAMIC ANALYSIS OF A FRAME                                                                                                                                33
                            0.1                                                                                  0.1
                                                                            Mode 1                                                                            Mode 1
                                                                            Mode 2                                                                            Mode 2
                           0.08                                                                                 0.08
                                                                            Mode 3                                                                            Mode 3
                                                                            Mode 4                                                                            Mode 4
 Displacement [m kg0.5]
                                                                                      Displacement [m kg0.5]
                           0.06                                             Mode 5                              0.06                                          Mode 5
                                                                            Mode 6                                                                            Mode 6
                                                                            Mode 7                                                                            Mode 7
                           0.04                                                                                 0.04
                                                                            Mode 8                                                                            Mode 8
                                                                            Mode 9                                                                            Mode 9
                           0.02                                             Mode 10                             0.02                                          Mode 10
                                                                            Mode 11                                                                           Mode 11
                                                                            Mode 12                                                                           Mode 12
                             0                                                                                    0
−0.02 −0.02
                          −0.04                                                                                −0.04
                                  0   0.5   1   1.5     2      2.5     3    3.5   4                                    0   0.5   1   1.5     2      2.5   3   3.5   4
                                                      Time [s]                                                                             Time [s]
(a) Modal superposition in time domain                                                (b) Modal superposition in frequency domain
% Units: m, N
   % Assembly of M, K and C
   tutorialdyna;
   [phi,omega]=eigfem(K,M);         % Calculate eigenmodes and eigenfrequencies
   xi=0.07;                         % Damping ratio
   nModes=length(K)-size(Constr,1);
   C=M.'*phi(:,1:nModes)*diag(2*xi*omega(1:nModes))*phi(:,1:nModes).'*M;
                                   % Modal -> full damping matrix C
   % Sampling parameters
   N=2048;                                                      %    Number of samples
   dt=0.002;                                                    %    Time step
   T=N*dt;                                                      %    Period
   F=N/T;                                                       %    Sampling frequency
   df=1/T;                                                      %    Frequency resolution
   t=[0:N-1]*dt;                                                %    Time axis
   f=[0:N/2-1]*df;                                              %    Positive frequencies corresponding to FFT [Hz]
   Omega=2*pi*f;                                                %    Idem [rad/s]
   % Excitation
   q=zeros(1,N);                                                % Time history (1 * N)
   q((t>=0.50) & (t<0.60))=1;                                   % Time history (1 * N)
   Q=fft(q);                                                    % Frequency content (1 * N)
   Q=Q(1:N/2);                                                  % Frequency content, positive freq (1 * N/2)
   Pd=b*Q;                                                     % Nodal excitation, positive freq (nDOF * N/2)
   % Figures
   figure;
   c=selectdof(DOF,[9.01; 13.02; 17.02]);
   plot(t,c*u);
   title('Nodal response (direct method in f-dom)');
   xlabel('Time [s]');
   xlim([0 4.1])
34                                                                                                                                              DYNAMIC ANALYSIS OF STRUCTURES
 ylabel('Displacement [m]');
 legend('9.01','13.02','17.02');
 % Movie
 figure;
 animdisp(Nodes,Elements,Types,DOF,u);
 % Display
 disp('Maximum nodal response 9.01 13.02 17.02');
 disp(max(abs(c*u),[],2));
3.1.7 Comparison
                                         −3                                                                                   −3
                                    x 10                                                                                  x 10
                                5                                                                                     5
                                                                                       9.01                                                                                   9.01
                                                                                       13.02                                                                                  13.02
                                4                                                                                     4
                                                                                       17.02                                                                                  17.02
                                3                                                                                     3
     Displacement [m]
                                                                                                  Displacement [m]
                                2                                                                                     2
1 1
0 0
−1 −1
                               −2                                                                                    −2
                                    0         0.5   1   1.5     2      2.5   3   3.5       4                              0        0.5    1    1.5     2      2.5   3   3.5       4
                                                              Time [s]                                                                               Time [s]
(a) Modal superposition in time domain                                                         (b) Modal superposition in frequency domain
                                         −3                                                                                   −3
                                    x 10                                                                                  x 10
                                5                                                                                     5
                                                                                       9.01                                                                                   9.01
                                                                                       13.02                                                                                  13.02
                                4                                                                                     4
                                                                                       17.02                                                                                  17.02
     Nodal displacements [m]
                                3                                                                                     3
                                                                                                  Displacement [m]
2 2
1 1
0 0
−1 −1
                               −2                                                                                    −2
                                    0         0.5   1   1.5     2      2.5   3   3.5       4                              0        0.5    1    1.5     2      2.5   3   3.5       4
                                                              Time [s]                                                                               Time [s]
(b) Direct time integration                                                                    (c) Direct method in frequency domain
 % StaBIL manual
 % Example 2.2: dynamic analysis of a plate
% parameters
% mesh
 [Nodes,Elements,Edge1,Edge2,Edge3,Edge4] = makemesh(Line1,Line2,Line3,Line4,n,m,Types(1,:),1,1);
 figure;
 plotnodes(Nodes);
 figure;
 plotelem(Nodes,Elements,Types);
 DOF = getdof(Elements,Types);
 sdof = [0.01;0.02;0.06;[Edge1;Edge2;Edge3;Edge4]+0.03;[Edge1;Edge3]+0.05;[Edge2;Edge4]+0.04];
 DOF = removedof(DOF,sdof);
% K & M
[K,M] = asmkm(Nodes,Elements,Types,Sections,Materials,DOF);
% eigenmodes
 nMode = 10;
 [phi,omega] = eigfem(K,M,nMode);
 figure;
 animdisp(Nodes,Elements,Types,DOF,phi(:,1));
% analytical solution
 [mm,nn] = meshgrid((1:m),(1:n));
 aomega = sqrt(E*t^2/(12*(1-nu^2)*rho))*((mm*pi/Lx).^2+(nn*pi/Ly).^2);
 aomega = reshape(aomega,numel(aomega),1);
 aomega = sort(aomega);
 ratio = omega./aomega(1:nMode)
36                                                                      DYNAMIC ANALYSIS OF STRUCTURES
Element guide
This chapter presents an overview of the element types available in Stabil. The conventions (local coordinate
system, nodal connectivity) for each element type are given and reference is made to the Stabil functions related
to the element implementation.
38                                                                                        ELEMENT GUIDE
beam
                                                                             Tj
                                                                     Vyj          Nj
                                                           Myj
                                       y                         j
                                                x
                                                                           Mzj
                                            z
                                      Vyi
                               Myi          i
                          Ti
                                 Ni
                                      Mzi
Description
Euler-Bernoulli beam element with a cubic interpolation of the beam deflection.
Functions
truss
                                                                      Nj
                                 y                          j
                                     x
Ni
Description
Linear truss element.
Functions
plane3
                                                      3
                                                  1
                                       y
Description
The plane3 element is a 3-node linear isoparametric 2D triangular plane element, commonly referred to as the
“Constant Strain Triangle” (CST).
Functions
plane4
                                                      4
                                                                  3
                                                  1
                                       y
Description
The plane4 element is a 4-node linear isoparametric 2D quadrilateral plane element.
Functions
plane6
                                                     3
                                                             5
                                                 6
                                                         4         2
                                                 1
                                      y
Description
The plane6 element is a 6-node quadratic isoparametric 2D triangular plane element.
Functions
plane8
                                                     4    7
                                                                3
                                                 8              6
                                                         5          2
                                                 1
                                      y
Description
The plane8 element is a 8-node quadratic isoparametric 2D rectangular plane element.
Functions
plane10
                                                         3
                                                                  7
                                                     8
                                                             10           6
                                                 9                            2
                                                                      5
                                                 1            4
                                      y
Description
The plane10 element is a 10-node cubic isoparametric 2D triangular plane element.
Functions
plane15
                                                      3
                                                                 9
                                                 10                  8
                                                          15
                                                 11             14       7
                                                          13
                                              12                             2
                                                                     6
                                                 1             4 5
                                      y
Description
The plane15 element is a 15-node quartic isoparametric 2D triangular plane element.
Functions
solid4
                                                              4
                                             z
                                                       1
                                                                        2
x y
Description
The solid4 element is a 4-node linear isoparametric 3D solid tetrahedral element.
Functions
solid8
                                                                  8
                                                          5               7
                                                                      6
                                                              4
                                            z
                                                      1                   3
x y 2
Description
The solid8 element is a 8-node linear isoparametric 3D solid element.
Functions
solid10
                                                               4
                                                                       10
                                                           8                3
                                                                   7   9
                                            z                              6
                                                       1
                                                               5
                                                                            2
x y
Description
The solid10 element is a 10-node quadratic isoparametric 3D solid tetrahedral element.
Functions
solid15
                                                                12                 6
                                                   4                  11
                                                           10
                                                                     5             15
                                                  13             14
                                                                9                  3
                                           z
                                                       1                       8
                                                            7
                                                                           2
x y
Description
The solid15 element is a 15-node quadratic isoparametric 3D solid tetrahedral element.
solid20
                                                                 8    15 7
                                                           16
                                                      5               14
                                                                13
                                                                        6
                                                                20              19
                                                  17                 18
                                                                4         11
                                                           12                    3
                                            z
                                                       1                       10
                                                                9
                                                                          2
x y
Description
The solid20 element is a 20-node quadratic isoparametric 3D solid tetrahedral element.
Functions
shell4
                                                              4
                                                                         3
                                                     1
                                          z
x y
Description
Shell element consisting of a bilinear membrane element and four overlaid DKT triangles for the bending
stiffness.
Functions
shell6
                                                                  3
                                                              6       5
                                                          1       4
                                               z                          2
x y
Description
This element is based on chapter 15 of Zienkiewicz [9].
shell8
                                                                   4
                                                           8               7
                                                                               3
                                                       1
                                            z                  5           6
                                                                       2
x y
Description
This element is based on chapter 15 of Zienkiewicz [9].
Functions
mass
                                                                  ϕz
                                                                  uz
                                                              1
                                                         ux            uy
                                         z
                                                    ϕx                      ϕy
x y
Description
Single point concentrated mass element with 6 degrees of freedom.
Functions
Functions — By category
getdof               Get the vector with the degrees of freedom of the model.                p.159
asmkm                Assemble stiffness and mass matrix.                                     p.70
removedof            Remove DOF with Dirichlet boundary conditions equal to zero.            p.249
addconstr            Add constraint equations to the stiffness matrix and load vector.       p.67
tconstr              Return matrices to apply constraint equations.                          p.288
nodalvalues          Construct a vector with the values at the selected DOF.                 p.210
elemloads            Equivalent nodal forces.                                                p.138
accel                Compute the distributed loads due to an acceleration.                   p.58
elemforces           Compute the element forces.                                             p.137
elemdisp             Select the element displacements from the global displacement vector.   p.136
selectdof            Select degrees of freedom.                                              p.262
unselectdof          Unselect degrees of freedom.                                            p.299
selectnode           Select nodes by location.                                               p.263
reprow               Replicate rows from a matrix.                                           p.250
multdloads           Combine distributed loads.                                              p.204
5.2 Postprocessing
5.3 Dynamics
accel
ACCEL     Compute the distributed loads due to an acceleration.
     DLoads=accel(Accelxyz,Nodes,Elements,Types,Sections,Materials)
     computes the distributed loads due to an acceleration.
     In order to simulate gravity, accelerate the structure in the direction
     opposite to gravity.
accel beam
ACCEL_BEAM     Compute the distributed loads for a beam due to an acceleration.
   DLoads=accel_beam(Accelxyz,[],Elements,Sections,Materials,Options)
   computes the distributed loads for a beam due to an acceleration.
   In order to simulate gravity, accelerate the structure in the direction
   opposite to gravity.
accel shell2
ACCEL_SHELL2      Compute the distributed loads for a SHELL2 element due to an acceleration.
     DLoads=accel_shell2(Accelxyz,Nodes,Elements,Sections,Materials,Options)
     computes the distributed loads for a SHELL2 element due to an acceleration.
     In order to simulate gravity, accelerate the structure in the direction
     opposite to gravity.
accel shell4
ACCEL_SHELL4      Compute the distributed loads for shell4 elements due to an
                  acceleration.
   DLoads =   accel_shell4(Accelxyz,[],Elements,Sections,Materials,Options)
   computes   the distributed loads for shell4 elements due to an acceleration.
   In order   to simulate gravity, accelerate the structure in the direction
   opposite   to gravity.
accel shell6
ACCEL_SHELL6       Compute the distributed loads for shell6 elements due to an acceleration.
     DLoads =   accel_shell6(Accelxyz,[],Elements,Sections,Materials,Options)
     computes   the distributed loads for shell8 elements due to an acceleration.
     In order   to simulate gravity, accelerate the structure in the direction
     opposite   to gravity.
accel shell8
ACCEL_SHELL8      Compute the distributed loads for shell8 elements due to an acceleration.
   DLoads =   accel_shell8(Accelxyz,[],Elements,Sections,Materials,Options)
   computes   the distributed loads for shell8 elements due to an acceleration.
   In order   to simulate gravity, accelerate the structure in the direction
   opposite   to gravity.
accel solid20
ACCEL_SOLID20     Compute the distributed loads for solid20 elements due to an
                  acceleration.
     DLoads =   accel_solid20(Accelxyz,[],Elements,Sections,Materials,Options)
     computes   the distributed loads for solid20 elements due to an acceleration.
     In order   to simulate gravity, accelerate the structure in the direction
     opposite   to gravity.
accel solid8
ACCEL_SOLID8      Compute the distributed loads for solid8 elements due to an
                  acceleration.
   DLoads =   accel_solid8(Accelxyz,[],Elements,Sections,Materials,Options)
   computes   the distributed loads for solid8 elements due to an acceleration.
   In order   to simulate gravity, accelerate the structure in the direction
   opposite   to gravity.
accel truss
ACCEL_TRUSS      Compute the distributed loads for a truss due to an acceleration.
     DLoads=accel_truss(Accelxyz,[],Elements,Sections,Materials,Options)
     computes the distributed loads for a truss due to an acceleration.
     In order to simulate gravity, accelerate the structure in the direction
     opposite to gravity.
addconstr
ADDCONSTR     Add constraint equations to the stiffness matrix and load vector.
     [K,F]=addconstr(Constr,DOF,K,F)
   [K,F,M]=addconstr(Constr,DOF,K,[],M)
   [K,F,M]=addconstr(Constr,DOF,K,F,M)
   modifies the stiffness matrix, the mass matrix and the load vector according
   to the applied constraint equations. The dimensions of the stiffness matrix,
   the mass matrix and the load vector are kept the same. The resulting
   stiffness and mass matrix are not symmetric anymore. This function can be
   used as well to apply imposed displacements.
animdisp
ANIMDISP        Animate the displacements.
     DispScal=animdisp(Nodes,Elements,Types,DOF,U)
     animates the displacements.
argdimchk
ARGDIMCHK     Validate input argument dimensions.
   ERROR(ARGDIMCHK( ...
     omega,{’nMode’,    1     }, ...
     Phi, {’nDof’,    ’nMode’ }, ...
     xi,   {’nMode’,    1     }, ...
     b,    {’nDof’,     1     }, ...
     q,    { 1,       ’nOmega’}, ...
     Omega,{ 1,       ’nOmega’}, ...
     c,    {’nSelDof’,’nDof’ }));
asmkm
ASMKM     Assemble stiffness and mass matrix.
     [K,M] = ASMKM(Nodes,Elements,Types,Sections,Materials,DOF)
      K    = ASMKM(Nodes,Elements,Types,Sections,Materials,DOF)
      K    = ASMKM(Nodes,Elements,Types,Sections,Materials)
     assembles the stiffness and the mass matrix using the finite element method.
     [K,~,dKdx] = ASMKM(Nodes,Elements,Types,Sections,Materials,DOF,dNodesdx,dSectionsdx)
     assembles the stiffness matrix using the finite element method and
     additionally computes the derivatives of the stiffness matrix with
     respect to the design variables x. The derivatives of the mass matrix
     have not yet been implemented.
be plane3
e_plane3 is a function.
   [BeGCS] = be_plane3(Node, Section, Material, UeGCS, Options, gcs)
72                                                                     FUNCTIONS — ALPHABETICAL LIST
b shell6
B_SHELL6     b matrix for a shell6 element in global coordinate system.
b shell8
B_SHELL8     b matrix for a shell8 element in global coordinate system.
cdiff
CDIFF   Direct time integration for dynamic systems - central diff. method.
   [u,t] = CDIFF(M,C,K,dt,p,u0,u1) applies the central difference method for
   the calculation of the nodal displacements u of the dynamic system with
   the system matrices M, C and K due to the excitation p.
checkunique
CHECKUNIQUE     Check if vector contains unique elements.
   checkunique(p,name)
   find non-unique elements in a vector and print error
cmat isotropic
CMAT_ISOTROPIC    Constitutive matrix for isotropic materials.
     [C,C_lambda,C_mu]==cmat_isotropic(problem,Section,Material)
     computes the constitutive matrix for isotropic materials.
problem
Section Section definition
Material Material definition
C Constitutive matrix (nStress * nStrain)
   C_lambda    Contribution of lambda to C (nStress * nStrain)
   C_mu        Contribution of mu to C (nStress * nStrain)
FUNCTIONS — ALPHABETICAL LIST                                                       77
cmat shell8
CMAT_SHELL8     Constitutive matrix for shell8 element
   C = cmat_shell8(MatType,Material,k)
   C = cmat_shell8(MatType,Material)
   returns the constitutive matrix for shell8 elements.
coord beam
COORD_BEAM    Coordinates of the beam elements for plotting.
     [X,Y,Z]=coord_beam(Nodes,NodeNum)
     returns the coordinates of the beam elements for plotting.
coord kbeam
COORD_BEAM    Coordinates of the beam elements for plotting.
   coord_beam(Nodes,NodeNum)
   returns the coordinates of the beam elements for plotting.
coord mass
COORD_MASS     Coordinates of the mass element for plotting.
     [X,Y,Z]=coord_mass(Nodes,NodeNum)
     returns the coordinates of the mass element for plotting.
coord plane10
COORD_PLANE10     Coordinates of the plane elements for plotting.
   [X,Y,Z] = coord_plane10(Nodes,NodeNum)
   returns the coordinates of the plane10 elements for plotting.
coord plane15
COORD_PLANE15    Coordinates of the plane elements for plotting.
     [X,Y,Z] = coord_plane15(Nodes,NodeNum)
     returns the coordinates of the plane15 elements for plotting.
coord plane3
COORD_PLANE3     Coordinates of PLANE3 element sides for plotting.
   [X,Y,Z]=coord_plane3(Nodes,Nodenumbers)
   returns the coordinates of PLANE3 element sides for plotting.
coord plane4
COORD_PLANE4    Coordinates of the plane elements for plotting.
     [X,Y,Z] = coord_plane4(Nodes,NodeNum)
     returns the coordinates of the plane4 elements for plotting.
coord plane6
COORD_PLANE6    Coordinates of the plane elements for plotting.
   [X,Y,Z] = coord_plane6(Nodes,NodeNum)
   returns the coordinates of the plane6 elements for plotting.
coord plane8
COORD_PLANE8    Coordinates of the shell8 elements for plotting.
     coord_plane8(Nodes,NodeNum)
     returns the coordinates of the plane8 elements for plotting.
coord shell2
COORD_SHELL2    Coordinates of SHELL2 elements for plotting.
   [X,Y,Z]=coord_shell2(Nodes,NodeNum)
   returns the coordinates of the SHELL2 elements for plotting.
coord shell4
COORD_SHELL4    Coordinates of the shell elements for plotting.
     [X,Y,Z] = coord_shell4(Nodes,NodeNum)
     returns the coordinates of the shell4 elements for plotting.
coord shell6
COORD_SHELL6    Coordinates of the shell6 elements for plotting.
   [X,Y,Z] = coord_shell6(Nodes,NodeNum)
   returns the coordinates of the shell6 elements for plotting.
coord shell8
COORD_SHELL8    Coordinates of the shell8 elements for plotting.
     [X,Y,Z] = coord_shell8(Nodes,NodeNum)
     returns the coordinates of the shell8 elements for plotting.
coord solid10
COORD_SOLID10     Coordinates of SOLID10 element sides for plotting.
   [X,Y,Z]=coord_solid10(Nodes,Nodenumbers)
   returns the coordinates of SOLID10 element sides for plotting.
coord solid15
COORD_SOLID8       Coordinates of SOLID15 element sides for plotting.
     [X,Y,Z]=coord_solid15(Nodes,Nodenumbers)
     returns the coordinates of SOLID15 element sides for plotting.
coord solid20
COORD_SOLID20     Coordinates of SOLID20 element sides for plotting.
   [X,Y,Z]=coord_solid20(Nodes,Nodenumbers)
   returns the coordinates of SOLID20 element sides for plotting.
coord solid4
COORD_SOLID4       Coordinates of SOLID4 element sides for plotting.
     [X,Y,Z]=coord_rshell(Nodes,Nodenumbers)
     returns the coordinates of RSHELL element sides for plotting.
coord solid8
COORD_SOLID8     Coordinates of SOLID8 element sides for plotting.
   [X,Y,Z]=coord_solid8(Nodes,Nodenumbers)
   returns the coordinates of the SOLID8 element sides for plotting.
coord truss
COORD_TRUSS     Coordinates of the truss elements for plotting.
     [X,Y,Z]=coord_truss(Nodes,NodeNum)
     returns the coordinates of the truss elements for plotting.
dispgcs2lcs beam
DISPGCS2LCS_BEAM      Transform the element displacements to the LCS for a beam.
   UeLCS=dispgcs2lcs_beam(UeGCS,Node)
   transforms the element displacements from the GCS to the LCS for a beam
   element.
dispgcs2lcs truss
DISPGCS2LCS_TRUSS    Transform the element displacements to the LCS for a truss.
     UeLCS=dispgcs2lcs_truss(UeGCS,Node)
     transforms the element displacements from the GCS to the LCS for a truss
     element.
disp beam
DISP_BEAM     Return matrices to compute the displacements of the deformed beams.
   [Ax,Ay,Az,B,Cx,Cy,Cz] = DISP_BEAM(Nodes,Elements,DOF,DLoads,Sections,Materials,Points)
   [Ax,Ay,Az,B,Cx,Cy,Cz] = DISP_BEAM(Nodes,Elements,DOF,DLoads,Sections,Materials)
   [Ax,Ay,Az,B] = DISP_BEAM(Nodes,Elements,DOF,[],Sections,Materials)
   [Ax,Ay,Az,B] = DISP_BEAM(Nodes,Elements,DOF)
       returns the matrices to compute the displacements of the deformed
       beams. The coordinates of the specified points along the deformed
       beam elements are computed using X=Ax*U+Cx*DLoad+B(:,1);
       Y=Ay*U+Cy*DLoad+B(:,2) and Z=Az*U+Cz*DLoad+B(:,3). The matrices
       Cx,Cy and Cz superimpose the displacements that occur due to the
       distributed loads if all nodes are fixed.
   [Ax,Ay,Az,B,Cx,Cy,Cz,dAxdx,dAydx,dAzdx,dCxdx,dCydx,dCzdx]
           = DISP_BEAM(Nodes,Elements,DOF,DLoads,Sections,Materials,Points,dNodesdx,
                                                                 dDLoadsdx(,dSectionsdx))
       additionally computes the derivatives of the displacements with
       respect to the design variables x.
disp mass
DISP_MASS        Matrices to compute the displacements of the deformed mass element
      [Ax,Ay,Az,B,Cx,Cy,Cz]
               =disp_beam(Nodes,Elements,DOF,EltIDDLoad,Sections,Materials,Points)
      [Ax,Ay,Az,B,Cx,Cy,Cz]
               =disp_beam(Nodes,Elements,DOF,EltIDDLoad,Sections,Materials)
      [Ax,Ay,Az,B]
               =disp_beam(Nodes,Elements,DOF,[],Sections,Materials)
      [Ax,Ay,Az,B]
               =disp_beam(Nodes,Elements,DOF)
disp plane10
DISP_PLANE10      Matrices to compute the displacements of the deformed plane.
   [Ax,Ay,Az,B] = disp_plane10(Nodes,Elements,DOF,U)
   returns the matrices to compute the displacements of the deformed plane.
   The coordinates of the nodes of the plane10 element are
   computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
   Z=Az*U+B(:,3).
disp plane15
DISP_PLANE15      Matrices to compute the displacements of the deformed plane.
      [Ax,Ay,Az,B] = disp_plane15(Nodes,Elements,DOF,U)
      returns the matrices to compute the displacements of the deformed plane.
      The coordinates of the nodes of the plane15 element are
      computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
      Z=Az*U+B(:,3).
disp plane3
DISP_PLANE3       Matrices to compute the displacements of the deformed plane3.
   [Ax,Ay,Az,B] = disp_plane3(Nodes,Elements,DOF,U)
   returns the matrices to compute the displacements of the deformed plane3 element.
   The coordinates of the nodes of the plane3 element are
   computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
   Z=Az*U+B(:,3).
disp plane4
DISP_PLANE4       Matrices to compute the displacements of the deformed plane4.
      [Ax,Ay,Az,B] = disp_plane4(Nodes,Elements,DOF,U)
      returns the matrices to compute the displacements of the deformed plane4.
      The coordinates of the nodes of the plane4 element are
      computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
      Z=Az*U+B(:,3).
disp plane6
DISP_PLANE6     Matrices to compute the displacements of the deformed plane.
   [Ax,Ay,Az,B] = disp_plane6(Nodes,Elements,DOF,U)
   returns the matrices to compute the displacements of the deformed plane.
   The coordinates of the nodes of the plane6 element are
   computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
   Z=Az*U+B(:,3).
disp plane8
DISP_PLANE8      Return matrices to compute the displacements of the deformed elements.
      [Ax,Ay,Az,B]=disp_plane8(Nodes,Elements,DOF)
      returns the matrices to compute the displacements of the deformed elements.
      The coordinates of the specified points along the deformed beams element are
      computed using
         X=Ax*U+B(:,1)
         Y=Ay*U+B(:,2)
         Z=Az*U+B(:,3)
disp shell2
DISP_SHELL2     Return matrices to compute the displacements of deformed SHELL2 elements.
   [Ax,Ay,Az,B,Cx,Cy,Cz]
            =disp_shell2(Nodes,Elements,DOF,EltIDDLoad,Sections,Materials,Points)
   [Ax,Ay,Az,B,Cx,Cy,Cz]
            =disp_shell2(Nodes,Elements,DOF,EltIDDLoad,Sections,Materials)
   [Ax,Ay,Az,B]
            =disp_shell2(Nodes,Elements,DOF,[],Sections,Materials)
   [Ax,Ay,Az,B]
            =disp_shell2(Nodes,Elements,DOF)
disp shell4
DISP_SHELL4       Matrices to compute the displacements of the deformed shell4.
      [Ax,Ay,Az,B] = disp_shell4(Nodes,Elements,DOF,U)
      returns the matrices to compute the displacements of the deformed shell4.
      The coordinates of the nodes of the shell4 element are
      computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
      Z=Az*U+B(:,3).
disp shell6
DISP_SHELL6     Matrices to compute the displacements of the deformed shell.
   [Ax,Ay,Az,B] = disp_shell6(Nodes,Elements,DOF,U)
   returns the matrices to compute the displacements of the deformed shell.
   The coordinates of the nodes of the shell6 element are
   computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
   Z=Az*U+B(:,3).
disp shell8
DISP_SHELL8      Matrices to compute the displacements of the deformed shell.
      [Ax,Ay,Az,B] = disp_shell8(Nodes,Elements,DOF,U)
      returns the matrices to compute the displacements of the deformed shell.
      The coordinates of the nodes of the shell8 element are
      computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and
      Z=Az*U+B(:,3).
disp solid10
DISP_SOLID10    Return matrices to compute the displacements of the deformed elements.
   [Ax,Ay,Az,B]=disp_solid10(Nodes,Elements,DOF,Points)
   [Ax,Ay,Az,B]=disp_solid10(Nodes,Elements,DOF)
   returns the matrices to compute the displacements of the deformed elements.
   The coordinates of the specified points along the deformed beams element are
   computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and Z=Az*U+B(:,3).
disp solid15
DISP_SOLID15     Return matrices to compute the displacements of the deformed elements.
      [Ax,Ay,Az,B]=disp_solid15(Nodes,Elements,DOF,Points)
      [Ax,Ay,Az,B]=disp_solid15(Nodes,Elements,DOF)
      returns the matrices to compute the displacements of the deformed elements.
      The coordinates of the specified points along the deformed beams element are
      computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and Z=Az*U+B(:,3).
disp solid20
DISP_SOLID20    Return matrices to compute the displacements of the deformed elements.
   [Ax,Ay,Az,B]=disp_solid20(Nodes,Elements,DOF,Points)
   [Ax,Ay,Az,B]=disp_solid20(Nodes,Elements,DOF)
   returns the matrices to compute the displacements of the deformed elements.
   The coordinates of the specified points along the deformed beams element are
   computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and Z=Az*U+B(:,3).
disp solid8
DISP_SOLID8      Return matrices to compute the displacements of the deformed elements.
      [Ax,Ay,Az,B]=disp_solid8(Nodes,Elements,DOF,Points)
      [Ax,Ay,Az,B]=disp_solid8(Nodes,Elements,DOF)
      returns the matrices to compute the displacements of the deformed elements.
      The coordinates of the specified points along the deformed beams element are
      computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2) and Z=Az*U+B(:,3).
disp truss
DISP_TRUSS    Return matrices to compute the displacements of the deformed trusses.
   [Ax,Ay,Az,B]=disp_truss(Nodes,Elements,DOF,[],[],[],Points)
   [Ax,Ay,Az,B]=disp_truss(Nodes,Elements,DOF)
       returns the matrices to compute the displacements of the deformed
       trusses. The coordinates of the specified points along the deformed
       truss elements are computed using X=Ax*U+B(:,1); Y=Ay*U+B(:,2)
       and Z=Az*U+B(:,3).
   [Ax,Ay,Az,B,Cx,Cy,Cz,dAxdx,dAydx,dAzdx,dCxdx,dCydx,dCzdx]
           = DISP_TRUSS(Nodes,Elements,DOF,EltIDDLoad,Sections,Materials,Points,dNodesdx,
                                                                       dDLoadsdx(,dSectionsdx))
       additionally computes the derivatives of the displacements with
       respect to the design variables x.
dloadgcs2lcs
DLOADGCS2LCS      Distributed load transformation from GCS to LCS.
      DLoadLCS = DLOADGCS2LCS(T,DLoad)
          transforms the distributed load definitions in the global
          coordinate system (algebraic convention) to the local coordinate
          system (beam convention).
      [DLoadLCS,dDLoadLCSdx] = DLOADGCS2LCS(T,DLoad,dTdx,dDLoaddx)
          transforms the distributed load definitions in the global
          coordinate system (algebraic convention) to the local coordinate
          system (beam convention), and additionally computes the derivatives
          of the distributed load information with respect to the design
          variables x.
dof beam
DOF_BEAM     Element degrees of freedom for a beam element.
dof mass
DOF_MASS      Element degrees of freedom for a mass element.
dof plane10
DOF_PLANE10     Element degrees of freedom for a plane10 element.
dof plane15
DOF_PLANE15      Element degrees of freedom for a plane15 element.
dof plane3
DOF_PLANE3     Element degrees of freedom for a plane3 element.
dof plane4
DOF_PLANE4      Element degrees of freedom for a plane4 element.
dof plane6
DOF_PLANE6     Element degrees of freedom for a plane6 element.
dof plane8
of_plane8 is a function.
   dof = dof_plane8(Nodenumbers)
FUNCTIONS — ALPHABETICAL LIST                                                   125
dof shell2
DOF_SHELL2     Element degrees of freedom for a SHELL2 element.
dof shell4
DOF_SHELL4      Element degrees of freedom for a shell4 element.
dof shell6
DOF_SHELL6     Element degrees of freedom for a shell6 element.
dof shell8
DOF_SHELL8      Element degrees of freedom for a shell8 element.
dof solid10
DOF_SOLID10     Element degrees of freedom for a solid10 element.
dof solid15
DOF_SOLID15      Element degrees of freedom for a solid10 element.
dof solid20
DOF_SOLID20     Element degrees of freedom for a solid20 element.
dof solid4
DOF_SOLID4      Element degrees of freedom for a solid4 element.
dof solid8
DOF_SOLID8     Element degrees of freedom for a solid8 element.
dof truss
DOF_TRUSS      Element degrees of freedom for a truss element.
eigfem
EIGFEM     Compute the eigenmodes and eigenfrequencies of the finite element model.
   [phi,omega]=eigfem(K,M,nMode)
   [phi,omega]=eigfem(K,M)
   computes the eigenmodes and eigenfrequencies of the finite element model.
elemdisp
ELEMDISP        Select the element displacements from the global displacement vector.
elemforces
ELEMFORCES     Compute the element forces.
   [ForcesLCS,ForcesGCS] = ELEMFORCES(Nodes,Elements,Types,Sections,Materials,DOF,U,DLoads,TLoads)
   [ForcesLCS,ForcesGCS] = ELEMFORCES(Nodes,Elements,Types,Sections,Materials,DOF,U)
       computes the element forces in the local (beam convention) and the
       global (algebraic convention) coordinate system.
   [ForcesLCS,ForcesGCS,dForcesLCSdx,dForcesGCSdx]
              = ELEMFORCES(Nodes,Elements,Types,Sections,Materials,DOF,U,DLoads,TLoads,
                                                              dNodesdx,dSectionsdx,dUdx,dDLoadsdx)
       additionally computes the derivatives of the element forces with
       respect to the design variables x.
elemloads
ELEMLOADS         Equivalent nodal forces.
      F = ELEMLOADS(DLoads,Nodes,Elements,Types,DOF)
      computes the equivalent nodal forces of a distributed load
      (in the global coordinate system).
      [F,dFdx] = ELEMLOADS(DLoads,Nodes,Elements,Types,DOF,dDLoadsdx,dNodesdx)
      additionally computes the derivatives of the equivalent nodal forces
      with respect to the design variables x.
elempressure
ELEMPRESSURE      Equivalent nodal forces for a pressure load on a shell element.
   F = elempressure(Pressures,Nodes,Elements,Types,DOF)
   computes the equivalent nodal forces of a distributed pressure
   (in the local coordinate system xyz, with z perpendicular to the surface).
elemsize
ELEMSIZE         Compute element length/area/volume.
      S = ELEMSIZE(Nodes,Elements,Types)
      computes the size of all elements, depending on element type. For a 1D
      line element it computes length, for a 2D plate element it computes
      area, and for a 3D solid element it computes volume.
      [S,dSdx] = ELEMSIZE(Nodes,Elements,Types,dNodesdx)
      additionaly computes the derivatives of the size with respect to the
      design variables x.
elemstress
ELEMSTRESS     Compute the element stresses.
   [SeGCS,SeLCS,vLCS] =         elemstress(Nodes,Elements,Types,Sections,Materials,DOF,U)
   [SeGCS,SeLCS]      =         elemstress(Nodes,Elements,Types,Sections,Materials,DOF,U)
    SeGCS             =         elemstress(Nodes,Elements,Types,Sections,Materials,DOF,U)
   computes the element         stresses in the global and the local coordinate system.
elemtloads
ELEMTLOADS        Equivalent nodal forces for temperature loading.
      F=elemtloads(TLoads,Nodes,Elements,Types,Sections,Materials,DOF)
      computes the equivalent nodal forces of a temperature gradient
      (in the global coordinate system).
elemvolumes
ELEMVOLUMES      Compute element volumes.
   V = ELEMVOLUMES(Nodes,Elements,Types,Sections)
   computes the volume for all elements.
   [V,dVdx] = ELEMVOLUMES(Nodes,Elements,Types,Sections,dNodesdx,dSectionsdx)
   computes the volume for all elements, as well as the derivatives of the
   volume with respect to the design variables x.
fdiagrgcs beam
FDIAGRGCS_BEAM      Return matrices to plot the forces in a beam element.
      [ElemGCS,FdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                                  = fdiagrgcs_beam(ftype,Forces,Node,[],[],DLoad,Points)
      [ElemGCS,FdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                                  = fdiagrgcs_beam(ftype,Forces,Node,[],[],DLoad)
      returns the coordinates of the points along the beam in the global
      coordinate system and the coordinates of the forces with respect to the beam
      in the global coordinate system. These can be added in order to plot the
      forces: ElemGCS+FdiagrGCS. The coordinates of the points with extreme values
      and the coordinates of the extreme values with respect to the beam are given
      as well and can be similarly added: ElemExtGCS+ExtremaGCS. Extrema is the
      list with the correspondig extreme values.
fdiagrgcs shell2
FDIAGRGCS_SHELL2      Return matrices to plot the forces in a SHELL2 element.
   [ElemGCS,FdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                    = fdiagrgcs_shell2(ftype,Forces,Node,Section,Material,DLoad,Points)
   [ElemGCS,FdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                    = fdiagrgcs_shell2(ftype,Forces,Node,Section,Material,DLoad)
   returns the coordinates of the points along the SHELL2 in the global
   coordinate system and the coordinates of the forces with respect to the element
   in the global coordinate system. These can be added in order to plot the
   forces: ElemGCS+FdiagrGCS. The coordinates of the points with extreme values
   and the coordinates of the extreme values with respect to the element are given
   as well and can be similarly added: ElemExtGCS+ExtremaGCS. Extrema is the
   list with the correspondig extreme values.
fdiagrgcs truss
FDIAGRGCS_TRUSS      Return matrices to plot the forces in a truss element.
      [ElemGCS,FdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                                 = fdiagrgcs_truss(ftype,Forces,Node,[],[],[],Points)
      [ElemGCS,FdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                                 = fdiagrgcs_truss(ftype,Forces,Node)
      returns the coordinates of the points along the truss in the global
      coordinate system and the coordinates of the forces with respect to the truss
      in the global coordinate system. These can be added in order to plot the
      forces: ElemGCS+FdiagrGCS. The coordinates of the points with extreme values
      and the coordinates of the extreme values with respect to the truss are given
      as well and can be similarly added: ElemExtGCS+ExtremaGCS. Extrema is the
      list with the correspondig extreme values.
fdiagrlcs
FDIAGRLCS     Return force diagrams in LCS.
   FdiagrLCS = FDIAGRLCS(ftype,Nodes,Elements,Types,Forces,DLoads,Points)
   FdiagrLCS = FDIAGRLCS(ftype,Nodes,Elements,Types,Forces,DLoads)
   FdiagrLCS = FDIAGRLCS(ftype,Nodes,Elements,Types,Forces)
       computes element force values in all interpolation points (in beam
       convention) for beam and truss elements.
   [FdiagrLCS,dFdiagrLCSdx]
           = FDIAGRLCS(ftype,Nodes,Elements,Types,Forces,DLoads,...
                                           Points,dNodesdx,dForcesdx,dDLoadsdx)
       additionally computes the derivatives of the force values with
       respect to the design variables x.
fdiagrlcs beam
FDIAGRLCS_BEAM       Force diagram for a beam element in LCS.
      [FdiagrLCS,loc,Extrema] = FDIAGRLCS_BEAM(ftype,Forces,DLoadLCS,L,Points)
      computes the elements forces at the specified points. The extreme
      values for an element with a single DLoad are analytically determined.
      The extreme values for an element with multiple DLoads are calculated
      in the interpolation points only.
      [FdiagrLCS,loc,Extrema,dFdiagrLCSdx]
          = FDIAGRLCS_BEAM(ftype,Forces,DLoadLCS,L,Points,dForcesdx,dDLoadLCSdx,dLdx)
      additionally computes the derivatives of the element force values with
      respect to the design variables x.
fdiagrlcs shell2
FDIAGRLCS_SHELL2      Force diagram for a SHELL2 element in LCS.
   [FdiagrLCS,loc,Extrema] = fdiagrlcs_shell2(ftype,Forces,DLoadLCS,L,Points)
   computes the elements forces at the specified points. The extreme values are
   obtained by enumeration.
fdiagrlcs truss
FDIAGRLCS_TRUSS      Force diagram for a truss element in LCS.
      [FdiagrLCS,loc,Extrema] = FDIAGRLCS_TRUSS(ftype,Forces,DLoadLCS,L,Points)
      computes the element forces at the specified points.
      [FdiagrLCS,loc,Extrema,dFdiagrLCSdx]
          = FDIAGRLCS_TRUSS(ftype,Forces,DLoadLCS,L,Points,dForcesdx,dDLoadLCSdx,dLdx)
      additionally computes the derivatives of the element force values with
      respect to the design variables x.
forceslcs beam
FORCESLCS_BEAM      Compute the element forces for a beam element in the LCS.
   Forces = FORCESLCS_BEAM(KeLCS,UeLCS,DLoadLCS,L,TLoadLCS,A,E,alpha,Iyy,Izz,hy,hz)
   Forces = FORCESLCS_BEAM(KeLCS,UeLCS,DLoadLCS,L)
   Forces = FORCESLCS_BEAM(KeLCS,UeLCS)
       computes the element forces for the beam element in the local
       coordinate system (algebraic convention).
   [Forces,dForcesdx] = FORCESLCS_BEAM(KeLCS,UeLCS,DLoadLCS,L,[],[],[],...
                                 [],[],[],[],[],dKeLCSdx,dUeLCSdx,dDLoadLCSdx,dLdx)
   [Forces,dForcesdx] = FORCESLCS_BEAM(KeLCS,UeLCS,[],[],[],[],[],[],[],...
                                       [],[],[],dKeLCSdx,dUeLCSdx,dDLoadLCSdx,dLdx)
       additionally computes the derivatives of the element forces with
       respect to the design variables x.
forceslcs truss
FORCESLCS_TRUSS       Compute the element forces for a truss element in the LCS.
      Forces = FORCESLCS_TRUSS(KeLCS,UeLCS,dTm,A,E,alpha)
      Forces = FORCESLCS_TRUSS(KeLCS,UeLCS)
          computes the element forces for the truss element in the local coordinate
          system (algebraic convention).
      [Forces,dForcesdx] = FORCESLCS_TRUSS(KeLCS,UeLCS,[],[],[],[],dKeLCSdx,dUeLCSdx)
          additionally computes the derivatives of the element forces with
          respect to the design variables x.
forces beam
FORCES_BEAM     Compute the element forces for a beam element.
   [ForcesLCS,ForcesGCS] = FORCES_BEAM(Node,Section,Material,UeGCS,DLoad,TLoad,Options)
   [ForcesLCS,ForcesGCS] = FORCES_BEAM(Node,Section,Material,UeGCS,DLoad)
   [ForcesLCS,ForcesGCS] = FORCES_BEAM(Node,Section,Material,UeGCS)
       computes the element forces for the beam element in the local and
       the global coordinate system (algebraic convention).
   [ForcesLCS,ForcesGCS,dForcesLCSdx,dForcesGCSdx]
           = FORCES_BEAM(Node,Section,Material,UeGCS,DLoad,TLoad,Options,dNodedx,...
                                                          dSectiondx,dUeGCSdx,dDLoaddx)
           = FORCES_BEAM(Node,Section,Material,UeGCS,[],[],Options,dNodedx,...
                                                                   dSectiondx,dUeGCSdx)
       additionally computes the derivatives of the element forces with
       respect to the design variables x.
forces shell2
FORCES_BEAM       Compute the element forces for a SHELL2 element.
      [ForcesLCS,ForcesGCS]=forces_shell2(Node,Section,Material,UeGCS,DLoad,TLoad,Options)
      [ForcesLCS,ForcesGCS]=forces_shell2(Node,Section,Material,UeGCS,DLoad)
      [ForcesLCS,ForcesGCS]=forces_shell2(Node,Section,Material,UeGCS)
      computes the element forces for the SHELL2 element in the local and the
      global coordinate system (algebraic convention).
forces truss
FORCES_TRUSS      Compute the element forces for a truss element.
   [ForcesLCS,ForcesGCS] = FORCES_TRUSS(Node,Section,Material,UeGCS,[],TLoad)
   [ForcesLCS,ForcesGCS] = FORCES_TRUSS(Node,Section,Material,UeGCS)
       computes the element forces for the truss element in the local and the
       global coordinate system (algebraic convention).
   [ForcesLCS,ForcesGCS,dForcesLCSdx,dForcesGCSdx]
           = FORCES_TRUSS(Node,Section,Material,UeGCS,[],TLoad,[],dNodedx,...
                                                                dSectiondx,dUeGCSdx)
       additionally computes the derivatives of the element forces with
       respect to the design variables x.
gaussq
GAUSSQ      Gauss points for 2D numerical integration.
gaussqtet
GAUSSQTET     Gauss points for 3D numerical integration on a tetrahedron.
gaussqtri
GAUSSQTRI      Gauss points for 2D numerical integration on a triangle.
getdof
GETDOF    Get the vector with the degrees of freedom of the model.
getmovie
GETMOVIE      Get the movie from a figure where an animation has been played.
      mov=getmovie(h)
      gets the movie from the userdata of the axis of a figure where an animation
      has been played. In order to save the movie in the userdata the animation
      should have been played using animdisp(...,’CreateMovie’,’on’). This
      function blocks the command prompt until the movie has become available.
      h         Axis handle.
      mov       Structured array with movie frames.
grid plane4
GRID_PLANE4    Grid in natural coordinates for mapped meshing.
   [s,t,NodeNum,Elements] = grid_plane4(m,n,Type,Section,Material)
   returns matrices of a grid in the natural coordinate system, which can
   be used for mapped meshing.
grid shell4
GRID_SHELL4      Grid in natural coordinates for mapped meshing.
      [s,t,NodeNum,Elements] = grid_shell4(m,n,Type,Section,Material)
      returns matrices of a grid in the natural coordinate system, which can
      be used for mapped meshing.
grid shell8
GRID_SHELL8    Grid in natural coordinates for mapped meshing.
   [s,t,NodeNum,Elements] = grid_shell8(m,n,Type,Section,Material)
   returns matrices of a grid in the natural coordinate system, which can
   be used for mapped meshing.
kelcs beam
KELCS_BEAM       Beam element stiffness and mass matrix in local coordinate system.
      [KeLCS,MeLCS] = KELCS_BEAM(L,A,ky,kz,Ixx,Iyy,Izz,E,nu,rho,Options)
      [KeLCS,MeLCS] = KELCS_BEAM(L,A,ky,kz,Ixx,Iyy,Izz,E,nu,rho)
       KeLCS        = KELCS_BEAM(L,A,ky,kz,Ixx,Iyy,Izz,E,nu)
      returns the element stiffness and mass matrix in the local coordinate system
      for a two node beam element (isotropic material).
      [KeLCS,~,dKeLCSdx] = KELCS_BEAM(L,A,ky,kz,Ixx,Iyy,Izz,E,nu,rho,Options,dLdx,dAdx,...
                                                               dkydx,dkzdx,dIxxdx,dIyydx,dIzzdx)
      returns the element stiffness matrix in the local coordinate system
      for a two node beam element (isotropic material), and additionally
      computes the derivatives of the stiffness matrix with respect to the
      design variables x. The derivatives of the mass matrix have not yet
      been implemented.
      L          Beam length
      A          Beam cross section area
      ky         Shear deflection factor A_sy = ky * A
      kz         Shear deflection factor A_sz = kz * A
      Ixx        Moment of inertia
      Iyy        Moment of inertia
      Izz        Moment of inertia
      E          Young’s modulus
      nu         Poisson coefficient
      rho        Mass density
      Options    Options for the mass matrix: {’lumped’}, {’norotaroryinertia’}
      dLdx       Beam length derivatives              (1 * nVar)
      dAdx       Beam cross section area derivatives (1 * nVar)
      dkydx      Shear deflection factor derivatives (1 * nVar)
      dkzdx      Shear deflection factor derivatives (1 * nVar)
      dIxxdx     Moment of inertia derivatives        (1 * nVar)
      dIyydx     Moment of inertia derivatives        (1 * nVar)
      dIzzdx     Moment of inertia derivatives        (1 * nVar)
      KeLCS      Element stiffness matrix             (12 * 12)
      MeLCS      Element mass matrix                  (12 * 12)
      dKeLCSdx   Element stiffness matrix derivatives (CELL(nVar,1))
kelcs shell2
KELCS_SHELL2      SHELL2 element stiffness matrix in local coordinate system.
kelcs shell4
KELCS_SHELL4     shell element stiffness and mass matrix in element
                 coordinate system.
      [Ke,Me] = kelcs_shell4(Node_lc,h,E,nu,rho)
       Ke     = kelcs_shell4(Node_lc,h,E,nu)
      returns the element stiffness and mass matrix in the element
      coordinate system for a four node shell element (isotropic material).
      h         Shell thickness
      E         Young’s modulus
      nu        Poisson coefficient
      rho       Mass density
      Options   Element options [NOT available yet]     {Option1 Option2 ...}
      KeLCS     Element stiffness matrix (24 * 24)
      MeLCS     Element mass matrix (24 * 24)
kelcs truss
KELCS_TRUSS     Truss element stiffness and mass matrix in local coordinate system.
   [KeLCS,MeLCS] = KELCS_TRUSS(L,A,E,rho,Options)
   [KeLCS,MeLCS] = KELCS_TRUSS(L,A,E,rho)
    KeLCS        = KELCS_TRUSS(L,A,E)
   returns the element stiffness and mass matrix in the local coordinate system
   for a two node truss element (isotropic material).
   [KeLCS,~,dKeLCSdx] = KELCS_TRUSS(L,A,E,rho,Options,dLdx,dAdx)
   returns the element stiffness matrix in the local coordinate system
   for a two node truss element (isotropic material), and additionally
   computes the derivatives of the stiffness matrix with respect to the
   design variables x. The derivatives of the mass matrix have not yet
   been implemented.
   L            Truss length
   A            Truss cross section area
   E            Young’s modulus
   rho          Mass density
   Options      Options for the mass matrix: {’lumped’}
   dLdx         Truss length derivatives                  (1 * nVar)
   dAdx         Truss cross section area derivatives      (1 * nVar)
   KeLCS        Element stiffness matrix                  (6 * 6)
   MeLCS        Element mass matrix                       (6 * 6)
   dKeLCSdx     Element stiffness matrix derivatives      (CELL(nVar,1))
ke beam
KE_BEAM      Beam element stiffness and mass matrix in global coordinate system.
      [Ke,~,dKedx] = KE_BEAM(Node,Section,Material,Options,dNodedx,dSectiondx)
      returns the element stiffness matrix in the global coordinate system
      for a two node beam element (isotropic material), and additionally
      computes the derivatives of the stiffness matrix with respect to the
      design variables x. The derivatives of the mass matrix have not yet
      been implemented.
ke dkt
KE_DKT    DKT plate element stiffness and mass matrix.
   [Ke,Me] = ke_dkt(Node,h,E,nu,rho)
    Ke     = ke_dkt(Node,h,E,nu)
   returns the element stiffness and mass matrix in the global coordinate system
   for a three node plate element (isotropic material) in the xy-plane.
ke mass
KE_MASS      mass element system matrices in the global coordinate system.
ke plane10
KE_PLANE10     plane element stiffness and mass matrix in global coordinate system.
                  3
                  | \
                  8 7
                  |    \
                  9 10 6
                  |       \
                  1--4--5--2
ke plane15
KE_PLANE15      plane element stiffness and mass matrix in global coordinate system.
                    3
                    | \
                   10   9
                    |     \
                   11 15    8
                    |         \
                   12 13    14 7
                    |             \
                    1---4---5---6---2
ke plane3
KE_PLANE3     plane element stiffness and mass matrix in global coordinate system.
ke plane4
KE_PLANE4      plane element stiffness and mass matrix in global coordinate system.
                    4---3
                    |   |
                    1---2
ke plane6
KE_PLANE6     plane element stiffness and mass matrix in global coordinate system.
                3
                | \
                6 5
                |    \
                1--4--2
ke plane8
KE_PLANE8      plane element stiffness and mass matrix in global coordinate system.
ke shell2
KE_SHELL2     SHELL2 element stiffness matrix in global coordinate system.
ke shell4
KE_SHELL4        shell element stiffness and mass matrix in global coordinate system.
      [Ke,Me] = ke_shell4(Node,Section,Material,Options)
       Ke     = ke_shell4(Node,Section,Material,Options)
      returns the element stiffness and mass matrix in the global coordinate system
      for a four node shell element (isotropic material).
ke shell6
KE_SHELL6     shell element stiffness and mass matrix in global coordinate system.
   [Ke,Me] = ke_shell6(Node,Section,Material,Options)
    Ke     = ke_shell6(Node,Section,Material,Options)
   returns the element stiffness and mass matrix in the global coordinate system
   for an eight node shell element.
ke shell8
KE_SHELL8        Shell element stiffness and mass matrix in global coordinate system.
      [Ke,Me] = ke_shell8(Node,Section,Material,Options)
       Ke     = ke_shell8(Node,Section,Material,Options)
      returns the element stiffness and mass matrix in the global coordinate system
      for an eight node shell element.
ke solid10
KE_SOLID10     Compute the element stiffness and mass matrix for a solid10 element.
                        4
                      / | \
                     8 | 10
                   /    9   \
                  1--- |-7--3
                   \    |   /
                     5 | 6
                      \ | /
                        2
ke solid15
KE_SOLID15       Compute the element stiffness and mass matrix for a solid15 element.
ke solid20
KE_SOLID20     Compute the element stiffness and mass matrix for a solid20 element.
ke solid4
KE_SOLID4        Compute the element stiffness and mass matrix for a solid4 element.
                         4
                       / | \
                      / | \
                    /    |   \
                   1--- |----3
                    \    |   /
                      \ | /
                       \ | /
                         2
ke solid8
KE_SOLID8     Compute the element stiffness and mass matrix for a solid8 element.
   [Ke,Me] = ke_solid8(Node,Section,Material,Options)
   [Ke,Me] = ke_solid8(Node,Section,Material,Options)
   computes element stiffness and mass matrix in the global coordinate system
                                                             for a solid8 element.
ke truss
KE_TRUSS      Truss element stiffness and mass matrix in global coordinate system.
      [Ke,~,dKedx] = KE_TRUSS(Node,Section,Material,Options,dNodedx,dSectiondx)
      returns the element stiffness matrix in the global coordinate system
      for a two node truss element (isotropic material), and additionally
      computes the derivatives of the stiffness matrix with respect to the
      design variables x. The derivatives of the mass matrix have not yet
      been implemented.
lconstr
LCONSTR     Add linear constraint equations to the stiffness matrix and load vector
                                                                using Lagrange multipliers.
   [L,K,F]=lconstr(Constr,DOF,K,F)
   [L,K,F,M]=lconstr(Constr,DOF,K,[],M)
   [L,K,F,M]=lconstr(Constr,DOF,K,F,M)
   modifies the stiffness matrix, the mass matrix and the load vector according
   to the applied constraint equations. The dimensions of the stiffness matrix,
   the mass matrix and the load vector increase with the number of constraints.
   The resulting stiffness and mass matrix are symmetric.
linkandcheck
LINKANDCHECK      Link two matrices and check for presence.
      p3=linkandcheck(p1,p2,name)
      Link two matrices and check for presence
loadslcs beam
LOADSLCS_BEAM      Equivalent nodal forces for a beam element in the LCS.
   FLCS = LOADSLCS_BEAM(DLoadLCS,L)
   computes the equivalent nodal forces of a distributed load
   (in the local coordinate system).
   [FLCS,dFLCSdx] = LOADSLCS_BEAM(DLoadLCS,L,dDLoadLCSdx,dLdx)
   additionally computes the derivatives of the equivalent nodal forces
   with respect to the design variables x.
loadslcs shell2
LOADSLCS_SHELL2      Equivalent nodal forces for a SHELL2 element in the LCS.
      FLCS = loadslcs_shell2(DLoadLCS,L)
      computes the equivalent nodal forces of a distributed load
      (in the local coordinate system).
loadslcs shell4
LOADSLCS_SHELL4      Equivalent nodal forces for a shell4 element in the LCS.
   F = loadslcs_shell4(DLoadLCS,Node)
   computes the equivalent nodal forces of a distributed load
   (in the local coordinate system).
loads beam
LOADS_BEAM       Equivalent nodal forces for a beam element in the GCS.
      F = LOADS_BEAM(DLoad,Node)
      computes the equivalent nodal forces of a distributed load
      (in the global coordinate system).
      [F,dFdx] = LOADS_BEAM(DLoad,Node,dDLoaddx,dNodedx)
      additionally computes the derivatives of the equivalent nodal forces
      with respect to the design variables x.
loads shell2
LOADS_SHELL2      Equivalent nodal forces for a SHELL2 element in the GCS.
   F = loads_shell2(DLoad,Node)
   computes the equivalent nodal forces of a distributed load
   (in the global coordinate system).
loads shell4
LOADS_SHELL4      Equivalent nodal forces for a shell4 element in the GCS.
      F = loads_shell4(DLoad,Node)
      computes the equivalent nodal forces of a distributed load
      (in the global coordinate system).
loads shell6
LOADS_SHELL6      Equivalent nodal forces for a shell6 element in the GCS.
   F = loads_shell6(DLoad,Node)
   computes the equivalent nodal forces of a distributed load
   (in the global coordinate system).
loads shell8
LOADS_SHELL8      Equivalent nodal forces for a shell8 element in the GCS.
      F = loads_shell8(DLoad,Node)
      computes the equivalent nodal forces of a distributed load
      (in the global coordinate system).
loads solid20
LOADS_SOLID20      Equivalent nodal forces for a solid20 element.
   F = loads_solid20(DLoad,Node)
   computes the equivalent nodal forces of a distributed load
   (in the global coordinate system).
loads solid8
LOADS_SOLID8      Equivalent nodal forces for a solid8 element.
      F = loads_solid8(DLoad,Node)
      computes the equivalent nodal forces of a distributed load
      (in the global coordinate system).
loads truss
LOADS_TRUSS     Equivalent nodal forces for a truss element in the GCS.
   F = LOADS_TRUSS(DLoad,Node)
   computes the equivalent nodal forces of a distributed load
   (in the global coordinate system).
   [F,dFdx] = LOADS_TRUSS(DLoad,Node,dDLoaddx,dNodedx)
   additionally computes the derivatives of the equivalent nodal forces
   with respect to the design variables x.
lsolver
LSOLVER      Solves linear system of equations.
      [U,fK] = lsolver(K,P,save_factor,check_crpoint,fK)
      solves the linear system K*U=P.
      K     Coefficient matrix [n * n]
      P    Right-hand side      [n * 1]
      save_factor Save factorization {true | false}
      check_crpoint Check critical points {true | false}
      fK   Struct containing factorization of K
FUNCTIONS — ALPHABETICAL LIST              201
meshcat
eshcat is a function.
   [Nodes, Elements] = meshcat(varargin)
202                                                                      FUNCTIONS — ALPHABETICAL LIST
msupf
MSUPF         Modal superposition in the frequency domain.
msupt
MSUPT      Modal superposition in the time domain.
multdloads
MULTDLOADS       Combine distributed loads.
      DLoads = MULTDLOADS(DLoads_1,DLoads_2,...,DLoads_k)
      combines the distributed loads of multiple load cases into one 3D array.
      Each 3D-plane corresponds to a single load case. In the presence of
      partial distributed loads, every row will have identical starting
      and ending points in the 3rd dimension to allow for accurate combination
      of load cases. A distributed load with a starting and/or ending point
      value of ’NaN’ will be considered as a load on the entire element
      Calculations will be more efficient compared to a partial distributed
      load with starting point equal to zero and ending point equal to the
      length of the element.
nedloadlcs beam
NEDLOADLCS_BEAM       Interpolation functions for a distributed load on a beam element.
   NeLCS = NEDLOADLCS_BEAM(Points)
   NeLCS = NEDLOADLCS_BEAM(Points,phi_y,phi_z)
   determines the values of the interpolation functions for a distributed
   load in the specified points (LCS). These are used to compute the
   displacements that occur due to the distributed loads if all nodes are
   fixed.
   NeLCS = NEDLOADLCS_BEAM(Points,[],[],a,b,L)
   NeLCS = NEDLOADLCS_BEAM(Points,phi_y,phi_z,a,b,L)
   determines the values of the interpolation functions for a partial
   distributed load in the specified points (LCS). The load starts at a
   distance ’a’ and ends at distance ’b’ from the first node of the element:
       1) from 0 to a: no DLoad,
       2) from a to b: DLoad,
       3) from b to L: no DLoad.
   [NeLCS,dNeLCSdx] = NEDLOADLCS_BEAM(Points,[],[],a,b,L,dadx,dbdx,dLdx)
   [NeLCS,dNeLCSdx] = NEDLOADLCS_BEAM(Points,phi_y,phi_z,a,b,L,dadx,dbdx,dLdx)
   additionally computes the derivatives of the interpolation functions of
   a partial distributed load with respect to the design variables x.
   Note: the derivatives of the interpolation functions for a distributed
   load on the complete element are zero.
nelcs beam
NELCS_BEAM      Shape functions for a beam element.
      NeLCS = nelcs_beam(Points)
      NeLCS = nelcs_beam(Points,phi_y,phi_z)
      determines the values of the shape functions in the specified points.
newmark
NEWMARK   Direct time integration for dynamic systems - Newmark method
   [u,v,a,t] = NEWMARK(M,C,K,dt,p,u0,v0,a0,[alpha delta]) applies the Newmark
   method for the calculation of the nodal displacements u, velocities v and
   accelerations a of the dynamic system with the system matrices M, C and K
   due to the excitation p.
nodalshellf
NODALSHELLF      Compute the nodal shell forces/moments per unit length
                                                       from the element solution.
nodalstress
NODALSTRESS     Compute the nodal stresses from the element solution.
   [Sn,Sn2] = nodalstress(Nodes,Elements,Types,Se)
   computes the nodal stresses from the element solution.
nodalvalues
NODALVALUES      Construct a vector with the values at the selected DOF.
      F=nodalvalues(DOF,seldof,values)
      constructs a vector with the values at the selected DOF. This function can
      be used to obtain a load vector, initial displacements, velocities or
      accelerations.
patch beam
PATCH_BEAM    Patch information of the beam elements for plotting.
patch mass
PATCH_MASS      Patch information of the mass elements for plotting.
patch plane3
PATCH_PLANE4    Patch information of the plane4 elements for plotting.
patch plane4
PATCH_PLANE4     Patch information of the plane4 elements for plotting.
patch plane6
PATCH_PLANE4    Patch information of the plane4 elements for plotting.
patch plane8
PATCH_PLANE4     Patch information of the plane4 elements for plotting.
patch shell4
PATCH_SHELL4    Patch information of the shell4 elements for plotting.
patch shell6
PATCH_SHELL6     Patch information of the shell6 elements for plotting.
patch shell8
PATCH_SHELL8    Patch information of the shell8 elements for plotting.
   [pxyz,pind,pvalue] = patch_shell8(Nodes,NodeNum,Values)
   returns matrices to plot patches of shell8 elements.
patch solid10
PATCH_SOLID20     Patch information of the solid10 elements for plotting.
      [pxyz,pind,pvalue] = patch_solid20(Nodes,NodeNum,Values)
      returns matrices to plot patches of solid10 elements.
patch solid20
PATCH_SOLID20     Patch information of the solid20 elements for plotting.
   [pxyz,pind,pvalue] = patch_solid20(Nodes,NodeNum,Values)
   returns matrices to plot patches of solid20 elements.
patch solid4
PATCH_SOLID4     Patch information of the solid4 elements for plotting.
      [pxyz,pind,pvalue] = patch_solid20(Nodes,NodeNum,Values)
      returns matrices to plot patches of solid4 elements.
patch solid8
PATCH_SOLID8    Patch information of the solid8 elements for plotting.
   [pxyz,pind,pvalue] = patch_solid8(Nodes,NodeNum,Values)
   returns matrices to plot patches of solid8 elements.
patch truss
PATCH_TRUSS     Patch information of the truss elements for plotting.
plotdisp
PLOTDISP      Plot the displacements.
            plotdisp(Nodes,Elements,Types,DOF,U,DLoads,Sections,Materials)
            plotdisp(Nodes,Elements,Types,DOF,U,[],Sections,Materials)
            plotdisp(Nodes,Elements,Types,DOF,U)
   DispScal=plotdisp(Nodes,Elements,Types,DOF,U,DLoads,Sections,Materials)
   plots the displacements. If DLoads, Sections and Materials are supplied, the
   displacements that occur due to the distributed loads if all nodes are fixed,
   are superimposed.
plotdispx
PLOTDISPX      Plot element quantity on deformed elements.
      plotdispx(Nodes,Elements,Types,DOF,U,x);
      [h,DispScal] = plotdispx(Nodes,Elements,Types,DOF,U,x,varargin)
       plots element quantity on deformed elements.
plotelem
PLOTELEM      Plot the elements.
    plotelem(Nodes,Elements,Types)
   plots the elements.
plotelemx
PLOTELEMX     Plot element quantity on elements.
plotforc
PLOTFORC     Plot element member forces.
   plotforc(ftype,Nodes,Elements,Types,Sections,Materials,Forces,DLoads)
   plotforc(ftype,Nodes,Elements,Types,Sections,Materials,Forces)
   plots the element member forces (in accordance to the beam convention).
plotgcs
lotgcs is a function.
   h = plotgcs(lref, h)
FUNCTIONS — ALPHABETICAL LIST                                               231
plotlcs
PLOTLCS     Plot the local element coordinate systems.
   [h,vLCS] = plotlcs(Nodes,Elements,Types)
   [h,vLCS] = plotlcs(Nodes,Elements,Types,[],varargin)
   plotlcs(Nodes,Elements,Types,vLCS,varargin)
plotnodes
PLOTNODES      Plot the nodes.
       plotnodes(Nodes)
      plots the nodes.
plotprincstress
PLOTPRINCSTRESS      Plot the principal stresses in shell elements.
   plotprincstress(Nodes,Elements,Types,Spr,Vpr)
   plots the principal stresses in shell elements with a vector plot.
plotshellfcontour
PLOTSHELLFCONTOUR      Plot forces/moments per unit length in shell elements.
      plotshellfcontour(ftype,Nodes,Elements,Types,F)
      plots force contours (output from ELEMSHELLF/NODALSHELLF).
plotshellfcontourf
PLOTSHELLFCONTOURF       Plot filled contours of shell forces in shell elements.
    plotshellfcontourf(stype,Nodes,Elements,Types,F)
    plotshellfcontourf(stype,Nodes,Elements,Types,F,DOF,U)
    plots force contours (output from ELEMSTRESS).
plotstress
PLOTSTRESS      Plot the stresses.
      plotstress(stype,Nodes,Elements,Types,Sections,Materials,Forces,DLoads)
      plotstress(stype,Nodes,Elements,Types,Sections,Materials,Forces)
      plots the stresses.
plotstresscontour
PLOTSTRESSCONTOUR       Plot stress contour lines in shell elements.
    plotstresscontour(stype,Nodes,Elements,Types,S)
    plots stress contours (output from ELEMSTRESS/NODALSTRESS).
plotstresscontourf
PLOTSTRESSCONTOURF     Plot filled contours of stresses.
      plotstresscontourf(stype,Nodes,Elements,Types,S)
      plotstresscontourf(stype,Nodes,Elements,Types,S,DOF,U)
      plots stress contours (output from ELEMSTRESS).
pressure shell4
PRESSURE_SHELL4      Equivalent nodal forces for a shell4 element in the GCS
                     due to a pressure normal to the element surface.
   F = pressure_shell4(Pressure,Node)
   computes the equivalent nodal forces of a pressure load normal to the
   elements surface.
pressure shell6
PRESSURE_SHELL8      Equivalent nodal forces for a shell6 element in the GCS
                     due to a pressure normal to the element surface.
      F = pressure_shell(Pressure,Node)
      computes the equivalent nodal forces of a pressure load normal to
      the elements surface.
pressure shell8
PRESSURE_SHELL8      Equivalent nodal forces for a shell8 element in the GCS
                     due to a pressure normal to the element surface.
   F = pressure_shell(Pressure,Node)
   computes the equivalent nodal forces of a pressure load normal to
   the elements surface.
principalstress
PRINCIPALSTRESS       Compute the principal stresses and directions in shell elements.
      [Spr,Vpr] = principalstress(Elements,SeGCS)
      computes the principal stresses and directions.
printdisp
PRINTDISP     Display the displacements in the command window.
    printdisp(Nodes,DOF,U)
   displays the displacements in the command window.
printforc
PRINTFORC        Display the forces in the command window.
       printforc(Elements,Forces)
      displays the forces in the command window.
printshellf
PRINTSHELLF Display forces/moments in command window (shell elements).
   printshellf(Elements,F)
   displays shell forces in command window.
printstress
PRINTSTRESS Display stress in command window (shell elements).
q dkt
Q_DKT    Q matrix for a DKT element.
reaction
REACTION      Compute the reaction forces for a degree of freedom.
      Freac=reaction(Elements,ForcesGCS,seldof)
      computes the reaction forces for a degree of freedom.
removedof
REMOVEDOF      Remove DOF with Dirichlet boundary conditions equal to zero.
reprow
REPROW         Replicate rows from a matrix.
       Matrix=reprow(Matrix,RowSel,nTime,RowInc)
      replicates the selected rows from a matrix a number of times and adds them
      below the existing rows. The k-th time the increment RowInc is added k times
      to the copied rows.
scontour shell4
SCONTOUR_SHELL4      Matrix to plot contours in a shell4 element.
scontour shell8
SCONTOUR_SHELL8      Matrix to plot contours in a shell8 element.
sdiagrgcs beam
SDIAGRGCS_BEAM      Return matrices to plot the stresses in a beam element.
   [ElemGCS,SdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                               = sdiagrgcs_beam(stype,Forces,Node,Section,[],DLoad,Points)
   [ElemGCS,SdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                               = sdiagrgcs_beam(Forces,Node,Section,[],DLoad)
   returns the coordinates of the points along the beam in the global
   coordinate system and the coordinates of the stresses with respect to the beam
   in the global coordinate system. These can be added in order to plot the
   stresses: ElemGCS+SdiagrGCS. The coordinates of the points with extreme values
   and the coordinates of the extreme values with respect to the beam are given
   as well and can be similarly added: ElemExtGCS+ExtremaGCS. Extrema is the
   list with the corresponding extreme values.
sdiagrgcs shell2
SDIAGRGCS_SHELL2      Return matrices to plot the stresses in a SHELL2 element.
      [ElemGCS,SdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                      = sdiagrgcs_shell2(ftype,Forces,Node,Section,Material,DLoad,Points)
      [ElemGCS,SdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                      = sdiagrgcs_shell2(ftype,Forces,Node,Section,Material,DLoad)
      returns the coordinates of the points along the SHELL2 in the global
      coordinate system and the coordinates of the stresses with respect to the element
      in the global coordinate system. These can be added in order to plot the
      stresses: ElemGCS+SdiagrGCS. The coordinates of the points with extreme values
      and the coordinates of the extreme values with respect to the element are given
      as well and can be similarly added: ElemExtGCS+ExtremaGCS. Extrema is the
      list with the correspondig extreme values.
sdiagrgcs truss
SDIAGRGCS_TRUSS      Return matrices to plot the stresses in a truss element.
   [ElemGCS,SdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                              = sdiagrgcs_truss(stype,Forces,Node,Section,[],[],Points)
   [ElemGCS,SdiagrGCS,ElemExtGCS,ExtremaGCS,Extrema]
                              = sdiagrgcs_truss(stype,Forces,Node,Section)
   returns the coordinates of the points along the truss in the global
   coordinate system and the coordinates of the stresses with respect to the truss
   in the global coordinate system. These can be added in order to plot the
   stresses: ElemGCS+SdiagrGCS. The coordinates of the points with extreme values
   and the coordinates of the extreme values with respect to the truss are given
   as well and can be similarly added: ElemExtGCS+ExtremaGCS. Extrema is the
   list with the corresponding extreme values.
sdiagrlcs beam
SDIAGRLCS_BEAM       Stress diagram for a beam element in LCS.
      [SdiagrLCS,loc,Extrema] = sdiagrlcs_beam(ftype,Forces,DLoadLCS,L,Points)
      computes the stresses at the specified points. The extreme values are
      analytically determined.
selcs plane3
SELCS_PLANE3      Compute the element stresses for a plane3 element.
   [SeLCS] = selcs_plane3(Node,Section,Material,UeGCS,Options)
   computes the element stresses in the
   local coordinate system for the plane3 element.
selcs plane4
SELCS_PLANE4      Compute the element stresses for a plane4 element.
      [SeLCS] = selcs_plane4(Node,Section,Material,UeGCS,Options)
      computes the element stresses in the
      local coordinate system for the plane4 element.
selcs plane6
SELCS_PLANE6      Compute the element stresses for a plane6 element.
   [SeLCS] = selcs_plane6(Node,Section,Material,UeGCS,Options)
   computes the element stresses in the
   local coordinate system for the plane6 element.
selcs plane8
SELCS_PLANE8      Compute the element stresses for a plane4 element.
      [SeLCS] = selcs_plane8(Node,Section,Material,UeGCS,Options)
      computes the element stresses in the
      local coordinate system for the plane8 element.
selcs shell4
SELCS_SHELL4      Compute the element stresses for a shell4 element.
   [SeLCS] = selcs_shell4(Node,Section,Material,UeGCS,Options)
   computes the element stresses in the global and the
   local coordinate system for the shell4 element.
selectdof
SELECTDOF        Select degrees of freedom.
          L=selectdof(DOF,seldof)
      [L,I]=selectdof(DOF,seldof)
          L=selectdof(DOF,seldof,’Ordering’,ordering)
      creates the matrix to extract degrees of freedom from the global degrees of
      freedom by matrix multiplication.
selectnode
SELECTNODE     Select nodes by location.
   Nodesel=selectnode(Nodes,x,y,z)
   Nodesel=selectnode(Nodes,xmin,ymin,zmin,xmax,ymax,zmax)
   selects nodes by location.
se plane3
SE_PLANE3        Compute the element stresses for a plane3 element.
      [SeGCS,SeLCS,vLCS] = se_plane3(Node,Section,Material,UeGCS,Options,GCS)
      [SeGCS,SeLCS]      = se_plane3(Node,Section,Material,UeGCS,Options,GCS)
       SeGCS             = se_plane3(Node,Section,Material,UeGCS,Options,GCS)
      computes the element stresses in the global and the
      local coordinate system for the shell3 element.
se plane4
SE_PLANE4     Compute the element stresses for a plane4 element.
   [SeGCS,SeLCS,vLCS] = se_plane4(Node,Section,Material,UeGCS,Options,GCS)
   [SeGCS,SeLCS]      = se_plane4(Node,Section,Material,UeGCS,Options,GCS)
    SeGCS             = se_plane4(Node,Section,Material,UeGCS,Options,GCS)
   computes the element stresses in the global and the
   local coordinate system for the shell4 element.
se plane6
SE_PLANE6        Compute the element stresses for a plane6 element.
      [SeGCS,SeLCS,vLCS] = se_plane6(Node,Section,Material,UeGCS,Options,GCS)
      [SeGCS,SeLCS]      = se_plane6(Node,Section,Material,UeGCS,Options,GCS)
       SeGCS             = se_plane6(Node,Section,Material,UeGCS,Options,GCS)
      computes the element stresses in the global and the
      local coordinate system for the plane6 element.
se plane8
SE_PLANE8     Compute the element stresses for a plane8 element.
   [SeGCS,SeLCS,vLCS] = se_plane8(Node,Section,Material,UeGCS,Options,GCS)
   [SeGCS,SeLCS]      = se_plane8(Node,Section,Material,UeGCS,Options,GCS)
    SeGCS             = se_plane8(Node,Section,Material,UeGCS,Options,GCS)
   computes the element stresses in the global and the
   local coordinate system for the shell8 element.
se shell4
SE_SHELL4        Compute the element stresses for a shell4 element.
      [SeGCS,SeLCS,vLCS] = se_shell4(Node,Section,Material,UeGCS,Options,GCS)
      [SeGCS,SeLCS]      = se_shell4(Node,Section,Material,UeGCS,Options,GCS)
       SeGCS             = se_shell4(Node,Section,Material,UeGCS,Options,GCS)
      computes the element stresses in the global and the
      local coordinate system for the shell4 element.
se shell6
SE_SHELL6     Compute the element stresses for a shell6 element.
   [SeGCS,SeLCS,vLCS] = se_shell6(Node,Section,Material,UeGCS,Options,gcs)
   [SeGCS,SeLCS]      = se_shell6(Node,Section,Material,UeGCS,Options,gcs)
    SeGCS             = se_shell6(Node,Section,Material,UeGCS,Options,gcs)
   computes the element stresses in the global and the
   local coordinate system for the shell6 element.
se shell8
SE_SHELL8        Compute the element stresses for a shell8 element.
      [SeGCS,SeLCS,vLCS] = se_shell8(Node,Section,Material,UeGCS,Options,gcs)
      [SeGCS,SeLCS]      = se_shell8(Node,Section,Material,UeGCS,Options,gcs)
       SeGCS             = se_shell8(Node,Section,Material,UeGCS,Options,gcs)
      computes the element stresses in the global and the
      local coordinate system for the shell8 element.
se solid20
SE_SOLID20     Compute the element stresses for a solid20 element.
   [SeGCS,SeLCS,vLCS] = se_solid20(Node,Section,Material,UeGCS,Options,gcs)
   [SeGCS,SeLCS]      = se_solid20(Node,Section,Material,UeGCS,Options,gcs)
    SeGCS             = se_solid20(Node,Section,Material,UeGCS,Options,gcs)
   computes the element stresses in the global and the
   local coordinate system for the solid20 element.
se solid8
SE_SOLID8        Compute the element stresses for a solid8 element.
      [SeGCS,SeLCS,vLCS] = se_solid8(Node,Section,Material,UeGCS,Options,gcs)
      [SeGCS,SeLCS]      = se_solid8(Node,Section,Material,UeGCS,Options,gcs)
       SeGCS             = se_solid8(Node,Section,Material,UeGCS,Options,gcs)
      computes the element stresses in the global and the
      local coordinate system for the solid8 element.
se truss
e_truss is a function.
   [SeGCS, SeLCS, vLCS] = se_truss(Node, Section, Material, UeGCS, Options, gcs)
274                                                                      FUNCTIONS — ALPHABETICAL LIST
sh qs4
SH_QS4          Shape functions for a quadrilateral serendipity element with 4
                nodes.
sh qs8
SH_QS8       Shape functions for an 8 node quadrilateral serendipity element.
sh t
SH_T        Shape functions for a triangular plate element.
sh t10
SH_T10       Shape functions for a 10 node triangular element.
sh t15
SH_T15          Shape functions for a 15 node triangular element.
sh t3
SH_T3        Shape functions for a 3 node triangular element.
sh t6
SH_T6           Shape functions for an 6 node triangular element.
sh vs20
SH_VS20       Shape functions for a volume serendipity element with 20 nodes.
   [Ni,dNi_dxi,dNi_deta,dNi_dzeta] = sh_vs20(xi,eta,zeta)
   returns the shape functions and its derivatives to the natural coordinates
   in the point (xi,eta,zeta).
sh vs8
SH_VS8           Shape functions for a volume serendipity element with 8 nodes.
      [Ni,dNi_dxi,dNi_deta,dNi_dzeta] = sh_vs8(xi,eta,zeta)
      returns the shape functions and its derivatives to the natural coordinates
      in the point (xi,eta,zeta).
size beam
 SIZE_BEAM        Compute beam element size (length).
size plane6
 size_plane6   Compute plane6 element size (area).
size solid10
 size_solid10      Compute solid10 element size (volume).
size solid4
 size_solid4   Compute solid4 element size (volume).
size truss
 SIZE_TRUSS       Compute truss element size (length).
tconstr
TCONSTR        Return matrices to apply constraint equations.
      [T,Q0,MasterDOF]=tconstr(Constr,DOF)
      returns matrices to apply constraint equations to the stiffness and mass
      matrix and the load vector: Kr=T.’*K*T, Mr=T.’*M*T and Fr=T.’*(F-K*Q0).
      The original displacement vector is computed using U=T*Ur+Q0.
tloads beam
TLOADS_BEAM     Equivalent nodal forces for a beam element in the GCS.
   F = tloads_beam(TLoad,Node,Section,Material)
   computes the equivalent nodal forces of a temperature load
   (in the global coordinate system).
tloads truss
TLOADS_TRUSS      Equivalent nodal forces for a truss element in the GCS.
      F = tloads_truss(TLoad,Node,Section,Material)
      computes the equivalent nodal forces of a temperature load
      (in the global coordinate system).
trans beam
TRANS_BEAM     Transform coordinate system for a beam element.
   t = TRANS_BEAM(Node)
       computes the transformation matrix between the local and the global
       coordinate system for the beam element.
   [t,dtdx] = TRANS_BEAM(Node,dNodedx)
       additionally computes the derivatives of the transformation matrix
       with respect to the design variables x.
trans shell2
TRANS_BEAM      Transform coordinate system for a beam element.
      t = trans_beam(Node)
      computes the transformation matrix between the local and the global
      coordinate system for the SHELL2 element.
trans shell4
TRANS_SHELL4      Transform coordinate system for a shell4 element.
   [t,Node_lc,W] = trans_shell4(Node)
   [t,Node_lc]   = trans_shell4(Node)
    t            = trans_shell4(Node)
   computes the transformation matrix between the local and the global
   coordinate system and the correction matrix for non-coplanar nodes
   for the shell4 element.
trans shell8
TRANS_SHELL8      Transform coordinate system of a shell8 element.
      t   = trans_shell8(Node)
      t   = trans_shell8(Node,Options)
      computes the transformation matrix between the local and the global
      coordinate system for stress computations.
trans solid20
TRANS_SOLID20      Transform coordinate system of a solid8 element.
   t   = trans_solid20(Node)
   t   = trans_solid20(Node,Options)
   computes the transformation matrix between the local and the global
   coordinate system for stress computations.
trans solid8
TRANS_SOLID8      Transform coordinate system of a solid8 element.
      t   = trans_solid8(Node)
      t   = trans_solid8(Node,Options)
      computes the transformation matrix between the local and the global
      coordinate system for stress computations.
trans truss
TRANS_TRUSS     Transform coordinate system for a truss element.
   t = TRANS_TRUSS(Node)
       computes the transformation matrix between the local and the global
       coordinate system for the truss element.
   [t,dtdx] = TRANS_TRUSS(Node,dNodedx)
       additionally computes the derivatives of the transformation matrix
       with respect to the design variables x.
udiagrgcs
UDIAGRGCS        Return displacement diagrams in GCS
      [UxdiagrGCS,UydiagrGCS,UzdiagrGCS] = UDIAGRGCS(Nodes,Elements,Types,DOF,U,DLoads,
                                                                  Sections,Materials,Points)
      [UxdiagrGCS,UydiagrGCS,UzdiagrGCS] = UDIAGRGCS(Nodes,Elements,Types,DOF,U,DLoads,
                                                                  Sections,Materials)
      [UxdiagrGCS,UydiagrGCS,UzdiagrGCS] = UDIAGRGCS(Nodes,Elements,Types,DOF,U,[],
                                                                  Sections,Materials)
      [UxdiagrGCS,UydiagrGCS,UzdiagrGCS] = UDIAGRGCS(Nodes,Elements,Types,DOF,U)
          computes the displacements of the interpolation points after
          deformation in the global (algebraic) coordinate system. If DLoads,
          Sections and Materials are supplied, the displacements that occur
          due to distributed loads if all nodes are fixed, are superimposed.
      [UxdiagrGCS,UydiagrGCS,UzdiagrGCS,dUxdiagrGCSdx,dUydiagrGCSdx,dUzdiagrGCSdx]
              = UDIAGRGCS(Nodes,Elements,Types,DOF,U,DLoads,Sections,Materials,Points,
                                                        dNodesdx,dUdx,dDLoadsdx,dSectionsdx)
          additionally computes the derivatives of the displacement values
          with respect to the design variables x.
unselectdof
UNSELECTDOF      Unselect degrees of freedom.
       L=unselectdof(DOF,seldof)
   [L,I]=unselectdof(DOF,seldof)
   creates the matrix to unselect degrees of freedom from the global degrees of
   freedom.
clearpage
volume beam
 VOLUME_BEAM        Compute the volume of a beam element.
clearpage
volume truss
 VOLUME_TRUSS        Compute the volume of a truss element.
vtrans solid
VTRANS_SOLID      Transformation matrix for stress and strain components in matrix (Voigt) notation.
   [theta] = vtrans_solid(t)
   [theta] = vtrans_solid(t,vtype)
   computes the transformation matrix between the local and the global
   coordinate system for t stress or strain vector in matrix notation.
   t            Transformation matrix                (3 * 3)
   vtype        Vector type ’stress’ (default) | ’strain’
   theta        Stress transformation matrix         (6 * 6)
wilson
WILSON   Direct time integration for dynamic systems - Wilson-theta method
   [u,v,a,t] = WILSON(M,C,K,dt,p,u1,v1,[alpha delta theta]) applies the
   Wilson-theta method for the calculation of the nodal displacements u,
   velocities v and accelerations a of the dynamic system with the system
   matrices M, C and K due to the excitation p.
[1] K.J. Bathe. Finite Element Procedures. Prentice-Hall, Englewood Cliffs, NJ, second edition, 1996.
[2] A.K. Chopra. Dynamics of structures: theory and applications to earthquake engineering. Prentice-Hall,
    Englewood Cliffs, New Jersey, 1995.
[3] R.D. Cook. Finite element modelling for stress analysis. John Wiley and Sons, 1995.
[4] R.D. Cook, D.S. Malkus, M.E. Plesha, and R.J. Witt. Concepts and applications of finite element analysis.
    John Wiley and Sons, fourth edition, 2002.
[5] J.S. Przemieniecki. Theory of matrix structural analysis. Dover Publications, New York, NY, 1985.
[6] O.C. Zienkiewicz and R.L. Taylor. The finite element method, Volume 1: the basis. Butterworth-Heinemann,
    Oxford, United Kingdom, fifth edition, 2000.
[7] O.C. Zienkiewicz and R.L. Taylor. The finite element method, Volume 2: solid mechanics. Butterworth-
    Heinemann, Oxford, United Kingdom, fifth edition, 2000.
[8] O.C. Zienkiewicz and R.L. Taylor. The finite element method, Volume 3: fluid dynamics. Butterworth-
    Heinemann, Oxford, United Kingdom, fifth edition, 2000.
[9] O.C. Zienkiewicz, R.L. Taylor, and J.Z. Zhu. The finite element method: its basis and fundamentals. Elsevier
    Butterworth-Heinemann, sixth edition, 2005.