久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱
機械社區
標題:
內燃機熱力計算怎么用C語言編程?模板如下,求助。
[打印本頁]
作者:
方進小侯爺
時間:
2015-6-28 22:58
標題:
內燃機熱力計算怎么用C語言編程?模板如下,求助。
#include "math.h"
! l0 f; o" h& u5 F
#include "stdio.h"
O8 L0 ~+ c! H' ~2 M8 o
#define PI 3.1415926
. \2 ]' C% d2 V2 J( J( Y z0 _& p& g
. N( O. G. j# X. n& W
double D,S,L,ge,n,Ne,gnum,ysb,Hu,Lo,M,R,P_SC,T_SC;
& x- }3 s4 O0 H$ _- _ r8 B
/*缸徑、行程、連桿長、比油耗、轉速、功率、氣缸數、壓縮比、低熱值、理論空燃比、Weibe函數常數m、氣體常數、進氣門關閉時壓力和溫度 */
* z* `& i) Y: f1 e: N) c+ [
double m_T[720],m_P[720],m_a[720];
. e8 i( O9 O J! Y6 R4 d
/*氣缸溫度、壓力、瞬時過量空氣系數 */
U( Y' A: u0 w& @; R3 s
int m_CA[720],A_SC,A_CB,A_CE,A_EO,A_SO,A_EC;
% p; [- q- F) O! x1 s
double Pa,Ta,hs,P,V,T,CA,m,mf,nmd,Pe,mBo,mL,dXY;
7 ?' j& `$ M' s& m/ w% E5 x8 }
double Cv();
, M( Z2 E; W1 q0 S2 r% P! g
double dV_dCA();
B F4 E8 r! [; ` w! r
double dQw_dCA();
! {1 V+ v" i) X1 ]* F; L% v
double dQB_dCA();
9 y+ M M4 m9 k8 r1 c5 h& g0 V4 a# ^* q
double U();
8 w4 L! z+ @+ V) P; ~9 }
double V_CA();
v) w7 o, e6 r# a/ M* _
double dU_dnmd();
6 Y. w9 R- W& {$ z5 S# g! `
double dT_Ys_dCA();
% o/ g$ E+ t3 c* C
double dT_Pz_dCA();
* S# Y4 c% P* e
double dT_Rs_dCA();
/ g1 x( T) V% y1 j j9 o
double dT_Hq_dCA();
) a. Y6 r/ a$ p6 d1 V! `8 \! J% }" Q
double dT_dCA(double an);
$ X6 j) q8 z0 f9 y( ]
void Calculate();
( j# A% I' W% M% q5 Y" L9 l, @( w6 v
1 V+ e8 p, a* M( y( g; V
/* A編寫各子函數程序*/
) q1 ?9 m7 Q) ?: z8 Q! G+ h
double Cv() /*求定容比熱*/
' m9 K. _$ k. i+ o. d& c
{
* V1 {7 }- \0 A% ^# G
+ c3 X. }; N9 ?% ^2 Q: ?
}
' H8 j+ Z- f7 U# ]! w) `9 _; S
! T( D7 k, E$ D9 I7 x
( I2 |' T* |( \$ D* y! a; r( ~
double dV_dCA() /*求dv/dφ*/
4 U3 ?" j6 C' R0 ?* R8 q
{
; X1 P# Z/ J5 A$ \+ m# S3 h
) T$ F {' N, V4 l/ j9 q$ d W8 S
}
+ n; j% \! S) h7 s$ E9 u/ G8 X+ Q
0 w8 t7 p9 X( D# U* Q& W8 Z
2 o2 C3 r3 j$ b% I& W, f6 N) A
double V_CA() /*求氣缸容積*/
# s- Q7 \# d$ }' K' E7 J
{
5 U3 o1 Y( z# P4 ~
( W4 {; H/ l5 ?( \
}
4 N" t6 j/ z7 _5 U
% Q `# \. h& \" g7 r
3 u8 N3 Z X+ ~7 ^
double dQw_dCA() /*求dQw/dφ*/
# v5 s) c+ o3 K3 d$ {
{
3 A" }7 j/ z& v# k: J
3 T" T- I0 ~0 B: x, g0 a( [
}
1 Z7 X& a7 A4 \# c$ p) c& t: E
3 V' X& [% r! g) n, ^4 E. b6 P! e
* |/ W" u4 x# z8 D. ]- u; l' Y5 z
double dQB_dCA() /*求dQB/dφ*/
3 n; c( ^( [* a1 G
{
+ }& [* E& R5 l5 x
2 `7 Q6 P" F/ o! c7 K9 s# T
}
3 m7 r, }1 W: ^. v" ~: E6 H3 f: ?
2 S! \/ `- s5 r* z. F0 U
6 W1 B& e5 t( T1 v. ] o
double U() /*求u*/
4 z6 b' [ J# Q. x4 N0 K2 d
{
f8 g7 S- l1 ~. O8 j9 b% Q
1 y0 [8 G) o+ V; ]# P. T
}
( y. Q& O! D' e0 C% w2 D
/ Y5 `' j+ v% T5 a6 I* _2 C4 |4 i* K
- a7 c b: c0 x* [ [, g' o- B3 B7 y
double dU_dnmd() /*求du/dλ*/
; x9 z. `: {/ [! @1 Q
{
" d# p' G5 D% v" f0 P/ d
$ X" Z& o+ i# t. O% r0 \% z
}
2 ]" f) ^; ~& ]/ J
' \# E, w# Y) m& p
double dT_Ys_dCA() /*壓縮期*/
5 o6 f; P, X+ }: C# F0 r1 w* n' \
{
' ]" J/ `9 v/ X6 I
8 v! q! Z! q1 X1 Q
}
/ J; f# v7 a# ]
C% X& P) |8 v" X9 B& R3 a
2 \/ S3 y# @8 J/ A- F) u8 X; _
double dT_Pz_dCA() /*膨脹期*/
: t3 p7 U! i2 @) W+ V% V
{
5 y& Z! ]2 x$ q/ x" }. d
. ^' E V0 Y5 R8 r" m; L6 o
}
. G1 T* i: a6 R1 N; S% W" C
/ z1 v( j/ K9 w+ O: O0 f3 ]
+ z6 m3 [3 G2 c4 G9 ~
double dT_Rs_dCA() /*燃燒期*/
' c M# `2 x2 B9 K) C; y
{
; n! ^& {) {' [ S8 T
# ]7 j2 v+ M m8 U
}
~1 m% j2 r+ w8 |+ p
; y) N# Z) u1 k& l2 ?2 T( }8 c
6 ^0 r( @3 @: I/ B
double dT_dCA(double an) /*求dT/dφ*/
9 t$ f1 h9 f" j! w H6 Y! A* |
{
2 e1 T6 Z7 r% ~4 M/ |% f
CA=an*PI/180;
( R& t0 C2 H/ F1 s: Q7 ~6 b! G
V=V_CA();
- r+ A+ B" w0 C2 Q
if(A_SC<an && an<A_CB) return dT_Ys_dCA();
- p9 f6 m3 E, T7 y% ?8 H" U' h
if(A_CB<=an && an<=A_CE) return dT_Rs_dCA();
. A& R. G% a( Z# n ^
if(A_CE<an && an<=A_EO) return dT_Pz_dCA();
' @; A) J! u/ g e6 o& ]. |' x& U
if(A_EO<an && an<=A_SO) /*換氣過程不計算,線性賦值,避免零值 */
2 b% w6 v4 Y) g' O: |& @
P=110000+(m_P[(int)A_EO]-110000)*(A_SO-an)/(A_SO-A_EO);
# d5 T: Z x7 k1 I+ B4 R. E
if(A_SO<an || an<A_EC)
7 q7 H9 |* x r
P=110000-20000*(an>A_SO?an-A_SO:an-A_SO+720)/(A_EC-A_SO+720);
5 I8 o" ~& ?9 S+ |0 o
if(A_EC<=an && an<=A_SC) P=90000;
- b* w! E W$ L, L2 u
return 0;
: {5 `! N( s' C6 K$ P9 ~% n
}
1 ], N$ S& R6 Y: C' h# k8 z
% ]: P, Q2 N4 R' U/ E. n
void Calculate(void)
1 Y' M7 w9 o. I/ v. O" x2 \ X9 [
{
7 r* ^1 e6 |- R7 L/ p
double Tpre,K1,K2,an;
( c1 j* V6 y2 {0 h% w3 P
int index;
# T" n2 z- s# ?
Pe=30*4.0*Ne/(gnum*100000*n*S*PI*D*D/4); /*平均有效壓力bar*/
' t& p" Q, Q3 f& I# z+ C
mBo=Ne*ge/(30000000*n*gnum); /*單缸循環供油量kg */
3 f3 v: U/ v- ~) J. `( U3 \" i
CA=A_SC*PI/180; /*進氣關閉時的角度轉弧度*/
7 y' r! Q6 X% r% ~
V=V_CA();/*進氣關閉時角度下的氣缸容積*/
7 C2 b6 t! f# z$ S
P=P_SC;
9 D, f* x0 s0 @' J
T=T_SC;
" U9 |- ^/ a% i2 W; ~/ R
index=(int)A_SC;
1 O6 v& ~9 Q& P7 J b7 t
m_T[index]=T;
) f; t/ J6 e6 n" i% G) o- K
m_P[index]=P;
6 D7 i" L" ^4 o+ \
m=P*V/(R*T);/*進氣關閉時角度下的氣缸內工質質量*/
7 h' T" \) c+ s1 H, \
mL=m-0.01*mBo;/*進氣關閉時角度下的氣缸內空氣質量*/
+ i; N7 g9 h9 [8 C/ A7 r$ `8 Z. s/ p' B
mf=m-mL;
' ^6 w3 G' @; R6 i& @7 T
Tpre=T;
1 N" e& i* ?4 C; v5 q# }3 |! w) J
an=A_SC+1;
4 E: p0 @8 i" v3 v, i1 H
8 L N8 D) y* c% {3 I1 z
do{
" F& ^$ z$ ?# R2 ]9 [% t5 m
' d1 Q/ Q$ ]! h( x1 Q& `) Z7 S% m
/*B 編寫歐拉法求解常微分方程程序 */
8 Y% K! @; t: D) u
P6 F( \+ E/ S- l9 m; i E$ @
}while(an!=A_SC+1);
/ ?: g- @' d: K# N' T3 v! O8 Q
}
, Z. N9 W/ }* |7 Q- e6 C* I) j2 Z( T
" B& w( H( V! T$ T. r
void main(void)
3 {' F1 `( x" N& p$ C V3 A
{
[& o/ C1 H* Z5 u1 p c' x# r
int i;
+ [0 l) N! i; c# W" H6 _- q8 k- \
FILE *fp;
& J; a7 _) o: r2 G
D=0.11; /*發動機數據按各自的任務書輸入 */
7 ~9 h; K6 r8 n& w" e+ p
S=0.13;
. k4 u2 ~3 M! p: r N w
L=0.21;
: Z& d* Z" w( M a4 d/ `
ge=236.0;
, r7 s$ B5 w3 ^3 f7 y: q
n=2400;
& E& y; D+ {( w+ H& {6 u3 l
Ne=101568;
, w& c' M# F, P- `: R
gnum=6; ysb=17; M=0.7;
8 W& z9 ]" z! I2 Z% D
Hu=41868000;
# a: P* h9 x4 u* |* Z* T) \6 e7 }
R=287.08;
) m+ N9 j& G9 F7 d8 d) {
Pa=101000; /*大氣壓力*/
' ?' N" }' B. i
Ta=300; /*大氣溫度*/
' U/ S4 `! _0 w7 E: b
hs=(735.0+R)*Ta; /*大氣焓值*/
+ q% ^) H% k i6 A5 K
P_SC=90000;
' z% u! y# P4 P3 `, h5 z
T_SC=313;
& T# b$ M# r! m1 z
5 x- b' `. W3 t, Z
A_SC=216; /*進氣門關閉*/
& n& B1 b/ L+ P3 J
A_CB=350; /*燃燒開始*/
* T2 z3 b# v! V7 I7 A
A_CE=410; /*燃燒結束*/
5 g9 u/ u) k/ X6 W6 c% }. F% ^
A_EO=484; /*排氣門開啟*/
1 r/ p$ l* o" _. L9 s9 l
A_SO=705; /*進氣門開啟*/
+ j5 n/ ~; e( s* k6 z
A_EC=15; /*排氣門關閉*/
8 y; j, N* D0 L6 q* f( N
4 ]+ p/ d" b2 A* E, X# E7 o' [
Lo=14.4;
# m( A& G' q; V+ @0 \) c
4 m5 r: D+ `/ ^/ f/ R3 q4 N
for(i=0;i<720;i++)
* {- p% A1 g. j* o- o; b
{
9 _5 R' _: V0 W4 a9 n& f
m_P[i]=0;
3 W; f9 B+ F j, V7 F- l& m
m_CA[i]=i;
! q4 ]6 h& B6 F/ a/ p
m_T[i]=0;
: @! [0 j8 l8 s0 d
}
: T# b# _. o. k" X: I
' B7 {* m- f2 ^$ ]5 f" V3 c
Calculate();
. {. s/ S; b( |' Y7 Q, z7 X, O
( J; U, D: r1 V3 d2 S
/*C編寫數據輸出程序,計算結束后按順序輸出0-720轉角的“缸壓,溫度”數據到outdata.txt文件 */
" V8 Y- ?' {4 a1 C
& L: j4 L# f" M) M( Q6 u$ f* U0 l
}
6 l& M; [. Z Y/ _3 d) J- |0 N
! ]: x9 ]7 j7 g; S
' T7 T0 O( J1 K$ V
作者:
祥云飛魚
時間:
2015-6-28 23:45
不難啊 完全是 把 公司 翻譯成 C 又沒有用指針跳轉的。。。
作者:
一點一點來
時間:
2015-6-29 01:45
這是作業的干活吧……
歡迎光臨 機械社區 (http://www.ytsybjq.com/)
Powered by Discuz! X3.5