From 951deb4bb650aecf2722e6b92ee3767b9cdd10e2 Mon Sep 17 00:00:00 2001 From: firleju Date: Mon, 3 Oct 2016 06:27:46 +0200 Subject: [PATCH] Translacja friction.pas. Pliki konwertera. --- McZapkie/friction.cpp | 117 +++++++++++++++++++++++++++++++ McZapkie/friction.h | 159 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 276 insertions(+) create mode 100644 McZapkie/friction.cpp create mode 100644 McZapkie/friction.h diff --git a/McZapkie/friction.cpp b/McZapkie/friction.cpp new file mode 100644 index 00000000..a84eca47 --- /dev/null +++ b/McZapkie/friction.cpp @@ -0,0 +1,117 @@ +/* +This Source Code Form is subject to the +terms of the Mozilla Public License, v. +2.0. If a copy of the MPL was not +distributed with this file, You can +obtain one at +http://mozilla.org/MPL/2.0/. +*/ +/* +MaSzyna EU07 - SPKS +Friction coefficient. +Copyright (C) 2007-2013 Maciej Cierniak +*/ + +#include "friction.h" + + + +double TFricMat::GetFC(double N, double Vel) +{ double result; + GetFC =1; +return result; +} + +double TP10Bg::GetFC(double N, double Vel) +{ double result; +// GetFC:=0.60*((1.6*N+100)/(8.0*N+100))*((Vel+100)/(5*Vel+100))*(1.0032-0.0007*N-0.0001*N*N); +// GetFC:=47/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145; +// GetFC:=46/(2*Vel+100)*(11.33-0.105*N)/(11.33+0.179*N); +// GetFC:=49/(2*Vel+100)*(13.08-0.083*N)/(12.94+0.285*N); +//if Vel<20 then Vel:=20; +// Vel:= Vel-20; +// GetFC:=0.52*((1*Vel+100)/(5.0*Vel+100))*(13.08-0.083*N)/(12.94+0.285*N); +// GetFC:=Min0R(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(13.08-0.083*N)/(12.94+0.285*N),0.4); + GetFC =exp( -0.022*N )*( 0.19-0.095*exp( -Vel*1.0/25.7 ) )+0.384*exp( -Vel*1.0/25.7 )-0.028; +return result; +} + +double TP10Bgu::GetFC(double N, double Vel) +{ double result; +// GetFC:=0.60*((1.6*N+100)/(8.0*N+100))*((Vel+100)/(5*Vel+100)); +// GetFC:=47/(2*Vel+100)*(2.137-0.0514*N+0.000832*N*N-0.00000604*N*N*N)/2.137; +// GetFC:=0.49*100/(2*Vel+100)*(11.33-0.013*N)/(11.33+0.280*N); +// GetFC:=0.52*((Vel+100)/(5.0*Vel+100))*(11.33-0.013*N)/(11.33+0.280*N); +//if Vel<20 then Vel:=20; +// Vel:= Vel-20; +// GetFC:=0.52*((0.0*Vel+120)/(5*Vel+100))*(11.33-0.013*N)/(11.33+0.280*N); +// GetFC:=0.49*100/(3*Vel+100)*(11.33-0.013*N)/(11.33+0.280*N); +// GetFC:=Min0R(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(11.33-0.013*N)/(11.33+0.280*N),0.4); + GetFC =exp( -0.017*N )*( 0.18-0.09*exp( -Vel*1.0/25.7 ) )+0.381*exp( -Vel*1.0/25.7 )-0.022;//0.05*exp(-0.2*N); +return result; +} + +double TP10yBg::GetFC(double N, double Vel) +{ double result; double A; double C; double u0; double V0; + + A =2.135*exp( -0.03726*N )-0.5; + C =0.353-A*0.029; + u0 =0.41-C; + V0 =25.7+20*A; + GetFC =( u0+C*exp( -Vel*1.0/V0 ) ); +return result; +} + +double TP10yBgu::GetFC(double N, double Vel) +{ double result; double A; double C; double u0; double V0; + + A =1.68*exp( -0.02735*N )-0.5; + C =0.353-A*0.044; + u0 =0.41-C; + V0 =25.7+21*A; + GetFC =( u0+C*exp( -Vel*1.0/V0 ) ); +return result; +} + +double TP10::GetFC(double N, double Vel) +{ double result; + GetFC =0.60*( ( 1.6*N+100 )*1.0/( 8.0*N+100 ) )*( ( Vel+100 )*1.0/( 5*Vel+100 ) ); +// GetFC:=43/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145 +return result; +} + + +double TFR513::GetFC(double N, double Vel) +{ double result; + GetFC =0.3-Vel*0.00081; +// GetFC:=43/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145 +return result; +} + +double TCosid::GetFC(double N, double Vel) +{ double result; + GetFC =0.27; +return result; +} + +double TDisk1::GetFC(double N, double Vel) +{ double result; + GetFC =0.2375+0.000885*N-0.000345*N*N; +return result; +} + +double TDisk2::GetFC(double N, double Vel) +{ double result; + GetFC =0.27; +return result; +} + +double TFR510::GetFC(double N, double Vel) +{ double result; + GetFC =0.15; +return result; +} + + + +//END diff --git a/McZapkie/friction.h b/McZapkie/friction.h new file mode 100644 index 00000000..f891d7eb --- /dev/null +++ b/McZapkie/friction.h @@ -0,0 +1,159 @@ +#pragma once +#ifndef INCLUDED_FRICTION_H +#define INCLUDED_FRICTION_H + /*wspolczynnik tarcia roznych materialow*/ + +/* +This Source Code Form is subject to the +terms of the Mozilla Public License, v. +2.0. If a copy of the MPL was not +distributed with this file, You can +obtain one at +http://mozilla.org/MPL/2.0/. +*/ +/* + MaSzyna EU07 - SPKS + Friction coefficient. + Copyright (C) 2007-2013 Maciej Cierniak +*/ + + +/* +(C) youBy +Co brakuje: +- hamulce tarczowe +- kompozyty +*/ +/* +Zrobione: +1) zadeklarowane niektore typy +2) wzor jubaja na tarcie wstawek Bg i Bgu z zeliwa P10 +3) hamulec tarczowy marki 152A ;) +*/ + + + +//uses hamulce; + +#include // Pascal unit +#include // Pascal unit +#include // Pascal unit +#include // Pascal unit + + + + + +struct/*class*/ TFricMat: public TObject +{ +public: + virtual double GetFC(double N, double Vel); + +}; + + + +struct/*class*/ TP10Bg: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TP10Bgu: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TP10yBg: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TP10yBgu: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TP10: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TFR513: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TFR510: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TCosid: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TDisk1: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + +struct/*class*/ TDisk2: public TFricMat + +{ +public: + double GetFC(double N, double Vel)/*override*/; + +}; + + + + + +#endif//INCLUDED_FRICTION_H +//END