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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3677|回復: 2

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

[復制鏈接]
1#
發表于 2015-6-28 22:58:34 | 只看該作者 |倒序瀏覽 |閱讀模式
#include "math.h"" E0 z2 K: A: j
#include "stdio.h"
9 J3 n) T7 Q( D" }) W% s. q2 P#define PI 3.14159267 @4 P( U4 J3 l# Q5 a+ m+ e  E" Q( }

* Z2 e5 l; @2 S" b4 D- w  ~double D,S,L,ge,n,Ne,gnum,ysb,Hu,Lo,M,R,P_SC,T_SC; 9 z; ~  G' D5 ^% ^* U
/*缸徑、行程、連桿長、比油耗、轉速、功率、氣缸數、壓縮比、低熱值、理論空燃比、Weibe函數常數m、氣體常數、進氣門關閉時壓力和溫度 */9 x  R/ }  Z, e- @2 I5 m. d
        double m_T[720],m_P[720],m_a[720];8 a2 ~" m3 m4 N' r) \
/*氣缸溫度、壓力、瞬時過量空氣系數 */
/ J( t5 _( t& o! }, [# o        int m_CA[720],A_SC,A_CB,A_CE,A_EO,A_SO,A_EC;
3 n  Q# f' H7 ?. u3 s. K        double Pa,Ta,hs,P,V,T,CA,m,mf,nmd,Pe,mBo,mL,dXY;
+ n$ ?1 i: t5 y2 y# H        double Cv();
! H1 K4 V' u+ D% E9 L7 z        double dV_dCA();4 i- k- |! I5 X4 X- A
        double dQw_dCA();
8 K5 d0 X; q) p( I) E) \        double dQB_dCA();, J, S& W- ?. B" G, j) l$ W
        double U();
% Z6 ]8 n( L1 p/ G( ?* I        double V_CA();
- f" t5 S6 e$ C7 c/ l6 H: f8 _' F        double dU_dnmd();0 N$ M0 B4 I' l6 i
        double dT_Ys_dCA();
1 s) }& q6 P( a        double dT_Pz_dCA();
& W: L" F% n( |, m& M0 D        double dT_Rs_dCA();8 T5 w6 E4 S2 S; B+ U
        double dT_Hq_dCA();
" V9 M2 t. Q4 ]( F$ ~3 Z' z9 M( D        double dT_dCA(double an);
: ]' Z8 O; m+ [; K) ~, b! l' L# Z        void Calculate();
' Y- [6 E0 ^3 R. D) g3 |5 {4 z3 Y+ N% j* g% c
/* A編寫各子函數程序*/
" a2 X7 z7 t* ^% S4 U        double Cv() /*求定容比熱*/2 `. K1 M% n3 N* S) j4 S, |
{
; Y4 f3 C& c$ S* H; `6 e5 |
2 n/ J2 S; i8 S8 p}
5 ^7 G2 m4 ?! y5 `
& J4 Z* B7 Q% W/ ^( P0 {
. z7 ?' A  C+ O8 ~  C, Y% tdouble  dV_dCA() /*求dv/dφ*/) c, ]2 R, g% l3 m
{4 a4 H" D. b2 a; a

! J, I9 B% L, p$ L0 _: T) Z+ i}; q2 }' d3 U0 g6 u$ C
) l( u$ `9 u4 A+ ?: [8 n

$ r! \( y# A2 y# g, Y3 B2 [double V_CA() /*求氣缸容積*/
" {9 h8 C, K% C5 |$ `& ?{
0 K1 X% Z7 ?, s+ I
( m* [, v# u2 e1 |}9 P: s* l: y6 Z

2 \& [9 E! ^2 Y# \0 Q  e" R# _1 m- j: b$ q/ V
double dQw_dCA() /*求dQw/dφ*/3 q% g2 z9 y) ^$ ^3 b
{- q* n2 i2 r, N2 T) c5 }8 F
+ r0 U  w- u* X: m
}
2 t* D' R7 V* D$ t9 n. S
( \+ Y2 v) d0 X- N/ J; M2 x; c2 C, w( M* Q6 I% _- s
double dQB_dCA() /*求dQB/dφ*/# \# [/ Y7 w: K& t1 B0 Y; J; O, {$ x: |
{
& q+ r: v5 G( S6 i9 H
& \8 `+ E  Z) p: Y" W}& m0 T, \2 Y( v4 t! J

6 \0 ^5 ~0 Z  p! q! p
; \) o/ w: a6 c$ o# ldouble U() /*求u*/
3 b- h; E6 u) ?; e* {- R{" ^# Q6 E+ p- d2 g1 t2 |( T

  [6 L0 g. V# G3 @' E2 \, e}) x+ R7 b/ G- i
* I- x( A/ N* K9 W

' ]3 R  Z4 q" a$ Y+ |; @- hdouble dU_dnmd()  /*求du/dλ*/
7 ~6 @7 H- u! x1 c  s: P{  i0 E) ?2 _+ r1 p# H2 B  l) y
# Y% L1 X; A, b
}' f+ v" Y3 A8 @+ ^# q2 K* ]5 ~
# m' v0 G1 E, O. ^% ]2 c
double dT_Ys_dCA() /*壓縮期*/
* _$ k+ N2 Y# t' Q+ I2 _3 q% O) ^{3 z; o2 J4 s6 e( j1 b3 I6 D
, Q, _) Q% E9 O) e
}
. @3 n7 c) Q2 t/ r6 z4 O9 B" z7 Y$ b! c( H* r6 w, C: d6 }6 }* W5 C
# K+ E# p+ a5 {
double dT_Pz_dCA() /*膨脹期*/; L+ W6 f! m! F8 p9 c9 g) [0 b
{- T/ w& x# |: b9 {- N/ I

% z' l! ]+ @, K8 q$ c8 r}
) _) L8 G" a4 I9 D- |+ x+ I3 Z, `  I2 ~6 s- m4 A* ~# F% D! H  x: B
/ x- _% s" M. g. {8 p
double dT_Rs_dCA() /*燃燒期*/3 p# W) H4 c$ Z
{
, ]/ y* f# T. c( f" c
, h, C/ u4 @0 x( b% S}
) X4 b/ |1 h$ r( L" O/ t" }4 P% G0 I1 S4 M* j3 D! r* K2 M

6 z& e- D9 V$ z' O6 Hdouble dT_dCA(double an) /*求dT/dφ*/
0 d( L% T, z3 q8 e7 n{$ G! c  p: E1 y2 _4 Q. o5 N/ {
        CA=an*PI/180;8 |; @; k2 @0 H; U( E2 J7 G6 V
        V=V_CA();
' L) A# a- h! i1 F1 g        if(A_SC<an && an<A_CB)   return dT_Ys_dCA();; h/ R. U+ ]! E1 }, i, E
        if(A_CB<=an && an<=A_CE) return dT_Rs_dCA();
% K& B9 I1 Y  f1 i        if(A_CE<an && an<=A_EO)  return dT_Pz_dCA();
6 h( m  q- @% a3 V% P4 w% |        if(A_EO<an && an<=A_SO)    /*換氣過程不計算,線性賦值,避免零值 */) k4 |. R  }! G
                P=110000+(m_P[(int)A_EO]-110000)*(A_SO-an)/(A_SO-A_EO);4 {  C3 A! i  T$ P4 \! q
    if(A_SO<an || an<A_EC)
# n, q* _2 G+ y3 b2 s- [% s5 Y! a                P=110000-20000*(an>A_SO?an-A_SO:an-A_SO+720)/(A_EC-A_SO+720);
3 [1 S6 e* X3 v+ s  g3 Q3 y( `        if(A_EC<=an && an<=A_SC) P=90000;
  r6 P* c) a, r, W        return 0;  I# \, n8 s( f- A
}
& B6 z- @8 l# N3 \& u
. E8 v4 N% D+ r8 E) Y5 n) x3 Gvoid Calculate(void)1 \* c: x& ?6 u4 ~0 O8 j
{% T  y" p7 ^  m# y
    double Tpre,K1,K2,an;
7 c8 t* [) S6 Y" E    int index;
3 B! ]. B7 F3 ~0 y+ A0 O        Pe=30*4.0*Ne/(gnum*100000*n*S*PI*D*D/4);  /*平均有效壓力bar*/
  J. o, a2 `+ E/ G4 v) N0 S        mBo=Ne*ge/(30000000*n*gnum);   /*單缸循環供油量kg */
1 O( B. ^5 @: I        CA=A_SC*PI/180; /*進氣關閉時的角度轉弧度*/3 {& I( ^2 e! D+ l
        V=V_CA();/*進氣關閉時角度下的氣缸容積*/
( \! y, T5 \) e5 ^8 t7 w4 H0 m# q        P=P_SC;1 p. A* h4 F0 H; M/ {
        T=T_SC;
+ a& `& Q- L% {/ G' ?7 ~# e        index=(int)A_SC;6 z) ?) a* l7 `$ ~7 _+ P2 e
        m_T[index]=T;3 {+ c* n! p1 a
        m_P[index]=P;5 }# y% G# ?6 @' r
        m=P*V/(R*T);/*進氣關閉時角度下的氣缸內工質質量*// ]) u; f2 M5 z1 S9 p5 t0 K. O
        mL=m-0.01*mBo;/*進氣關閉時角度下的氣缸內空氣質量*/: N3 y( v/ H+ W9 R
    mf=m-mL;
  \$ _+ ~# V( @6 _5 ^. ]        Tpre=T;8 \& H) {4 h# j! O7 y4 h
        an=A_SC+1;
) `  P! N# t8 X. T3 U; ]# D
' v! o- Q$ f1 [* Z) b- _        do{
6 K2 I& K& b& P* s( R8 R9 O9 k: [' l' I3 T. s. L* z. ~
  /*B 編寫歐拉法求解常微分方程程序 */
! M2 l/ ]; X+ U, o0 Q# I  R9 U; @" \9 i
        }while(an!=A_SC+1);+ f. ~% }& h2 _5 C6 ~
}/ X$ `4 D8 e0 t, x  q% f7 ^1 i

! W1 X$ }& H3 cvoid main(void): S3 d$ H5 }7 {- T/ D- a
{9 H, G, i3 e3 m% }# ~) D. R! G7 E+ O
        int i;
& ^" a/ T& c0 T7 b, C        FILE *fp;
" M0 }& J* K! ?* E& G2 G4 [4 U        D=0.11;   /*發動機數據按各自的任務書輸入 */1 `6 v. }9 P* n/ ?
        S=0.13;
/ `/ P  S! R( I8 k) J3 |9 f        L=0.21;/ s- n+ ~  z+ H# l2 n  @1 d4 r3 o
        ge=236.0;; [3 R: l0 R2 D. a5 [- F
        n=2400;
1 x0 D. V% O% l! C. v+ |3 B' }        Ne=101568;
7 B: n$ h( D, ^& V7 x5 y        gnum=6;  ysb=17;   M=0.7;7 u+ m0 _9 c5 w$ z7 ]) z
        Hu=41868000;
- p. T5 u$ K. D. R: X* D3 ?: K9 n& P- T        R=287.08;
( W) Q# M$ }$ s        Pa=101000; /*大氣壓力*/
. [( [6 i1 A5 b% {7 o0 p+ X        Ta=300;    /*大氣溫度*/4 L* W9 [& e( r7 t( o7 K
        hs=(735.0+R)*Ta;  /*大氣焓值*/) ?" u; l1 `! i5 d7 u( o% O! y# A
        P_SC=90000;
3 H& `- Z$ C6 a% |        T_SC=313;# d, ]% R# P  B/ B6 Q. ]

' e/ `+ V6 h# T$ }5 p        A_SC=216; /*進氣門關閉*/: w$ ?; d+ h( r. i# ]/ K- Z; b
        A_CB=350; /*燃燒開始*/! k' m2 p! C' w4 B
        A_CE=410; /*燃燒結束*/
/ p: `; {1 u; w; x& A2 @% J        A_EO=484; /*排氣門開啟*/( ]' R; b1 ]$ V0 F% s1 Y* s0 D
        A_SO=705; /*進氣門開啟*/- \8 `5 Z/ v  d/ P; C5 D+ U; p
        A_EC=15;  /*排氣門關閉*/, o8 |2 F. |: I% T+ p* ^
, |; y" M. `: E0 e4 P7 ?
        Lo=14.4;2 l* A/ n- H4 E, B% j7 ^
# A( U$ V6 r; Y1 E+ u: d5 l
    for(i=0;i<720;i++)
( V; i0 u* z$ ?+ z( C% B* f        {
2 y# s, T- `! F! y: G                m_P[i]=0;
7 O: H6 p$ b/ _0 l8 Y5 W$ y                m_CA[i]=i;* t) I0 D+ i0 {4 E! M+ `
                m_T[i]=0;
  s6 w) f; N' P2 p' `        }
8 Q5 n0 J6 D+ _' w6 C: v! M7 n
# M1 V1 B5 g+ X' Q; f' G2 c        Calculate();! s7 e2 m+ n2 Z
; n; S8 P# d& f% C# M7 D
    /*C編寫數據輸出程序,計算結束后按順序輸出0-720轉角的“缸壓,溫度”數據到outdata.txt文件 */& i2 G& y) `4 f$ N

3 z5 i3 [! T' Q3 }}
4 j! r* X1 V% `3 ]9 `) C  H% X6 F  d% ^6 T, L
  b3 k7 E7 ?# ^1 P& H8 U6 F9 i
回復

使用道具 舉報

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-11 13:05 , Processed in 0.087252 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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