Utility models and functions used in the Examples
Extends from Modelica.Icons.Package (Icon for standard packages).
Name | Description |
---|---|
GenerateStribeckFrictionTable | Generate stribeck friction table for example Friction for the SupportFriction |
Returns a table with the friction characteristic table[nTable,2] = [0, f1; ....; v_max, fn], where the first column is the velocity v in the range 0..v_max and the second column is the friction force according to the stribeck curve:
F_Coulomb + F_prop*v + F_Stribeck*exp(-fexp*v);
Type | Name | Default | Description |
---|---|---|---|
Real | F_prop | Velocity dependent friction coefficient [N.s/m] | |
Force | F_Coulomb | Constant friction: Coulomb force [N] | |
Force | F_Stribeck | Stribeck effect [N] | |
Real | fexp | Exponential decay [s/m] | |
Real | v_max | Generate table from v=0 ... v_max | |
Integer | nTable | 100 | Number of table points |
Type | Name | Description |
---|---|---|
Real | table[nTable, 2] | Friction table |
function GenerateStribeckFrictionTable "Generate stribeck friction table for example Friction for the SupportFriction" input Real F_prop(final unit="N.s/m", final min=0) "Velocity dependent friction coefficient"; input Modelica.SIunits.Force F_Coulomb "Constant friction: Coulomb force"; input Modelica.SIunits.Force F_Stribeck "Stribeck effect"; input Real fexp(final unit="s/m", final min=0) "Exponential decay"; input Real v_max "Generate table from v=0 ... v_max"; input Integer nTable(min=2)=100 "Number of table points"; output Real table[nTable,2] "Friction table"; algorithm for i in 1:nTable loop table[i,1] :=v_max*(i - 1)/(nTable - 1); table[i,2] :=F_Coulomb + F_prop*table[i, 1] + F_Stribeck*exp(-fexp*table[i, 1]); end for;end GenerateStribeckFrictionTable;