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