ContactForceT_Spring class
Contents
Description
This is a sub-class of the ContactForceT class for the implementation of the Simple Spring tangent contact force model.
This model assumes that the tangent contact force has only an elastic component , provided by a linear spring.
The tangent stiffness coefficient can be computed as a function of the normal stiffness coefficient
and the effective Poisson ratio
:
Notation:
: Tangent direction between elements
: Tangent overlap
References:
- R.D. Mindlin. Compliance of elastic bodies in contact, J. Appl. Mech., 16(3):259-268, 1949 (stiffness coefficient formula)
classdef ContactForceT_Spring < ContactForceT
Public properties
properties (SetAccess = public, GetAccess = public) % Formulation options auto_stiff logical = logical.empty; % flag for computing stiffness coefficient automatically % Contact parameters stiff double = double.empty; % stiffness coefficient end
Constructor method
methods function this = ContactForceT_Spring() this = this@ContactForceT(ContactForceT.SPRING); this = this.setDefaultProps(); end end
Public methods: implementation of super-class declarations
methods %------------------------------------------------------------------ function this = setDefaultProps(this) this.auto_stiff = true; end %------------------------------------------------------------------ function this = setCteParams(this,int) if (this.auto_stiff) if (~isempty(int.cforcen)) % Assumption: average poisson ratio this.stiff = (1-int.avg_poisson)/(1-int.avg_poisson/2) * int.cforcen.stiff; else this.stiff = 0; end end end %------------------------------------------------------------------ function this = evalForce(this,int) % Force modulus (elastic contribution only) f = this.stiff * int.kinemat.ovlp_t; % Total tangential force vector (against deformation and motion) this.total_force = -f * int.kinemat.dir_t; end end
end