ContactForceN (Normal Contact Force) class
Contents
Description
This is a value heterogeneous super-class for the definition of models for the normal contact force between elements.
This super-class defines abstract methods that must be implemented in the derived sub-classes:
classdef ContactForceN < matlab.mixin.Heterogeneous
Constant values
properties (Constant = true, Access = public) % Types of model VISCOELASTIC_LINEAR = uint8(1); VISCOELASTIC_NONLINEAR = uint8(2); ELASTOPLASTIC_LINEAR = uint8(3); % Types of linear stiffness formulation NONE_STIFF = uint8(0); ENERGY = uint8(1); OVERLAP = uint8(2); TIME = uint8(3); % Types of nonlinear damping formulation NONE_DAMP = uint8(0); CRITICAL_RATIO = uint8(1); TTI = uint8(2); KK = uint8(3); LH = uint8(4); % Types of elastoplastic unloading stiffness formulation CONSTANT = uint8(1); VARIABLE = uint8(2); end
Public properties
properties (SetAccess = public, GetAccess = public) % Identification type uint8 = uint8.empty; % flag for type of model % Contact parameters restitution double = double.empty; % normal coefficient of restitution stiff double = double.empty; % stiffness coefficient damp double = double.empty; % damping coefficient % Force results total_force double = double.empty; % resulting force vector end
Constructor method
methods function this = ContactForceN(type) if (nargin > 0) this.type = type; end end end
Default sub-class definition
methods (Static, Access = protected) function defaultObject = getDefaultScalarElement defaultObject = ContactForceN_ViscoElasticLinear; end end
Abstract methods: implemented in derived sub-classes
methods (Abstract) %------------------------------------------------------------------ this = setDefaultProps(this); %------------------------------------------------------------------ this = setCteParams(this,interact); %------------------------------------------------------------------ this = evalForce(this,interact); end
end