RollResist_Viscous class
Contents
Description
This is a sub-class of the RollResist class for the implementation of the Viscous rolling resistance torque model.
This model assumes that the resistance torque dependends on the relative rotation velocity and normal force and is applied against the relative rotation.

Notation:
: Relative angular velocity
: Rolling resistance coefficient
: Effective contact radius
: Normal contact force vector
: Relative velocity due to rotation at contact point
References:
classdef RollResist_Viscous < RollResist
Public properties
properties (SetAccess = public, GetAccess = public)
% Contact parameters
resist double = double.empty; % rolling resistance coefficient
end
Constructor method
methods
function this = RollResist_Viscous()
this = this@RollResist(RollResist.VISCOUS);
this = this.setDefaultProps();
end
end
Public methods: implementation of super-class declarations
methods
%------------------------------------------------------------------
function this = setDefaultProps(this)
end
%------------------------------------------------------------------
function this = setCteParams(this,~)
end
%------------------------------------------------------------------
function this = evalTorque(this,int)
% Needed properties
dir = -sign(int.kinemat.vel_ang);
res = this.resist;
r = int.eff_radius;
f = norm(int.cforcen.total_force);
v = norm(int.kinemat.vel_rot);
% Total torque (against relative rotation)
this.torque = dir * res * r * f * v;
end
end
end