Coder Social home page Coder Social logo

engine_balance's Introduction

Calculation of the dynamic balance of reciprocating and rotating masses of internal combustion engines

License: GPL v3

Motivation

engine_balance.py is designed to calculate the dynamic balance of reciprocating and rotating masses of internal combustion engines.

This tool is a Python revision of a program created in 1978 for a graduation project at the Belarusian National Technical University. The original program was written in "ap" ("ап") language for computer "NAIRI-2".

Theory

Proections of Primary Reciprocating Forses:

$$ \sum P_{rcp1}(x)=m_{rcp}R\omega^2\left(\sum_{i=1}^{n_{left}}cos(\alpha+\delta_i)+cos\gamma\sum_{i=1}^{n_{right}}cos(\alpha+\delta_i-\gamma)\right) $$

$$ \sum P_{rcp1}(y)=m_{rcp}R\omega^2\sin\gamma\sum_{i=1}^{n_{right}}cos(\alpha+\delta_i-\gamma) $$

Resulting Primary Reciprocating Forse:

$$ \sum P_{rcp1}=\sqrt{\left(\sum P_{rcp1}(x)\right)^2+\left(\sum P_{rcp1}(y)\right)^2} $$

Proections of Secondary Reciprocating Forses:

$$ \sum P_{rcp2}(x)=m_{rcp}R\omega^2\lambda\left(\sum_{i=1}^{n_{left}}cos2(\alpha+\delta_i)+cos\gamma\sum_{i=1}^{n_{right}}cos2(\alpha+\delta_i-\gamma) \right) $$

$$ \sum P_{rcp2}(y)=m_{rcp}R\omega^2\lambda\sin\gamma\sum_{i=1}^{n_{right}}cos2(\alpha+\delta_i-\gamma) $$

Resulting Secondary Reciprocating Forse:

$$ \sum P_{rcp2}=\sqrt{\left(\sum P_{rcp2}(x)\right)^2+\left(\sum P_{rcp2}(y)\right)^2} $$

Proections of Centrifugal Forses:

$$ \sum K_{rot}(x)=m_{rot}R\omega^2\sum_{i=1}^{n_{cr}}cos(\alpha+\delta_i) $$

$$ \sum K_{rot}(y)=m_{rot}R\omega^2\sum_{i=1}^{n_{cr}}sin(\alpha+\delta_i) $$

Resulting Centrifugal Forse:

$$ \sum K_{rot}=\sqrt{\left(\sum K_{rot}(x)\right)^2+\left(\sum K_{rot}(y)\right)^2} $$

Proections of Primary Reciprocating Moments:

$$ \sum M_{rcp1}(x)=-m_{rcp}R\omega^2\sin\gamma\sum_{i=1}^{n_{right}}h_{iright}cos(\alpha+\delta_i-\gamma) $$

$$ \sum M_{rcp1}(y)=m_{rcp}R\omega^2\left(\sum_{i=1}^{n_{left}}h_{ileft}cos(\alpha+\delta_i)+cos\gamma\sum_{i=1}^{n_{right}}h_{iright}cos(\alpha+\delta_i-\gamma)\right) $$

Resulting Primary Reciprocating Moment:

$$ \sum M_{rcp1}=\sqrt{\left(\sum M_{rcp1}(x)\right)^2+\left(\sum M_{rcp1}(y)\right)^2} $$

Proections of Secondary Reciprocating Moments:

$$ \sum M_{rcp2}(x)=-m_{rcp}R\omega^2\lambda\sin\gamma\sum_{i=1}^{n_{right}}h_{iright}cos2(\alpha+\delta_i-\gamma) $$

$$ \sum M_{rcp2}(y)=m_{rcp}R\omega^2\lambda\left(\sum_{i=1}^{n_{left}}h_{ileft}cos2(\alpha+\delta_i)+cos\gamma\sum_{i=1}^{n_{right}}h_{iright}cos2(\alpha+\delta_i-\gamma)\right) $$

Resulting Secondary Reciprocating Moment:

$$ \sum M_{rcp2}=\sqrt{\left(\sum M_{rcp2}(x)\right)^2+\left(\sum M_{rcp2}(y)\right)^2} $$

Proections of Centrifugal Moments:

$$ \sum M_{rot}(x)=-m_{rot}R\omega^2\sum_{i=1}^{n_{cr}}h_{i}sin(\alpha+\delta_i) $$

$$ \sum M_{rot}(y)=m_{rot}R\omega^2\sum_{i=1}^{n_{cr}}h_{i}cos(\alpha+\delta_i) $$

Resulting Centrifugal Moment:

$$ \sum M_{rot}=\sqrt{\left(\sum M_{rot}(x)\right)^2+\left(\sum M_{rot}(y)\right)^2} $$


Fig. 1

Fig. 1

Fig. 2

Fig. 2

Abbreviations

The following abbreviations are used:

$m_{rcp}$ — mass of reciprocating parts, kg

$m_{rot}$ — mass of rotating parts, kg

$L$ — connecting rod length, m

$R$ — crank radius, m

$\lambda=L/R$ — elongation ratio, equal to the ratio of the connection rod length L to the crank radius R

$\omega$ — angular velocity, crankshaft rotational speed ($\omega=\frac{2\pi N}{60}$), $s^{-1}$

$\alpha$ — the crank-angle with respect to the x-axis, grad

$\delta_{i}$ — angle between first crankpin and subsequent ones on the crankshaft, grad

$\gamma$ — angle between the two banks of cylinders (V - angle), grad

$h_{i}$ — the pitch distances between the first connecting rod and subsequent ones on the crankshaft journals, m


References

  1. Železko B.E. Osnovy teorii i dinamika avtomobilnych i traktornych dvigatelej. Minsk : Vysšaja škola, 1980 / Железко Б.Е. Основы теории и динамика автомобильных и тракторных двигателей. Мн. : Выш. школа, 1980.

  2. Alberto Dagna , Cristiana Delprete, Chiara Gastaldi. A General Framework for Crankshaft Balancing and Counterweight Design. Department of Mechanical and Aerospace Engineering, Politecnico di Torino. Appl. Sci. 2021, 11(19), 8997; https://doi.org/10.3390/app11198997.

engine_balance's People

Contributors

ulavarby avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.