| Name | Description |
|---|---|
| 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;