国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3680|回復: 2

內燃機熱力計算怎么用C語言編程?模板如下,求助。

[復制鏈接]
1#
發表于 2015-6-28 22:58:34 | 只看該作者 |倒序瀏覽 |閱讀模式
#include "math.h"
( Z0 m1 S6 G4 {# h& }) {#include "stdio.h"
! O! ], h4 \' _- Q+ k2 w, J#define PI 3.1415926
4 g/ J6 C$ ~7 m$ h
- x# T/ X* j+ ^double D,S,L,ge,n,Ne,gnum,ysb,Hu,Lo,M,R,P_SC,T_SC; 9 l$ e5 [! O9 Y5 Y$ V# V: g
/*缸徑、行程、連桿長、比油耗、轉速、功率、氣缸數、壓縮比、低熱值、理論空燃比、Weibe函數常數m、氣體常數、進氣門關閉時壓力和溫度 */
; c  d8 y7 h& K/ b+ O4 j0 ~+ V0 l        double m_T[720],m_P[720],m_a[720];5 Y' s. p1 z/ E
/*氣缸溫度、壓力、瞬時過量空氣系數 */
9 b' U2 C' L1 T* F: U8 f. g        int m_CA[720],A_SC,A_CB,A_CE,A_EO,A_SO,A_EC;
. k* s+ C1 F) `8 |$ b: T/ C        double Pa,Ta,hs,P,V,T,CA,m,mf,nmd,Pe,mBo,mL,dXY;
2 h3 O% M4 L0 P7 \2 u2 |3 ~        double Cv();
% l% X' b0 b3 w7 R1 Y        double dV_dCA();
2 h; E- X5 }2 V1 h5 k4 }3 ?' N        double dQw_dCA();2 S8 d& G9 K7 C  v* U, U2 }, Z6 S
        double dQB_dCA();
, M2 |" ^, W6 ]- q2 D7 M; V& _% N        double U();5 G/ ?" ]  c8 w$ y! G5 f( I6 I% S# {
        double V_CA();
/ b8 G5 I5 T% V/ n/ B        double dU_dnmd();
4 Y  y& T- x( w/ d        double dT_Ys_dCA();
% W4 P2 t3 Y9 X. F7 b        double dT_Pz_dCA();; t2 ?$ a# ?' O! R" R- D# H3 j
        double dT_Rs_dCA();
3 O# i- `! W, \' @+ |+ w        double dT_Hq_dCA();
9 v8 R& J  }; K8 r: X1 E/ \$ B        double dT_dCA(double an);# P0 |# m) @( i# z. V
        void Calculate();  A( L2 j( e% J% N$ ]* R
- U# L1 E: k. }
/* A編寫各子函數程序*/7 `3 l2 }, F. ?
        double Cv() /*求定容比熱*/
( v5 m( I! N3 G  ?5 T2 ]' m1 G9 j{) N/ L8 R* A) G2 T4 ^
5 `- v/ R' q2 X$ g6 @/ M+ G
}
3 F0 a) v4 B  {. o' E
- F$ t, I& D; U: F; d2 \! ]. \' w: t' q
double  dV_dCA() /*求dv/dφ*/
- m5 _3 n' v# O2 |7 I{6 F+ `; O/ @1 q- Z& P2 ^; `

! u; i( j1 x; \( X+ T}# _% d6 x  l. ?+ H, I. O

$ x2 U) F- c) b; z# x' @$ g1 L
  ]3 V" O9 B/ P4 Adouble V_CA() /*求氣缸容積*/
+ @4 q: n- E* c; n; D2 i) K4 }- t6 y{
5 p2 M3 I, t, j+ r4 P7 ], a
' o0 n6 i4 U4 k* N  \4 b; e}" o) w5 G3 Y  Z3 I' ^+ E
; n0 b* z2 Y- K0 D7 J) k* @' E
4 ~& m7 f8 U% b9 e( M
double dQw_dCA() /*求dQw/dφ*/
0 D1 J! s+ \  i9 @{
, W/ J3 Z. ~7 t$ W0 M3 S  }$ f" r* c# @) W. ]5 s" k# s8 ]6 q
}
& \" @. B( r4 ?6 V9 _
/ ~% |" x$ S8 b; ?: F" T& n/ B& H$ N# Z
double dQB_dCA() /*求dQB/dφ*/
% e" d" D& o- ~* n{7 b: m" }7 L9 g) F- v+ m
9 F* w1 m/ ]: F* G
}
% p$ p4 Z$ o" v. ^1 F- O' }
4 N( r; K! G1 r5 W: c( U/ }
+ o( [( c" Z1 j/ e# Udouble U() /*求u*/
+ n1 ?; h3 A% z  b4 v8 z+ J{
- b) M6 F( j6 [9 r  q1 g6 R( T3 l; Y
}3 K; }: y( }1 W7 V/ I- o
+ b+ l0 [- H& [" v8 q
8 W( j' @7 J/ h' X# B" V4 B+ ^
double dU_dnmd()  /*求du/dλ*/
2 [2 p* T1 M- n8 i' n{
8 w/ Y$ b( i: z
7 Q5 k( G: `# q* ~}% v% G+ m4 E; a" M% V- t+ k

1 S  C- |8 D7 B$ H* s" n) ddouble dT_Ys_dCA() /*壓縮期*/
: P; Y; I8 r9 |( h" H4 V{
  `) t5 V" O  |1 O9 Z3 G4 ]
& f$ c+ l% o0 g% B1 @& {' Z2 l$ p2 G}
) M5 P1 P) x6 y7 F: U6 {
8 U, W' d3 i' R) U  ~0 z9 Z2 N, O" V, l4 v* R
double dT_Pz_dCA() /*膨脹期*/3 M) M/ }1 b' c7 Q- F0 A$ K/ h2 }) E1 V
{" n: k. [% d  H

* k0 N' M. K/ y5 i9 c, W- F}
0 g7 j% c8 W! w4 v2 s2 _: T3 H% m3 l# E2 g

7 i$ D7 B' F3 `double dT_Rs_dCA() /*燃燒期*/
6 Q: m7 o/ E% x) i- v3 J  P3 E: U{
% i( U0 ^( j6 r* @( ^4 g1 x% P# G' B) r6 K# k4 C  `
}
" A% E$ v  e) u, k% [1 E! A6 f$ ~; {2 s, _0 S8 _
+ l. @( L3 x0 _
double dT_dCA(double an) /*求dT/dφ*/4 k) {( S- |3 q" X- e
{5 l9 I9 i9 _4 \5 N  O6 u
        CA=an*PI/180;
! u& n" A% W& B2 u+ H; t$ n2 ^4 A        V=V_CA();1 i7 E# Y5 R( |  Z6 k& c  d) @
        if(A_SC<an && an<A_CB)   return dT_Ys_dCA();# X0 f% c  N+ f1 z
        if(A_CB<=an && an<=A_CE) return dT_Rs_dCA();
% k3 |/ Z. H* T        if(A_CE<an && an<=A_EO)  return dT_Pz_dCA();  N) P% l7 |2 P% N) R, E
        if(A_EO<an && an<=A_SO)    /*換氣過程不計算,線性賦值,避免零值 */
# R& ~' e1 b3 @8 G+ E  ]5 H                P=110000+(m_P[(int)A_EO]-110000)*(A_SO-an)/(A_SO-A_EO);
0 m1 v; J0 X3 b9 ]& o: T    if(A_SO<an || an<A_EC) . x% g" h/ P" O- f; Y, u4 t
                P=110000-20000*(an>A_SO?an-A_SO:an-A_SO+720)/(A_EC-A_SO+720);
& z8 C% f4 M: U2 l! J        if(A_EC<=an && an<=A_SC) P=90000;2 ^, @2 ?+ x. N6 n" y7 }8 F8 A1 A4 t. w
        return 0;
' Z* Y3 ?  X' l}4 G3 Y) T" o- Y+ M" n7 Z3 Q, i
/ ~4 S- }9 p, L
void Calculate(void)
1 s, _* V2 y4 k9 X4 T0 E( V$ V{
! [$ X# P) q( `& H    double Tpre,K1,K2,an;) V) l+ R& k6 X, [6 E( Z' X3 E
    int index;2 L, T) D$ A# ?4 L+ j7 {& k: [) e
        Pe=30*4.0*Ne/(gnum*100000*n*S*PI*D*D/4);  /*平均有效壓力bar*/+ f; k0 W- z% H$ i  e
        mBo=Ne*ge/(30000000*n*gnum);   /*單缸循環供油量kg */
" D0 }0 h/ Z8 Y  n        CA=A_SC*PI/180; /*進氣關閉時的角度轉弧度*/
" S. j) ]3 u( G- R7 H5 z        V=V_CA();/*進氣關閉時角度下的氣缸容積*/
" M0 \: O: p3 q' A        P=P_SC;
" o0 h9 O2 {) q/ f0 x        T=T_SC;' s& s$ c* M' t% Q
        index=(int)A_SC;' B) X& W7 w  k8 [/ J
        m_T[index]=T;- U, a3 F9 C/ ~# D* a, [
        m_P[index]=P;1 [7 h  C* v' l! e$ N; t
        m=P*V/(R*T);/*進氣關閉時角度下的氣缸內工質質量*/. v% [+ j: C$ o; H- h8 n( X
        mL=m-0.01*mBo;/*進氣關閉時角度下的氣缸內空氣質量*/, |. W# R( T) N
    mf=m-mL;6 P7 E. K7 W% o6 x  S  \8 R
        Tpre=T;
1 j$ c1 x/ _0 W5 k        an=A_SC+1;3 d8 r/ B2 r: f2 }
3 a) k% [, _/ _/ \% d, y0 i
        do{
" A3 {1 p8 y& f% x: f
" D% i. I/ `: t* B& ?! A( F) S5 i3 }  /*B 編寫歐拉法求解常微分方程程序 */# h0 [: h/ F  S
" o: j: L- |" _
        }while(an!=A_SC+1);% F2 N  \% I$ v- T) R# w1 C7 w
}
% z& ]/ a8 B) S1 I- q( e- |& F9 M: i8 Q7 w; z1 g9 d, c/ W
void main(void)* o3 x8 j+ t7 _1 x
{
4 f6 A- c8 {" V9 \. c& G        int i;
+ _/ S4 e) ?. Q) N  m        FILE *fp;. N% N) p) f8 ~" a
        D=0.11;   /*發動機數據按各自的任務書輸入 */
% E  s* c: s  q( x+ R  U        S=0.13;
6 g: r, O$ X3 ^% f# D        L=0.21;. h. R  k, w2 w# J1 r/ d4 I! v6 t
        ge=236.0;
4 M+ {" D" {9 l; T/ ]2 j        n=2400;
4 a6 K" x. ]$ ]: v5 g5 M        Ne=101568;+ E5 \5 K- n7 `: G6 P
        gnum=6;  ysb=17;   M=0.7;
" a( r2 L& s/ ~! V0 s- V# ^6 n: E# }        Hu=41868000;
% S+ r7 t6 C1 ]% `2 ~' a        R=287.08;  V. G: [% ~$ @  r# z+ T
        Pa=101000; /*大氣壓力*/8 C; j: I7 ?4 k* r  l
        Ta=300;    /*大氣溫度*/3 O& D2 @7 h$ F# r9 N3 y
        hs=(735.0+R)*Ta;  /*大氣焓值*// A3 D+ y$ m& @- ]  N- f
        P_SC=90000;4 v4 e9 t! f. p& b3 O1 e" J/ r
        T_SC=313;
3 N/ \# R; m, Y; c6 x4 Q5 n
  v, j1 l  p( _! S$ g6 s3 Z        A_SC=216; /*進氣門關閉*/: I3 g% G  ^4 V0 W
        A_CB=350; /*燃燒開始*/; s$ n. X  N* o- V1 q4 D
        A_CE=410; /*燃燒結束*/
" ^2 p% H  v# y. F8 T+ C        A_EO=484; /*排氣門開啟*/# x- q3 e2 N1 L9 t/ \
        A_SO=705; /*進氣門開啟*/9 o$ v* Z! q5 G1 d9 U5 n( N) D. W
        A_EC=15;  /*排氣門關閉*/' @* S0 @6 |) B5 ^

5 O  o0 r$ y6 P  L" E4 H5 u2 U        Lo=14.4;
: I' Z' H5 P  [* ~0 g3 H
! v; F" V7 s& z; e    for(i=0;i<720;i++)9 h0 ?+ F. r2 V  U
        {6 {4 a4 _4 N7 S6 C& a: x5 k
                m_P[i]=0;5 m$ q# l5 G1 i' {$ b! f- z9 j
                m_CA[i]=i;
6 I& f& ~! ?5 t' |2 h                m_T[i]=0;
4 y* Y$ c1 f3 s$ c7 @+ z  e( q4 q        }
) p( g& J+ F0 e6 H) L2 a9 N0 c; R9 h* u) E0 Z3 t
        Calculate();* [* [0 B1 l& e, m. S3 g* K* ]2 X
6 M* I5 S" _) k; M5 g5 U: W0 C
    /*C編寫數據輸出程序,計算結束后按順序輸出0-720轉角的“缸壓,溫度”數據到outdata.txt文件 */
# {6 E5 e' {8 D% e+ ~1 v9 F! Z) R* n6 l% [$ e4 _0 U0 n+ ]
}, q$ u2 I  ^: [2 [) T# S$ J
) d2 O% L7 v/ X. D" L; C

4 u0 L$ @0 f# r" l3 C$ r
回復

使用道具 舉報

2#
發表于 2015-6-28 23:45:10 | 只看該作者
不難啊  完全是 把 公司 翻譯成 C 又沒有用指針跳轉的。。。
3#
發表于 2015-6-29 01:45:20 | 只看該作者
這是作業的干活吧……
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-9-12 20:36 , Processed in 0.070298 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表