久久久国产一区二区_国产精品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& Wdouble 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) Adouble 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: J3 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. ]  odouble U() /*求u*/4 z6 b' [  J# Q. x4 N0 K2 d
{
  f8 g7 S- l1 ~. O8 j9 b% Q1 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& pdouble 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 c6 ^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