Scheme class

Contents

Description

This is a handle heterogeneous super-class for the definition of time integration schemes.

This super-class defines abstract methods that must be implemented in the derived sub-classes:

classdef Scheme < handle & matlab.mixin.Heterogeneous

Constant values

    properties (Constant = true, Access = public)
        % Types of time integration scheme
        EULER_FORWARD  = uint8(1);
        EULER_MODIFIED = uint8(2);
        TAYLOR_2       = uint8(3);
    end

Public properties

    properties (SetAccess = public, GetAccess = public)
        type uint8 = uint8.empty;   % flag for type of time integration scheme
    end

Constructor method

    methods
        function this = Scheme(type)
            if (nargin > 0)
                this.type = type;
            end
        end
    end

Default sub-class definition

    methods (Static, Access = protected)
        function defaultObject = getDefaultScalarElement
            defaultObject = Scheme_EulerForward;
        end
    end

Abstract methods: implemented in derived sub-classes

    methods (Abstract)
        %------------------------------------------------------------------
        updatePosition(this,particle,time_step);

        %------------------------------------------------------------------
        updateOrientation(this,particle,time_step);

        %------------------------------------------------------------------
        updateTemperature(this,particle);
    end
end