久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3645|回復: 2

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

[復制鏈接]
1#
發表于 2015-6-28 22:58:34 | 只看該作者 |倒序瀏覽 |閱讀模式
#include "math.h"
0 J( d' o% N2 f/ t* m9 v, S#include "stdio.h": b( [$ k' }2 g1 I* `& R
#define PI 3.1415926
& k  O* {0 Q8 z9 R& d8 U5 N
" k2 T0 a/ B' O4 D; Ydouble D,S,L,ge,n,Ne,gnum,ysb,Hu,Lo,M,R,P_SC,T_SC;
! P! d' |5 I9 X; I  t/*缸徑、行程、連桿長、比油耗、轉速、功率、氣缸數、壓縮比、低熱值、理論空燃比、Weibe函數常數m、氣體常數、進氣門關閉時壓力和溫度 */
* {$ A7 M7 N# g2 U5 T0 U        double m_T[720],m_P[720],m_a[720];
6 B$ f3 N! n5 N% [4 D/*氣缸溫度、壓力、瞬時過量空氣系數 */- {% A+ F1 s- _
        int m_CA[720],A_SC,A_CB,A_CE,A_EO,A_SO,A_EC;- ?/ `+ P! A6 ^3 A' v0 [
        double Pa,Ta,hs,P,V,T,CA,m,mf,nmd,Pe,mBo,mL,dXY;
5 m' s& J, g% ^* F$ }  I! s" C" p        double Cv();6 W, M$ e1 s7 o4 e4 r) i4 e. I+ f$ j
        double dV_dCA();4 U- L9 @. F/ [% y4 B
        double dQw_dCA();* X, l/ _9 G) O4 p7 u  e9 T
        double dQB_dCA();0 Q% y7 Q: P3 j. J7 q
        double U();% N# o, q: p2 c1 \7 i* c( L% r
        double V_CA();
) A% n! B0 z; T$ a. K        double dU_dnmd();
8 ^* Q" I4 X* O% F; T- e        double dT_Ys_dCA();5 \' r4 k- C6 W8 P) v
        double dT_Pz_dCA();
# X) b/ E- E; Z7 G" `        double dT_Rs_dCA();
' Q  w  z  ^  C$ H' [6 l        double dT_Hq_dCA();5 |3 y# ^9 t  s$ a
        double dT_dCA(double an);4 d" Z! J' n* V- E" a( K+ d/ x* ?
        void Calculate();
! g$ A+ _  _3 h8 c, T; `8 L, N; J
, }) ^) ]$ m9 \1 T/* A編寫各子函數程序*/' p. b' m5 a2 \! e
        double Cv() /*求定容比熱*/
" q" J8 ^* ~0 F/ d, I{' U+ R* Y- ]# i% Z

) U3 K% i# O2 b& z}5 D& W  j: V$ P/ {

4 ~, \5 @+ O2 Y
/ W: b# Q' G: P4 c% i9 `  U/ odouble  dV_dCA() /*求dv/dφ*/7 _4 z  k9 x8 {( |0 t4 X- v
{$ p0 T& S* D: L# ], [
: D1 H, L# ]' ~. t
}3 }, e) U; _) D  p

% `/ O  ^/ H1 L! m. y* {$ t; y; l' _' t
double V_CA() /*求氣缸容積*/
; u3 T8 Z( w- K{8 k8 E4 A" l; z1 H
. N! }& @6 K4 v$ a  ~. V
}
) o" u+ x# V2 F1 Y4 M9 c
0 s: K8 j" M9 T7 K3 ?( a0 U& Q( x  j4 o% r  B; R+ t7 C
double dQw_dCA() /*求dQw/dφ*/, V3 k0 z$ ?$ N  P) n
{
% W* j1 r* _& I' r
# }9 C2 g) A& m% _6 _: E}$ f! C+ V5 \+ c" }

4 w7 s3 V3 ?) q, `
' A  u( X, v1 e3 I) z7 ]double dQB_dCA() /*求dQB/dφ*/) Q# q( @# _) a, Q5 s
{* Y: V, q, @2 e: @2 K" j) i
5 i9 u1 {7 r7 C2 e
}( X6 [8 B# p' g* |* G/ i6 J; F( b
5 h# p5 ?6 j/ d  y: Q: w6 h, R3 `
1 U9 H/ c) m# T' k8 S% R) L
double U() /*求u*/
: m2 j! F3 i4 k% M0 S( d$ _{
5 U# b7 h$ N+ w3 L$ v5 A
" W+ n* R) a1 C: Q}
' F5 y" C" @/ A, }5 w; d# s
( _# Q3 J6 a5 ]' t$ G. R
. @( i4 h! k3 H- c. O5 N# @. Pdouble dU_dnmd()  /*求du/dλ*/
; ?7 {! S7 p" X" G; Q, F# U{
- O$ z5 A( h& m5 T, u0 B/ A( S) `% ^" H3 s' H6 B' s$ [/ R
}
5 p) U6 m) ]5 |; z. b5 I; s$ Z  s, n' r" @, N6 V
double dT_Ys_dCA() /*壓縮期*/
  H" s& h; c2 E% y4 }( r{
  c: v6 ^# s- N9 V6 A' k+ G* m4 Z0 L6 F/ x* ^" B$ X
}
( ^8 I, g6 y' `- x( V7 `) a
0 [5 x, u+ A+ P% `4 J) N7 J) L% B0 F& b7 n0 }/ [. X: w
double dT_Pz_dCA() /*膨脹期*/
+ o  ?; A' a8 ?  O{+ s. S  Z! Z3 h" C& q! q
4 z5 T* b  V, F% c
}
  ?8 m; g0 F4 I2 |3 J+ l& n# v0 M/ s+ y: M
4 G0 ~) x" I7 l. D3 v1 |! X
double dT_Rs_dCA() /*燃燒期*/( j* t+ J$ f4 A7 S" \
{
/ ?* {0 i# e1 L, `, j8 M
9 J6 [1 B1 x7 Y# o6 m& }8 c: g( N}% W0 g0 N  z- l6 t

* N3 x3 N# q2 G9 V
0 y5 S5 _! J) O+ K6 Zdouble dT_dCA(double an) /*求dT/dφ*/
: w* C3 R3 e  \& l, D! u{
# B8 F; g# p) }) K" u0 d0 |/ O8 {        CA=an*PI/180;) a5 n! ]6 O- L: E
        V=V_CA();
( G+ u4 B: K4 c5 c        if(A_SC<an && an<A_CB)   return dT_Ys_dCA();
0 Z* i* C5 [. @' k1 I        if(A_CB<=an && an<=A_CE) return dT_Rs_dCA();* h2 x' r% s; }. O# R
        if(A_CE<an && an<=A_EO)  return dT_Pz_dCA();+ }" _. w) Z( Z0 j
        if(A_EO<an && an<=A_SO)    /*換氣過程不計算,線性賦值,避免零值 */
7 n$ s8 h. j4 S3 j- R% \6 f& y7 P" Y                P=110000+(m_P[(int)A_EO]-110000)*(A_SO-an)/(A_SO-A_EO);- ?1 P4 ]6 v! l- B/ t" a
    if(A_SO<an || an<A_EC)
0 H8 A2 j% D4 ~9 e" u                P=110000-20000*(an>A_SO?an-A_SO:an-A_SO+720)/(A_EC-A_SO+720);
' T9 D: O. m  ?/ @" r9 y        if(A_EC<=an && an<=A_SC) P=90000;( c, g! H+ O# N% k" K
        return 0;
  S" d3 p: c( c! W$ y, Q7 H! U}5 Z1 q( @7 a; H! e5 A8 S. T8 F
* w# u3 C0 G$ x# r% d
void Calculate(void)( N3 a! A- p5 }7 n
{
* _" c+ x& w( p    double Tpre,K1,K2,an;( k) y7 |- v; U: \# l2 a/ ~; l
    int index;3 \( V( b7 y: m$ ?4 {1 J
        Pe=30*4.0*Ne/(gnum*100000*n*S*PI*D*D/4);  /*平均有效壓力bar*/. P2 g$ I: ^5 X# a) U
        mBo=Ne*ge/(30000000*n*gnum);   /*單缸循環供油量kg */
# i- E' I0 h2 y5 C8 ^5 H3 ?        CA=A_SC*PI/180; /*進氣關閉時的角度轉弧度*/2 a( |" D2 k- Z: H
        V=V_CA();/*進氣關閉時角度下的氣缸容積*/! W" x% `) y1 g" B5 n5 N
        P=P_SC;
- j; N4 D' s  G) b* _        T=T_SC;
& {+ j. }3 J+ I- z# Q; r        index=(int)A_SC;
$ Z' G& W: O+ l! N/ c1 \+ A! O7 Q        m_T[index]=T;
, F4 q2 u! V7 }        m_P[index]=P;
# ], I# ~( J7 j4 L. K6 Z5 ^        m=P*V/(R*T);/*進氣關閉時角度下的氣缸內工質質量*/3 b. H. Q9 ]1 [4 _
        mL=m-0.01*mBo;/*進氣關閉時角度下的氣缸內空氣質量*/" A8 T9 V& F3 V. p% z
    mf=m-mL;" x! D& x9 u; l
        Tpre=T;9 ]( ]4 L2 s% Q5 E6 Y4 x: {, L
        an=A_SC+1;3 c+ U& b. C! n& `' d

* Z& g3 [' [  n' m        do{
  h  V( E/ ^. u6 v0 g2 A, e, P* d3 R+ O( B
  /*B 編寫歐拉法求解常微分方程程序 */1 \  f8 U% h; w) F
( H1 m' W" k  U: P. L8 k
        }while(an!=A_SC+1);$ I1 X. ~1 J% H/ T; {
}
4 `( `& V+ a  P4 T  R: X
- @; S1 p& [' {2 q4 T7 M. Ovoid main(void)7 E) {4 w: l0 V2 Q, [# C. ?' ]2 f
{
  z6 C% v; {) n) }+ {        int i;
8 H3 ^1 ~( ^" h& c        FILE *fp;
# G$ d) @2 |8 R' j& S        D=0.11;   /*發動機數據按各自的任務書輸入 */
- E5 k& c2 k" ?; J. C        S=0.13;" z% L  u9 C- e: ^% V
        L=0.21;6 B% r+ O+ l* m, e$ p4 Z; o, x" n
        ge=236.0;2 R: U, D; q, u3 k+ O
        n=2400;( Z+ L! f6 X% ^, q0 F* k, T$ }
        Ne=101568;  T$ D" v9 _( V4 u! m& m
        gnum=6;  ysb=17;   M=0.7;
; m+ U% U+ ~7 Q% W/ P" t        Hu=41868000;: M+ h4 ]/ F5 @' U1 G
        R=287.08;* P8 v# W1 `- V8 P( O/ N
        Pa=101000; /*大氣壓力*/) b5 G3 w5 [  K: K* W/ \0 D
        Ta=300;    /*大氣溫度*/! P5 t+ k3 Y( u
        hs=(735.0+R)*Ta;  /*大氣焓值*/
3 c/ |3 B% c! k' P/ T$ |        P_SC=90000;; H' L. r3 _) [# k
        T_SC=313;
2 C5 N! a' r2 z3 w5 w6 Y; Q6 _+ ^  E7 F# t0 N
        A_SC=216; /*進氣門關閉*/3 B$ K2 ?8 ?6 ~+ [8 b' o
        A_CB=350; /*燃燒開始*/
* f# x. p7 {- E: N+ A2 X: s% O        A_CE=410; /*燃燒結束*/
' R+ }: \7 I& l' [        A_EO=484; /*排氣門開啟*/
7 _! K2 Q8 L) i5 m4 g; ?        A_SO=705; /*進氣門開啟*/+ R- Y* W9 o0 M, h1 y6 {$ d
        A_EC=15;  /*排氣門關閉*/; P- U2 W  V4 I) Q" s, Y: a1 ]

$ T# l: {1 @. I9 Q3 d        Lo=14.4;/ b- F! F; M; K
. x$ \% O" e& ?3 u
    for(i=0;i<720;i++)  G  D+ @4 J: Q$ M
        {2 W6 S3 J/ U6 G% i# \0 G- ~9 _0 P
                m_P[i]=0;
) i5 m" L; R1 M4 D7 E                m_CA[i]=i;
3 G7 k& X3 B! k% j7 F* k% |                m_T[i]=0;
9 E" p4 i5 n& b) B4 T        }
; v8 R5 V. d% W1 k: W
% t9 M: u3 l) G2 g$ Z; ^$ F& l        Calculate();2 O) t4 A, \7 \- Y
) O# Z/ z. Q. p% {4 Z6 W$ q
    /*C編寫數據輸出程序,計算結束后按順序輸出0-720轉角的“缸壓,溫度”數據到outdata.txt文件 */
+ N8 V, y5 Q6 E1 E. M$ G
; i3 @  Q( b0 w+ V}8 b* R4 I8 ?2 U4 w$ a% s  Q
3 [8 a) O, b1 x- a

% k: ?& d! g) R* `% 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-7-20 00:06 , Processed in 0.070920 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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