Cross00
This is a MATLAB program for solving a continuous beam using the Cross Process. Euler-Bernoulli flexural behavior is assumed (Navier beam theory). This is an initial version without any GUI (Graphics User Interface)>
This program implements the Cross Process for continuous beams with uniformly distributed loads in each spam.
For more details of this process, refer to the book "Análise de Estruturas: Conceitos e Métodos Básicos", Second Edition, by Luiz Fernando Martha, Elsevier, 2017.
Contents
Object oriented classes
This program adopts an Object Oriented Programming (OOP) paradigm, in which the following OOP classes are implemented:
Author
Luiz Fernando Martha
History
@version 1.00
Initial version: August 2017
Initially prepared for the course CIV 2801 - Fundamentos de Computação Gráfica, 2017, second term, Department of Civil Engineering, PUC-Rio.
Clear memory
clc; clear all; close all;
Test model
nmemb = 3; EI = ones(1,nmemb) * 10000; % array member flexural stiffness values [kNm^2] len = zeros(1,nmemb); % array of member lengths [m] q = zeros(1,nmemb); % array of vertical distributed load (top-down positive) [kN/m] len(1) = 8; len(2) = 6; len(3) = 8; q(1) = 8; q(2) = 6; q(3) = 9; supinit = 0; % flag for simply supported init node supend = 1; % flag for end node with fixed rotation decplc = 2; % number of decimal places for moments
Solve model iteratively and print each stage
solver = CrossSolver(nmemb,supinit,supend,decplc,EI,len,q); % solver.goThruSolver(); solver.printModelInfo(1); solver.initMoments(); step = 0; while solver.autoStepSolver() ~= 0 step = step + 1; fprintf(1,'\n\n******** Step: %d ********\n', step ); solver.printResults(1); end