CrossMember class

This class defines a member of a continuous beam for the Cross Process. Euler-Bernoulli flexural behavior is assumed (Navier beam theory).

Contents

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.

Class definition

classdef CrossMember < matlab.mixin.SetGet

See documentation on matlab.mixin.setget handle super-class.

Public attributes

    properties (SetAccess = public, GetAccess = public)
        EI = 0;            % flexural stiffness
        len = 0;           % member length
        q = 0;             % vertical distributed load (top-down positive)
        ml = 0;            % left end moment
        mr = 0;            % right end moment
        k = 0;             % rotational stiffness coefficient
    end

Constructor method

    methods
        %------------------------------------------------------------------
        function memb = CrossMember(EI,len,q)
            if (nargin > 0)
                memb.EI = EI;
                memb.len = len;
                memb.q = q;
                memb.ml = 0;
                memb.mr = 0;
                memb.k = 0;
            end
        end
    end

Public set methods

    methods
        %------------------------------------------------------------------
        % Sets flexural stiffness.
        function memb = set.EI(memb,EI)
            memb.EI = EI;
        end

        %------------------------------------------------------------------
        % Sets member length.
        function memb = set.len(memb,len)
            memb.len = len;
        end

        %------------------------------------------------------------------
        % Sets vertical distributed load (top-down positive).
        function memb = set.q(memb,q)
            memb.q = q;
        end

        %------------------------------------------------------------------
        % Sets left end moment.
        function memb = set.ml(memb,ml)
            memb.ml = ml;
        end

        %------------------------------------------------------------------
        % Sets right end moment.
        function memb = set.mr(memb,mr)
            memb.mr = mr;
        end

        %------------------------------------------------------------------
        % Sets rotational stiffness coefficient.
        function memb = set.k(memb,k)
            memb.k = k;
        end
    end

Public get methods

    methods
        %------------------------------------------------------------------
        % Gets flexural stiffness.
        function EI = get.EI(memb)
            EI = memb.EI;
        end

        %------------------------------------------------------------------
        % Gets member length.
        function len = get.len(memb)
            len = memb.len;
        end

        %------------------------------------------------------------------
        % Gets vertical distributed load (top-down positive).
        function q = get.q(memb)
            q = memb.q;
        end

        %------------------------------------------------------------------
        % Gets left end moment.
        function ml = get.ml(memb)
            ml = memb.ml;
        end

        %------------------------------------------------------------------
        % Gets right end moment.
        function mr = get.mr(memb)
            mr = memb.mr;
        end

        %------------------------------------------------------------------
        % Gets rotational stiffness coefficient.
        function k = get.k(memb)
            k = memb.k;
        end
    end

Public methods

    methods
        %------------------------------------------------------------------
        % Cleans data structure of a CrossMember object.
        function memb = clean(memb)
            memb.EI = 0;
            memb.len = 0;
            memb.q = 0;
            memb.ml = 0;
            memb.mr = 0;
            memb.k = 0;
        end
    end
end