mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
Translacja friction.pas. Pliki konwertera.
This commit is contained in:
117
McZapkie/friction.cpp
Normal file
117
McZapkie/friction.cpp
Normal file
@@ -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
|
||||
159
McZapkie/friction.h
Normal file
159
McZapkie/friction.h
Normal file
@@ -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 <SysUtils.hpp> // Pascal unit
|
||||
#include <mctools.hpp> // Pascal unit
|
||||
#include <SysInit.hpp> // Pascal unit
|
||||
#include <System.hpp> // 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
|
||||
Reference in New Issue
Block a user