## yspESTframe2LaheWFI.m
close all 
clear
## 
disp('==================================================================')
disp(' yspESTframe2LaheWFI.m     ')
disp(' Analysis of a plane frame using the EST method. ')
disp(' The EST method finds the displacements and forces. ')
disp(' The equations matrix are non-symmetric sparse matrix. ')
## http://digi.lib.ttu.ee/opik_eme/slaidid/raamEST1en.pdf
##disp('  ')
disp('---  ')
disp(' http://digi.lib.ttu.ee/opik_eme/slaidid/raamEST1en.pdf ')
disp(' http://digi.lib.ttu.ee/opik_eme/Ehitusmehaanika.pdf#page=408  page=407 ')
## GNU octave version >= 3.0.x
##=========================================================================
## This Program is written by Andres Lahe,   2010-06-26
##                    e-mail: andres.lahe@ttu.ee
## LAST MODIFIED: Andres Lahe,   2013-07-08
## Copyright (c)  2010 by Tallinn University of Technology 
##                Department of Mechanics
##                http://www.ttu.ee/
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License
## as published by the Free Software Foundation; either version 2
## of the License, or (at your option) any later version.

## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.

## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
## http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
##=========================================================================
##siireVardaA
 eps1=0.000001;
 epsgraf=0.01;
 global spA 
 global siireVardaA
 global SIvec
 global epsdountil 
 global Support_Reactions
# epsdountil=0.01;
 epsdountil=0.0000001; 
disp('---  ')
disp(' daf -- the displacements and the forces at the ends of element. ')
disp(' The element of plane frame have 12 daf''s (6+6). ') 
disp(' The number of unknowns are 12*number_of_elements + number_of_support_reactions. ')
disp(' The matrices are assembled into compressed column sparse matrices. ')
disp('---  ')
disp('  ')
#---------  Number of frame nodes ----------
Number_of_frame_nodes=6
                            SolmedeArv=Number_of_frame_nodes;
#---------  Number of elements ----------
Number_of_elements=5
                            ElementideArv=Number_of_elements;
#---------  Number of supports ----------
Number_of_support_reactions=8
                            Ntoerkts=Number_of_support_reactions;
disp('  ')

spNNK=12*ElementideArv+Ntoerkts;
   The_number_of_unknowns_are=spNNK
disp('---  ')

#==========
disp('--------- Element properties ------------')
#E=2.1E+11  % Elastsusmoodul (E=210GPa) E=2.1E+11 [Pa]
#E=2.1E+05 % kPa
# I-40  Hristloige=400mm=0.4m   I=1902cm4=1.902E+03cm4=1.902E-05m4
#
EIp=20000
EIr=30000
EAp=4.6*10^6 
EAr=6.8*10^6 
GAp=0.4*EAp 
GAr=0.4*EAr
disp('--------- Scaling multiplier for the displacements----------')
baasi0=EIp/4  # scaling multiplier for the displacements
# baasi0=1.0;
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('---  ')
disp(' The displacements and the forces calculated on the parts of the element ''Nmitmeks''.  ')
Nmitmeks=4
Lp=12.0; % graafika axis
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
##Fjoud=esFjoud(:,1:2,i);
#Fjoud=esFjoud(:,1:3,i);
##qkoormus=esQkoormus(:,1:3,i); 
#qkoormus=esQkoormus(:,1:4,i);
##%%%%%%%%%%%%%%%%%%%%%%%%%%%%
## ---- load variants -----
load_variant=1
#load_variant=2
#load_variant=3
        koormusvariant=load_variant
###koormusvariant=2

###koormusvariant=3
##%%%%%%%%%%%%%%%%%%%%%%%%%%%%
switch (koormusvariant)
case{1}
#
disp(' The load variant 1 ')
#disp(' Element load  in local coordinates ')
#disp('    qz     qx     qA      qL ')
# The uniformly distributed load in local coordinate z and x direction kN/m^2
LoadsqONelement=4;
esQkoormu=zeros(LoadsqONelement,4,ElementideArv);
esQkoormus(1,1:4,1)=[0.0 0.0 0.0 4.0];  # [0.0 0.0 0.0 0.0];
esQkoormus(1,1:4,2)=[15.0 0.0 0.0 6.0];  # [0.0 0.0 0.0 0.0];
esQkoormus(1,1:4,3)=[0.0 0.0 0.0 4.0];  # [0.0 0.0 0.0 0.0];
esQkoormus(1,1:4,4)=[0.0 0.0 0.0 6.0];  # [0.0 0.0 0.0 0.0];
esQkoormus(1,1:4,5)=[0.0 0.0 0.0 4.0];  # [0.0 0.0 0.0 0.0];
#esQkoormus
# 
# The point load in local coordinate z and x direction  kN
#  Fz, Fx, aF - the coordinate of the point of force application
LoadsF_on_Element=5; 
esFjoud=zeros(LoadsF_on_Element,2,ElementideArv);
esFjoud(1,1:3,1)=[0.0 0.0 4.0];
esFjoud(1,1:3,2)=[0.0 0.0 6.0];    # [0.0 0.0 6.0];
#esFjoud(2,1:3,2)=[0.0 0.0 6.0];   # [0.0 0.0 6.0];
esFjoud(1,1:3,3)=[0.0 0.0 4.0];   # [10.0 0.0 2.0];
esFjoud(1,1:3,4)=[0.0 0.0 6.0];
esFjoud(1,1:3,5)=[120.0 0.0 2.0];
#esFjoud
#

#disp(' Node forces in global  coordinates ')
# sSolmF(forces,1,nodes); forces=[Fx; Fz; My]
sSolmF = zeros(3,1,SolmedeArv);
#sSolmF(:,1,1)= 0.0
sSolmF(2,1,2)= 750.0;  %  Fz
#sSolmF(:,1,3)= 0.0
sSolmF(2,1,4)= 750.0;  %  Fz
#sSolmF(:,1,5)= 0.0
sSolmF(1,1,6)= -90.0;  %  Fx
sSolmF(2,1,6)= 750.0;  %  Fz
%disp(' Kustuta ')
     s1F(:,:) = sSolmF(:,1,1);
     s2F(:,:) = sSolmF(:,1,2);
     s3F(:,:) = sSolmF(:,1,3);
     s4F(:,:) = sSolmF(:,1,4);
     s5F(:,:) = sSolmF(:,1,5);
#
#s1F(1,1,1)=0.0;  # force Fz
#s1F(2,1,1)=0.0;  # force Fz
#s1F(3,1,1)=0.0;  # force My
#%%%%%
# The support shift - tSiire#
# The support shift multiplied by scaling multiplier
tSiire = zeros(3,1,SolmedeArv);
#tSiire(:,1,1)= 0.0
#tSiire(2,1,1)= 0.01*baasi0
#tSiire(:,1,2)= 0.0
#tSiire(:,1,3)= 0.0
#tSiire(:,1,4)= 0.0
#tSiire(:,1,5)= 0.0
#tSiire(:,1,6)= 0.0
##%%%%
case{2}
disp(' The load variant 2 ')
case{3}
disp(' The load variant 3 ')
#%%%%%
otherwise
disp(' No load variant cases ')
endswitch
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' Elements loads q in local coordinates ')
%%%qz=qzZ'
%%%qx=qxZ'
disp(' qz, qx, qA, qL  ')
disp('  For the element load q = 0,  qL = L - the end of element  ')
esQkoormus
disp(' Elements forces F  in local coordinates  ')                                      
%%%Fx=FZx'
%%%Fz=FZz'
esFjoud
disp(' Fz, Fx, aF -- coordinate of the point of force F  application in local coordinates ')
#disp(' x = aL -- coordinate of the point of force F  application in local coordinates ')
disp(' For the element force F = 0,  aL = L - the end of element  ') 
%aL=aLXx'
esFjoud
#%%%
#disp(' Node 2 forces in global  coordinates ')
#sSolmF(:,:,2)
#%s2F'
#disp(' Node 4 forces in global  coordinates ')
#sSolmF(:,:,4)
#%s4F'
#disp(' Node 6 forces in global  coordinates ')
#sSolmF(:,:,6)
#s6F'
disp('------  ')
disp(' Node forces in global  coordinates ')
disp(' Fx Fz My; : ; Node number; ')
disp('------  ')
sSolmF(:,1,:)=sSolmF(:,1,:)
#
#==========
#     Nodal coordinates
#==========
krdn=[#	 x       z
        0.0     0.0;	% node 1
	0.0    -4.0;	% node 2
	6.0	0.0;	% node 3
	6.0    -4.0;	% node 4
       12.0	0.0;	% node 5
       12.0    -4.0];	% node 6
#========== 
#
#==========
#  The restrtictions on the support displacements.
# Support  Nr   u   w  fi   hold on - 1, open - 0
#==========       
tsolm=[1       1 1 0;	% node 1
       3       1 1 1;	% node 3
       5       1 1 1];	% node 5       
#==========
# ------------- Element properties, topology and hinges ---------
#==========
elasts=[# Element properties, 
#                     n2 - end of the element, 
#                          n1 - beginning of the element,
#                               N, Q, M hinges at end of the element
#                                        N, Q, M hinges at beginning of the element. 
        EIp EAp GAp   2     1    0 0 0    0 0 1;    % element 1
	EIr EAr GAr   4     2    0 0 0    0 0 0;    % element 2
	EIp EAp GAp   4     3    0 0 0    0 0 0;    % element 3
	EIr EAr GAr   6     4    0 0 0    0 0 1;    % element 4
	EIp EAp GAp   5     6    0 0 0    0 0 0];   % element 5
# 1-hinge 'true' (axial-, shear-, moment hinge)
#
#==========

#==========
SARV=size(krdn);
NSARV=SARV(1,1);
#%%%%%%%%%%%%
for i=1:NSARV
sJrN(i)=i;
end
%
sJrNT=sJrN';
#%%%%%%%%%%%
#disp('-----------------------------')
disp('===============================')
disp('      Nodal coordinates ')
disp('  Node     X        Z  ')
disp('-----------------------------')
#disp([krdn])
for i=1:NSARV
disp(sprintf('  %2i    %7.4f  %7.4f',sJrNT(i),    krdn(i,1), krdn(i,2)))
endfor
disp('-----------------------------')
#%%%
if ((SolmedeArv-NSARV) != 0)
disp(' ')
disp(' ------- ')
disp(' ')
Number_of_frame_nodes
Error_by_nodes_input=sprintf('Number of nodes must be, but is: %d, %d', SolmedeArv, NSARV)
disp(' ')
error(' Error by nodes input.')
endif
#%%%
# ------------- Element properties, topology and hinges ---------
#-----------------------

disp('===============================================')
disp('        Topology and  hinges. ')
disp('  End of the element, beginning of the element,  ')
disp('  axial-, shear-, moment hinge; 1 - hinge ''true'' ')
disp('-----------------------------------------------')
elemkinni=elasts(:,4:11);
Topology_and_and_hinges=elemkinni
EARV=size(elemkinni);
NEARV=EARV(1,1);
NEARV;
#
#%%%%%%%%%%%%%%%%%%%%
# --------The displacements and the forces numbers at the end and beginning of element.  ----- -----
slmnr=0;
for i=1:NEARV
 for j=1:12
   slmnr=slmnr+1;
   selemjln(i,j)=slmnr;
 endfor
endfor
#
disp('====================================================')
disp('  The displacements and the forces numbers (daf''s) ')
disp('  at the end and at the beginning of elements.  ')
disp('----------------------------------------------------')
selemjln;
The_displacements_and_the_forces_numbers=selemjln
#
selemjl=[selemjln elasts];
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#selemjl=[1  2  3  4  5  6  7  8  9 10 11 12 EIp EAp GAp 2 1 ;  % element 1
#	13 14 15 16 17 18 19 20 21 22 23 24 EIr EAr GAr 4 2 ;	% element 2
#	25 26 27 28 29 30 31 32 33 34 35 36 EIp EAp GAp 4 3 ;	% element 3
#	37 38 39 40 41 42 43 44 45 46 47 48 EIr EAr GAr 6 4 ;	% element 4
#	49 50 51 52 53 54 55 56 57 58 59 60 EIp EAp GAp 5 6 ];	% element 5
%
selem=[selemjl(:,1:23)];
#EARV=size(selem);
#NEARV=EARV(1,1);
#%%%%%%%%%%%%
for i=1:NEARV
JrN(i,1)=i;
endfor
#
JrNT=JrN';
#%%%%%%%%%%%
disp('========================================================================================================================================')
disp(' Topology of elements                                                                                                       Moment hinge')
disp('                                                                                                               Node number   ''true''=1 ')
disp(' Nr.  At the end:  u, w, fi, N, Q, M.  At the beginning: u, w, fi, N, Q, M.      EI         EA          GA    End Beginning  M    M')
disp('----------------------------------------------------------------------------------------------------------------------------------------')
#
for i=1:NEARV
disp(sprintf('  %2i     %2i   %2i   %2i   %2i   %2i   %2i     %2i   %2i   %2i    %2i    %2i    %2i     %9.3e   %9.3e   %9.3e  %2i  %3i    %4i   %2i',JrN(i,1),    selemjl(i,1), selemjl(i,2), selemjl(i,3),selemjl(i,4), ...
selemjl(i,5), selemjl(i,6), selemjl(i,7),selemjl(i,8), ...
selemjl(i,9), selemjl(i,10), selemjl(i,11),selemjl(i,12), ...
selemjl(i,13), selemjl(i,14), selemjl(i,15), selemjl(i,16),    selemjl(i,17),   selemjl(i,20),  selemjl(i,23)))
endfor
disp('----------------------------------------------------------------------------------------------------------------------------------------')
#%%%
EARV=size(selem);
NEARV=EARV(1,1);
#%%%
if ((ElementideArv-NEARV)  !=0 )
disp(' ')
disp(' ------- ')
disp(' ')
Number_of_elements
Error_by_elements_input=sprintf(' Number of elements must be, and is  %d, %d',ElementideArv,NEARV)
disp(' ')
error(' Error inserting the topology of elements.')
endif
#%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# disp(' Nr      toel  u  w  fi  N   Q   M ')
#==========
#  The restrtictions on the support displacements.
# Support  Nr   u   w  fi   hold on - 1, open - 0
#==========       
# tsolm=[1       1 1 0;	% node 1
#        3       1 1 1;	% node 3
#        5       1 1 1];	% node 5       
#==========
TSARV=size(tsolm);
NTSARV=TSARV(1,1);
#%%%%%%%%%%%%
for i=1:NTSARV
sJrN(i)=i;
end
sTJrNT=sJrN';
#%%%%%%%%%%% restrtictions on the support displacements
%disp('--------------------------------')
disp('==================================================')
disp(' The restrtictions on the support displacements. ')
disp('JrNr    Node Nr   u  w  fi;  hold on-1, open-0')
disp('--------------------------------------------------')
#disp([tsolm])
for i=1:NTSARV
disp(sprintf('  %2i     %5i   %2i %2i %2i %2i %2i %2i',sTJrNT(i),    tsolm(i,1), tsolm(i,2), tsolm(i,3), tsolm(i,4)))
endfor
disp('--------------------------------------------------')
%%%
TOEARV=size(tsolm);
TOARV=TOEARV(1,1);
##%%%%%%%%%%%
ToeSidemeteArv=0;
for i=1:NTSARV
  for j=2:4
     if (tsolm(i,j) == 1)
       ToeSidemeteArv=ToeSidemeteArv+1;
     endif 
  endfor
endfor
#
#%%%
#ToeSidemeteArv
if ((Ntoerkts-ToeSidemeteArv)  !=0 )
disp(' ')
disp(' ------- ')
disp(' ')
Number_of_support_reactions
Error_by_inserting_support_reactions=sprintf('Number of support reactions must be, and is  %d, %d',Ntoerkts,ToeSidemeteArv)
disp(' ')
error(' Error inserting the restrtictions on the support displacements.')
endif
#
#%%%
#
lvarras=VardaPikkus(NSARV,NEARV,krdn,selem);
#lvarras
#%%%%%%%%%%%
disp('   ')
NEARV;
NNK=12*NEARV+Ntoerkts;

lvarras;
#
#%disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ')
for i=1:NEARV
elemendiN(i,1)=i;
siireVardaA(i,1:3)=selemjl(i,7:9);
siireVardaL(i,1:3)=selemjl(i,1:3);
joudVardaA(i,1:3)=selemjl(i,10:12);
joudVardaL(i,1:3)=selemjl(i,4:6);
endfor
#
siireVardaA;
siireVardaL;
joudVardaA;
joudVardaL;
#%%%%%%%%%%%%
%%%%%ABB=ABB
#--------- Define a matrix spA to be sparse -----------
disp('-------- The sparse matrix instantiation --------  ')
disp('  spA=sparse(NNK,NNK)  ')
spA=sparse(NNK,NNK) % nullistan võrrandisüsteemi kordajate maatriksi
#--------- Define a vector B ------------
disp('-------- The right-hand side of the equations (RHS). --------  ')
disp('  B=zeros(NNK,1);  ')
B=zeros(NNK,1);   % nullistan võrrandisüsteemi vabaliikmed
disp('   ')
%%%%%%%%%%%%%%%%%%%%%%%%%
#------------ The basic equations of frame ----------------
#--------- Define a matrix spA to be sparse -----------
disp('  ')
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ')
disp(' function AlgParm=Lahe2FrameDFIm(baasi0,Ntoerkts,esQkoormus,esFjoud,sSolmF,tsolm,tSiire,krdn,selem) ')
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ')
disp('  ')

AlgParm=Lahe2FrameDFIm(baasi0,Ntoerkts,esQkoormus,esFjoud,sSolmF,tsolm,tSiire,krdn,selem);
disp('  ')
AlgPar=AlgParm;
disp('  ')

SIvec
Support_Reactions

disp('  ')
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ')
disp(' The element displacements and forces  determinated by the transfer matrix ')
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ')
disp('  ')
#-------------The element displacements and forces----------
#
  suurused=[' displacement u - ';
            ' displacement w - ';
            ' rotation    fi - ';
            ' normal force N - ';
            ' shear force  Q - ';
            ' moment force M - '];
# transverse shear force           
 suurusedS=[' displacement u - ';
            ' displacement w - ';
            ' rotation    fi - ';
            ' axial  force S - ';
            ' transv force H - ';
            ' moment force M - '];            
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
SIvecSize=size(SIvec);
SIvecIterNr=SIvecSize(1,1);

#i=1
for i=1:NEARV
   krda=i;
   vF=zeros(6,12);
      EI=selem(i,13);   % from topology
      EA=selem(i,14);   %   "      "
      GAr=selem(i,15);  %   "      "
      Li=lvarras(i,1);
     SII=SIvec(i,SIvecIterNr);
#     AP=AlgPar(i,:)';
      qzZ(i,1)=esQkoormus(1,1,i);
   FZz(i,1)=esFjoud(1,1,i);
   aLXx(i,1)=esFjoud(1,3,i);
   qz=qzZ(i,1);
   aLx=aLXx(i,1);
   Fz=FZz(i,1);
#   Fx=FZx(i,1);

#Fjoud=esFjoud(:,1:2,i);
#%Fjoud=esFjoud(:,1:3,i);
#%       Fz    Fx     a
#%Fjoud=[0.0    0.0   0.0;
#qkoormus=esQkoormus(:,1:3,i); 
#qkoormus=esQkoormus(:,1:4,i);
#%       qz     qx     qA      qL
#%qkoormus=[0.0   0.0   0.0  0.0   0.0];   
   
   xsamm=Li/Nmitmeks; % element is divided into 4-th parts
   xx=0;
   AP=AlgPar(i,:)';
#---------The transfer matrix equation --------
     for ij=1:Nmitmeks+1  # 5 - displacements and forces at x=0.0
        vvF=ylfmhvII(1.0,SII,xx,Li,EA,GAr,EI);
        vvB=ylqvII(1.0,SII,xx,Li,qz,EA,EI);
          %disp(' ')
        vvFz=ylfhvzII(1.0,SII,xx,Li,aLx,Fz,EI);
        Fvv(:,ij)=vvF*AP+vvB+vvFz;
        FvvNQ(:,ij)=ytransfp(SII,Li,EI)*Fvv(:,ij); ## transform S,H to N,Q
        xx=xx+xsamm;
     endfor
#%
#-------------The element displacements and forces---------- 
   #
   VardaNr=i;
   disp(sprintf('%13s %2i %15s %5.3f %28s', 'The displacements and forces of element nr',VardaNr,'  length of element ',Li,'m.  element is divided into 4-th parts '))
   %disp('  ')
#
     for i=1:3 
       disp(sprintf('%14s %9.5e   %9.5e   %9.5e   %9.5e  %9.5e',suurused(i,:), Fvv(i,1),   Fvv(i,2),   Fvv(i,3),  Fvv(i,4),  Fvv(i,5)))
     endfor
#
     for i=4:6 
       disp(sprintf('%14s %9.5f   %9.5f   %9.5f   %9.5f  %9.5f',suurused(i,:), FvvNQ(i,1),   FvvNQ(i,2),   FvvNQ(i,3),  FvvNQ(i,4),  FvvNQ(i,5)))
     endfor
#
disp('------------------')
     for i=4:5 
       disp(sprintf('%14s %9.5f   %9.5f   %9.5f   %9.5f  %9.5f',suurusedS(i,:), Fvv(i,1),   Fvv(i,2),   Fvv(i,3),  Fvv(i,4),  Fvv(i,5)))
     endfor          
#
   #disp('  ')
#
      disp('----------------------------------------------------------------------------')
#
endfor
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#SF=SisejoudPunktis(VardaNr,X,AlgPar,lvarras,selem,esQkoormus,esFjoud,suurused)
#SF=SisejoudPunktism(3,4.0,AlgPar,lvarras,selem,esQkoormus,esFjoud,suurused);
#disp('-----------------------------------')
#SF=SisejoudPunktism(3,4.0-eps1,AlgPar,lvarras,selem,esQkoormus,esFjoud,suurused);
#disp('-----------------------------------')
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#
for i=1:NEARV
LkoordN=selem(i,16);
AkoordN=selem(i,17);
DeltaX(i)=krdn(LkoordN,1)-krdn(AkoordN,1);
DeltaZ(i)=krdn(LkoordN,2)-krdn(AkoordN,2);
VGRx(i,1)=krdn(AkoordN,1);
VGRx(i,2)=krdn(LkoordN,1);
VGRz(i,1)=krdn(AkoordN,2);
VGRz(i,2)=krdn(LkoordN,2);
endfor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#
figure(1)
ax = gca ();
%axy=[ 0   0   1   0.55];
%joonepaksus=0.50000
%joonepaksus=0.75000
%joonepaksus=3
%set (ax, "outerposition", axy);
%set (ax, "outerposition", [ 0   0   1   0.55])
%ax = gca ();
%set (ax, "linewidth", joonepaksus);
%
grid off
%
Lpikk=Lp;
d=4.0;
%
for j=1:NEARV
       IR=j;
 % 
%   axis([-d Lpikk+d -H-2.0 1.0], "ij")
   axis([-d Lpikk+d  -Lpikk-d-0.3*d d], "ij")
 %
plot(VGRx(IR,:),VGRz(IR,:),"3")
hold on
endfor
%
jaotT=2;
%
title('yspESTframe2',"fontsize",12)
ax=gca();
      xlabel('x',"fontsize",12)
      ylabel('z',"fontsize",12)
 xticks(1,:)=-d:jaotT:Lpikk+d;
 set (ax, "xtick", xticks)
%
%%Sõlmede numbrid
TTT=' ';
TST=' ';
TT1=' ';
TT1=' ';
%%%%%%%%%%
for i=1:NSARV;
%
   IR=i;
   TTT=eval(sprintf('%i',IR));
   TST=int2str(TTT);
 
%text(krdn(IR,1), krdn(IR,2)+0.17, TST)
text(krdn(IR,1), krdn(IR,2)+0.25, TST)
%
endfor
%
%%% Varraste numbrid
for j=1:NEARV;
%
   IR=j;
   TTT=eval(sprintf('%i',IR));
   TST=int2str(TTT);
text((VGRx(IR,1)+VGRx(IR,2))/2+0.1, (VGRz(IR,1)+VGRz(IR,2))/2, TST)
%
endfor
%text(L/2-d/2, -H-d/2, 'Raamskeem')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
xvalg=-1.0;
yvalg=-12.5;
sammuga=0.7;
text(-1.0, yvalg-1.5*sammuga, 'The displacements and the forces numbers (daf''s) ')
%TSA=[TSA1 Tyhk TSA2 Tyhk TSA3] ; 
text(-1.5, yvalg, 'u w fi N Q M at the beginning')
%text(-2.5, yvalg, 'u w fi N Q M at the beginning')
%%xvalg=xvalg+sammuga;
yvalg=yvalg+sammuga;
for i=1:NEARV;     
%siireVardaA  joudVardaA(i,1:3)
TTA1=eval(sprintf('%3i',siireVardaA(i,1)));
TTA2=eval(sprintf('%3i',siireVardaA(i,2)));
TTA3=eval(sprintf('%3i',siireVardaA(i,3)));
TTA4=eval(sprintf('%3i',joudVardaA(i,1)));
TTA5=eval(sprintf('%3i',joudVardaA(i,2)));
TTA6=eval(sprintf('%3i',joudVardaA(i,3)));
   TSA1=int2str(TTA1);
   TSA2=int2str(TTA2);   
   TSA3=int2str(TTA3);  
   TSA4=int2str(TTA4);
   TSA5=int2str(TTA5);   
   TSA6=int2str(TTA6);    
   Tyhk='  ';
TSA=[TSA1 Tyhk TSA2 Tyhk TSA3 Tyhk TSA4 Tyhk TSA5 Tyhk TSA6] ;                                                          
text(xvalg, yvalg, TSA)
%%xvalg=xvalg+sammuga;
yvalg=yvalg+sammuga;
endfor
yvalg=yvalg+sammuga;
text(-1.0, yvalg, 'The support reactions: 61 62 63 64 65 66 67 68 ')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
xvalg=7.0;
yvalg=-12.5;
sammuga=0.7;
%TSA=[TSA1 Tyhk TSA2 Tyhk TSA3] ; 
text(6.5, yvalg, 'u w fi N Q M at the end')
%%xvalg=xvalg+sammuga;
yvalg=yvalg+sammuga;
for i=1:NEARV;
%siireVardaL  joudVardaL(i,1:3)
TTA1=eval(sprintf('%3i',siireVardaL(i,1)));
TTA2=eval(sprintf('%3i',siireVardaL(i,2)));
TTA3=eval(sprintf('%3i',siireVardaL(i,3)));
TTA4=eval(sprintf('%3i',joudVardaL(i,1)));
TTA5=eval(sprintf('%3i',joudVardaL(i,2)));
TTA6=eval(sprintf('%3i',joudVardaL(i,3)));
   TSA1=int2str(TTA1);
   TSA2=int2str(TTA2);   
   TSA3=int2str(TTA3);  
   TSA4=int2str(TTA4);
   TSA5=int2str(TTA5);   
   TSA6=int2str(TTA6);   
   Tyhk='  ';
TSA=[TSA1 Tyhk TSA2 Tyhk TSA3 Tyhk TSA4 Tyhk TSA5 Tyhk TSA6] ; 
text(xvalg, yvalg, TSA)
%%xvalg=xvalg+sammuga;
yvalg=yvalg+sammuga;
endfor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
hold off
%%%%%%
%axis([-d L+d 1.0 -H-2.0], "ij")
pause (1)
%
%Vaata: http://www.gnu.org/software/octave/doc/interpreter/Printing-Plots.html
%
%print('-deps','yspESTframe2.eps');
%print('-dpng','yspESTframe2.png');
print('-dfig','-landscape','-mono','-solid','yspESTframe2.fig');
refresh
%
%pause (1) % octave
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%pause(1)
figure(2)
spy(spA)
title('spy(spA) - the sparse spA(68,68) non zero elements [3.6%] ')
refresh
%
%print('-deps','yspESTframe2_sparse.eps');
%print('-dpng','yspESTframe2_sparse.png');
print('-dfig','-landscape','-mono','-solid','yspESTframe2_sparse.fig');
%refresh
%
%pause (1) % octave
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%pause 2
%
%kõik
#%%%%%%%%%%%%%%%


