国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费
機械社區(qū)
標題:
內燃機熱力計算怎么用C語言編程?模板如下,求助。
[打印本頁]
作者:
方進小侯爺
時間:
2015-6-28 22:58
標題:
內燃機熱力計算怎么用C語言編程?模板如下,求助。
#include "math.h"
0 x& s/ v* G2 B8 C7 ^1 u
#include "stdio.h"
' K$ w. i5 I0 |6 t
#define PI 3.1415926
: v6 ?7 r) \, } x; M! r% X9 x
- K! Z4 f1 Z$ L! `+ A
double D,S,L,ge,n,Ne,gnum,ysb,Hu,Lo,M,R,P_SC,T_SC;
' z1 K. l1 I- R! ?5 ?0 Y
/*缸徑、行程、連桿長、比油耗、轉速、功率、氣缸數(shù)、壓縮比、低熱值、理論空燃比、Weibe函數(shù)常數(shù)m、氣體常數(shù)、進氣門關閉時壓力和溫度 */
T1 V: `& T& g3 D! a
double m_T[720],m_P[720],m_a[720];
5 k* B* g# [. E) ?9 j( ^) ~
/*氣缸溫度、壓力、瞬時過量空氣系數(shù) */
7 W! m) @+ c6 t& q
int m_CA[720],A_SC,A_CB,A_CE,A_EO,A_SO,A_EC;
! j: p7 i; e0 v# s5 P
double Pa,Ta,hs,P,V,T,CA,m,mf,nmd,Pe,mBo,mL,dXY;
( _3 M" T2 R0 i
double Cv();
" k# Z$ h1 y2 `
double dV_dCA();
) z3 b, G& r0 V- Z% b; O, Q; j$ i
double dQw_dCA();
7 q- W: X2 [! g
double dQB_dCA();
* \5 V# b1 s9 G7 K; ^3 z5 S
double U();
7 E. |# Q9 g0 J9 C+ Z+ ?) q% W. y
double V_CA();
0 \+ j' s0 u, h
double dU_dnmd();
) Y l* y7 ~' ^( e& `7 V* D
double dT_Ys_dCA();
^: j: P. W* u. \" b
double dT_Pz_dCA();
6 M& ^/ i4 ~, v! D8 l8 d4 {
double dT_Rs_dCA();
. c6 s r6 u. `% ^ u) |
double dT_Hq_dCA();
9 @( c: I9 d, b8 t" d
double dT_dCA(double an);
8 H& E9 e4 W* ]" q
void Calculate();
* N S4 M2 c+ s+ k
+ _. q8 G6 F* J: |+ K- Z1 l
/* A編寫各子函數(shù)程序*/
' f) |5 G X( b2 [5 i, Z
double Cv() /*求定容比熱*/
2 L3 C- U* z5 ]6 z# v+ A! W
{
4 \) O# [6 ]6 L6 C* A& X
: Z; m2 V! I( X# F
}
0 Z8 v7 F( K" J H0 G4 u, N
& K8 Z# Y/ B2 g5 o3 T
5 C0 z& [- @% t6 T6 @5 {5 z
double dV_dCA() /*求dv/dφ*/
7 _; @) q) R# \+ S6 ]6 R8 X) I+ y7 B4 d
{
9 w' X" H* j' K5 s7 E0 e
; ?- b2 l; B0 m5 S! E/ I; s# Z
}
6 k4 R) r7 U) [! T. a+ p% N
; ]( R$ b/ `$ I0 ?3 C
; o- }) y$ K- b$ j: z1 n! W O
double V_CA() /*求氣缸容積*/
; v/ y, x: D5 L2 p" a
{
! c- q. L8 H+ u) P$ h5 x! i
; f2 s; ]$ z) l4 J
}
/ r y+ D# i e+ M7 |
+ z- t* {3 X1 n# x
3 s. t9 Q' _/ A ?
double dQw_dCA() /*求dQw/dφ*/
' `- N! a2 Z; o( d5 ?5 G
{
; k" i& Z1 ? w) K9 n o
" ^' J3 A9 y/ K2 t0 G
}
" y- ?1 E' N6 M( q$ b
& ]8 C' i+ G3 m$ q m6 D; ~
& {9 \: Q4 r# p1 J5 Q
double dQB_dCA() /*求dQB/dφ*/
$ g: [" T4 ]7 l: C* i7 r' }( V; V. m
{
5 }$ u4 o8 g9 T, N( t$ B3 a. l
. _- `0 l& F7 s! `! K# w
}
8 A- D6 {& u! Q! l
4 z4 l6 R* }: k( p0 b
) h# N- t$ F4 [1 H/ {3 L) H$ U
double U() /*求u*/
6 T0 P$ {1 t) u
{
( ]. [& @9 f( ~* H1 a
# K# J; U# `1 S1 J
}
3 S- g O: H t. C1 S" ~& R
4 o+ Q$ j9 b4 |3 r9 P& U8 a
& Q: X- S3 f7 l! Z; J, u, h( l
double dU_dnmd() /*求du/dλ*/
1 k3 `7 k+ v7 T: x
{
* b& t1 u- o5 ~4 p7 B0 u. V9 S
( Q8 v( b" K( \; q# l) G
}
6 A- d5 m) ]5 K9 B; L
/ g9 ` h) c. |
double dT_Ys_dCA() /*壓縮期*/
* y% m _1 d m4 y2 G# j
{
/ f. x8 n. x9 u6 m& C6 N% a
) p$ B5 t" E& N6 L- R
}
8 H% h$ p5 B- q8 w/ P
7 D' c/ R5 t4 J5 D$ k& ~
7 |. b9 ]6 P" Z( I8 J6 x' B4 s5 g3 |
double dT_Pz_dCA() /*膨脹期*/
- ]( z9 D m+ q* T# J
{
) \/ d& R) c( X
4 k* u3 z# f2 S/ x8 S& K
}
6 G- }# G5 r$ M' C2 p6 N* r+ [4 G# C
. c. ~& e6 |) i8 Y
9 f, C1 O0 P$ ~& ^7 V7 `& T& r
double dT_Rs_dCA() /*燃燒期*/
$ c# p- ^: ] A9 n4 r
{
( U/ O v7 f. Z- L, U- t7 O- U V
' p& W5 Z5 F, Y( Y* ?
}
6 _9 R; }3 r# P* t: U- [3 M
" U7 I) |$ V* A0 B5 a' V
$ b2 \7 w5 m- b1 ]# n
double dT_dCA(double an) /*求dT/dφ*/
% n& y% g& k. a. y! f4 `% p
{
. O% s* x7 T2 w g
CA=an*PI/180;
0 }3 M+ p- P9 \) k4 K
V=V_CA();
: K% M! H$ M# B" G$ t6 V
if(A_SC<an && an<A_CB) return dT_Ys_dCA();
3 Y& x8 @* }: _& b+ v. T
if(A_CB<=an && an<=A_CE) return dT_Rs_dCA();
/ i; s6 L: J; l
if(A_CE<an && an<=A_EO) return dT_Pz_dCA();
' E p! _7 W2 f0 V6 j
if(A_EO<an && an<=A_SO) /*換氣過程不計算,線性賦值,避免零值 */
+ q8 x2 Q" W& g1 J8 q7 o$ b
P=110000+(m_P[(int)A_EO]-110000)*(A_SO-an)/(A_SO-A_EO);
& e6 R6 p2 ~$ v) c1 [
if(A_SO<an || an<A_EC)
; ?. V: [5 h* w/ R/ v: f$ R
P=110000-20000*(an>A_SO?an-A_SO:an-A_SO+720)/(A_EC-A_SO+720);
+ d: A2 w! l- z* o, v( ~# |" {
if(A_EC<=an && an<=A_SC) P=90000;
4 o. o/ R; J8 U9 y+ W0 c3 e# n
return 0;
- g2 Y, Y+ L2 ]* S
}
9 j7 q V* _' f9 p! b* n6 n
# U/ I8 c9 K/ f9 f8 L7 E$ s' M
void Calculate(void)
- E' Z$ D: j3 ~! ^4 ~3 u& T- t. y
{
" Z% b1 A7 a4 H* n: ]
double Tpre,K1,K2,an;
7 S6 \' D/ R6 [4 ]( u! t& W/ D
int index;
1 ^5 ?/ a; f6 t R& Z
Pe=30*4.0*Ne/(gnum*100000*n*S*PI*D*D/4); /*平均有效壓力bar*/
( _- T8 p% h3 P' l) }, Y E
mBo=Ne*ge/(30000000*n*gnum); /*單缸循環(huán)供油量kg */
1 c8 C+ D7 O* ^3 C
CA=A_SC*PI/180; /*進氣關閉時的角度轉弧度*/
# a1 I+ W+ @8 { x
V=V_CA();/*進氣關閉時角度下的氣缸容積*/
: G1 Q6 Z! V8 z
P=P_SC;
: ~, R6 N* |( ?7 d+ a" E
T=T_SC;
9 J4 {% w. P. S" B; \3 H% L* s
index=(int)A_SC;
, f* c. B" @* Q( `. l& `3 ~$ D
m_T[index]=T;
8 m* _3 ^) D3 @& |4 [& L
m_P[index]=P;
( Q4 m2 R( d& ~( x, V
m=P*V/(R*T);/*進氣關閉時角度下的氣缸內工質質量*/
5 S8 O* m# O; Q, ]3 N- }
mL=m-0.01*mBo;/*進氣關閉時角度下的氣缸內空氣質量*/
3 H0 @2 q) e" {/ N9 {
mf=m-mL;
9 F( T) C1 \* C: i8 ]
Tpre=T;
) V, s3 P/ g# d* Q9 i9 J2 O
an=A_SC+1;
) {) N- H! P* s' ~: U" N) Z
/ c& d) X' c# P9 V1 ^9 [, ?
do{
- `. C) I/ U! b& h, H( S, C
! ~( Y% F( P; \( x6 Q
/*B 編寫歐拉法求解常微分方程程序 */
+ f7 W$ a: x8 c
$ ]% g0 q: i/ i4 u7 [& i
}while(an!=A_SC+1);
5 S' [, N/ }, X, _1 X6 V
}
8 W, K) \. L. b' o0 C6 u- }+ m
4 H6 S6 C, d" {7 U, D
void main(void)
6 e: I# j4 t; d# ]
{
0 v4 p6 ~* ]+ E8 z
int i;
0 A9 e1 D& f+ V! G8 C2 i3 t
FILE *fp;
/ ^$ n3 m" c0 `" t$ M
D=0.11; /*發(fā)動機數(shù)據(jù)按各自的任務書輸入 */
3 P$ y# X$ Z; k) ?4 J
S=0.13;
+ [. a0 E: K( y4 I
L=0.21;
& i2 a9 A" ]' O& [6 Y3 a
ge=236.0;
4 Q4 x+ [5 l. n( h( Q
n=2400;
2 l v" n0 a, x! k/ u4 M
Ne=101568;
* C8 P$ P& d* u+ ~) R3 U
gnum=6; ysb=17; M=0.7;
9 i: `4 _7 x$ `8 R
Hu=41868000;
! S% n! a; @5 x+ L4 m4 B; O
R=287.08;
/ x, _$ a& ]9 y T0 I
Pa=101000; /*大氣壓力*/
* m+ W \ ?' ]# S
Ta=300; /*大氣溫度*/
5 u) Y3 K" S( _9 _7 |! [
hs=(735.0+R)*Ta; /*大氣焓值*/
5 Q9 j4 [* z- P& t
P_SC=90000;
0 B* o& d2 }! ?8 k
T_SC=313;
" G+ k' T( O4 j; v, N* Y u9 k2 d, N
/ H' @/ Z8 C1 |/ B! J
A_SC=216; /*進氣門關閉*/
* j1 p9 |' ^2 ^. y& u* K
A_CB=350; /*燃燒開始*/
W \& ?- v! t3 }2 a
A_CE=410; /*燃燒結束*/
# l* f0 v* P# U2 q& r" O" _- {
A_EO=484; /*排氣門開啟*/
* Y+ W; W8 |: L! l
A_SO=705; /*進氣門開啟*/
( _: ]5 o& [, e2 h3 s: j( S# b R, e
A_EC=15; /*排氣門關閉*/
+ E" G" t/ H' Z' u
6 ^ t/ H% u4 r' \, ^) n9 X
Lo=14.4;
5 i+ l' B. _# g. X1 v- @0 J
9 a0 _! q7 G. q* N( N
for(i=0;i<720;i++)
5 T" @( z* j1 j& R( ^. }
{
# G: u6 O ?. U' a( t; k! o2 V
m_P[i]=0;
' c9 S1 }3 t2 s" K7 ?. e7 F+ [' S
m_CA[i]=i;
/ t7 ^+ i9 N# d+ e4 v; c5 e9 l
m_T[i]=0;
B) E. b% z; w0 N+ Q8 V
}
+ N9 e% z$ M# C. f' H' A
7 G$ f6 e6 k* U q$ u" B
Calculate();
4 h: i4 o5 G6 J! a% E5 Y; p: B: ?7 n
6 d& E) v* W, ^% G. f R
/*C編寫數(shù)據(jù)輸出程序,計算結束后按順序輸出0-720轉角的“缸壓,溫度”數(shù)據(jù)到outdata.txt文件 */
7 i; p6 t |! r9 o; l& F
6 a" h" o8 _4 p
}
) b0 x4 F; y9 r4 i. w" {% W
+ ~1 a9 U! f- j B7 T
8 `6 Q4 @' a% P, ?' @
作者:
祥云飛魚
時間:
2015-6-28 23:45
不難啊 完全是 把 公司 翻譯成 C 又沒有用指針跳轉的。。。
作者:
一點一點來
時間:
2015-6-29 01:45
這是作業(yè)的干活吧……
歡迎光臨 機械社區(qū) (http://www.whclglass.com.cn/)
Powered by Discuz! X3.5