Professional Documents
Culture Documents
50050277
50050558
50054584
2553
1
50050277
50050558
50054584
2553
2
:
:
:
:
:
50050277
50050558
50054584
2553
..
.
..
__________________________________
(
..
_______________________________
( . )
_______________________________
( ..
_________________________________
( ..
:
:
:
:
:
2553
..
.
..
3
3
1.5-2.5
2.5 90
FLUENT
GAMBITS 2
4.5
0 164
/ 1 4
3
11.05% 37.22%
159.08% 111.81% 40.15%
3.53
: , ,
,
Project Title
By
Degree
Major
Academic Year
Advisor
Co-advisor
Co-advisor
Abstract
This project focuses on the study of mechanical parameters for the design of a prototype
compressed air engine with a reciprocating three cylinder radial configuration. Compressed air is used as the
source of energy to power the engine rather than combustion heat.
The study was subdivided into three sections. In the first section the effect of varying the ratio of
connecting rod length to stroke (l/s ratio) and the resulting shaking force and torque where studied using
close form equations. The results obtained were in the expected range of l/s ratio of 1.5 2.5. It was found
that a 2.5 l/s ratio gave the lowest shaking force. Also the optimal crank angle degree for introducing the
compressed air to the cylinders was studied and a 90 CAD (Crank Angle Degree) was found to be the
optimal time to introduce the compressed air resulting in the highest achievable efficiency.
In the second section the flow of compressed air into the cylinders was studied using computational
fluid dynamics. The analysis of the flow through the intake and exhaust valves was modeled in Gambit and
Fluent CFD codes. A 1.5 mm intake valve lift was specified and the optimal configuration and number of
exhaust valves was determined from the CFD analysis. The results obtained showed that a two exhaust
valve with 4.5 mm lifts placed in line with the intake valve gave in the best flow pattern and exhaust air
removal efficiency. Next the optimal crank angle degree to open and close the intake valves was determined
and it was found that 0 and 164 CAD resulted in the maximum power/air consumption ratio per revolution.
In the last section stress analysis for the four main engine components: crank shaft, connecting
rods, main rod and piston was undertaken with the main objective being to optimize the weight, identify the
weakest (highly stressed) sections of each component and strengthen them. A total weight reduction of
11.05% was achieved and the maximum stress exerted on the connecting rods, the main rod, and the
crankshaft was reduced by 37.22%, 159.08% and 111.8% consecutively. The maximum stress on the piston
was increased by 40.15% as a result of a weight reduction of 56.15%. However, an adequate safety factor of
3.53 was still achievable and it was thus deemed safe for operation.
Keywords:
Compressed Air Engine, Reciprocating Engine, Mechanical Design, Strength Analysis
II
.. , . , ..
. , . .
Solidworks
2554
III
...I
Abstract...II
......... III
.VII
..... ..VIII
..XIII
1
1.1 ......................................................................................... 1
1.2 .......................................................................................................................... 1
1.3 ............................................................................................................ 1
1.4 ............................................................................................................... 2
2 3
2.1 ............................................................................................... 3
2.2 .................................... 6
2.2.1 ...................................................................... 6
2.2.2 ............................................................................................. 7
2.2.3
2.3
.................................................... 11
.............................................................................................. 11
2.3.1
............................................................................................ 11
2.3.2
........................................................... 12
2.3.3
........................................................................................................... 14
....................................................................................... 15
IV
2.4.1
.................................................................................................. 15
2.4.2
....................................................................................... 15
2.4.3
3
3.1 ................................................................................................................................. 17
3.2 ........................................................................................................ 17
3.2.1
...................................... 18
3.2.2
......................................................... 18
3.2.2.1 2 GAMBIT.18
3.2.2.2 2 FLUENT....20
3.2.3
SolidWorks ............................ 22
3.2.3.1 ..22
3.2.3.2 ..23
3.2.4
............................................... 24
3.3 .................................................................................................... 24
3.4 ................................................................................................................................ 24
3.5 ......................................................................................................................... 24
3.6
.......................... 25
4
4.1
................................................................................................................. 26
4.1.1
......................................................................... 26
4.1.2
........ 27
4.1.3
............................................................................. 28
V
4.1.4
................................................................................................................ 29
4.2
...................................................................... 30
4.2.1
.................... 30
4.2.2
Mesh ............................ 31
4.2.3
.................................................................................................... 32
4.2.4
...................................................................... 33
4.3
........................... 37
4.3.1
........................................ 37
4.3.2
..................................... 38
4.3.3 .................... 40
4.3.4 ............................................................. 43
4.4 ........................................................... 43
5
5.1 .............................................................................................................. 47
5.2 ............................................................................................................. 47
5.3 ...................................................................... 48
49
SolidWorks ......................................................................... 52
. ........................................ 62
.
(CFD)
FLUENT ........................... 80
. .......................................................................... 103
.....108
VI
2.1
2.2
2.3
3.1
3.2
3.3
4.1
4.2
4.3
4.4
4.5
4.6
5.1
.1
.1
.2
grid
[4] Matlab
grid
VII
3
4
5
18
23
25
31
34
36
38
38
41
47
71
82
93
2.1 ,
2.2 () ,
()
2.3 ( ), ()
2.4 ,
2.5 (Discharge coefficient)
( , AE/
,AC )
2.6 rms
rms
360
200 6
2.7
3.1 GAMBIT 2D-A
3.2 GAMBIT 2D-B
3.3 GAMBIT 2D-C
3.4
3.5
3.6
3.7
VIII
6
8
9
10
12
13
14
19
19
20
22
22
22
22
3.8
3.9
4.1 0-360 4
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
( /S)
0 180
x y
Grid independence mesh 4
10
10
164
30 60
150 180
(),(),(),()
IX
24
24
26
27
28
29
30
31
32
33
34
35
37
37
37
37
40
40
41
4.18
1
4.19
1
4.20
1
4.21
1
4.22
4.23
4.24
4.25
4.26
4.27
.1 PistonCrankcase
.2
.3 Analysis
.4 CrankShaft Crankcase
.5 CrankShaft MainRod
.6 CrankShaft Catch
.7 Plane CrankShaft Catch
.8 Catch
.9 Catch
.10 Sensor
.11 Plane Sensor
.12 Sensor
.13 Sensor
.14
.15
.16 Sensor
.17
X
42
42
42
42
43
44
44
45
45
46
52
52
52
53
53
54
54
54
54
55
55
56
56
56
57
57
57
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.1
.2
.1
.2
.3
.4
.5
.6
.7
.8
.9
.10
.11
.12
.13
58
58
58
59
1
59
59
60
60
Von Mises
60
61
61
,
63
R
F N
66
() , ()
80
1
81
2
81
3
81
2 GAMBIT (1)
82
2 GAMBIT (2)
83
2 mesh GAMBIT
83
84
85
86
GAMBIT
86
87
Grid
87
XI
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
.33
.34
.35
.36
Grid
Mesh Interfaces
smoothing
Remeshing
In-cylinder
mesh
mesh
mesh
mesh
mesh
Residual Monitors
Iterate
XII
88
88
89
89
90
90
91
91
92
93
93
94
95
95
96
97
98
99
99
100
100
101
101
(MPa)
(MPa)
(MPa)
xy
xy
(MPa)
xz
yz
(MPa)
yz
yz
(MPa)
( )
( )
( TDC BDC)
(
)
(m)
XIII
(m)
(m)
(deg)
(m)
(m/s)
(m/s2)
(rad/s)
(m)
(deg)
1
1.1
1.2
1.
2.
3. 3
1.3
1.
3
2. 2
1
3. 3
3
1.4
1.
2.
3.
2
2.1
2
(Reciprocating Air Engine) 2.3
(Rotary Air Engine) 2.2
2
[1] 2.2
2 2.1
2.1 Reciprocating Air Engine Rotary Air Engine [8]
2.2
[11]
400
250 N-m
12 kW
500 rpm
4 bar
200
30 N-m
1.5 kW
500 rpm
4 bar
160 W
160 rpm
8 bar
5-7 kW
2000
rpm
6.5-9.3 bar
[11]
25 N-m
12 N-m
165
[12]
0.005 s
150
[1]
2.3
[13]
3 ,
50 , 400 Nm
65
5 kW
120 rpm
7 bar
8 ,
10 ,
25
1500 rpm
4 bar
4 ,
800
18.64 kW
113.76 bar
3 ,
6.35
0.7 bar
[14]
[10]
[15]
2.2
2.2.1 [18]
2.1 ,
()
( )
(
)
( )
( TDC BDC)
(rad/s)
*
(2.1)
(2.2)
6
(2.3)
(2.4)
( /S Ratio) [11]
( /S Ratio) 1.5-2.5
2.2.2
[4]
2.2 2.5
(2.5)
( )
()
2.2 () ,
() [4]
2.3 2.6
(2.6)
(
(2.7)
(2.8)
B
O1
B
O1
()
()
2.3 ( ), ()
[4]
[18]
2.4 2.9
)
(2.9)
O1
()
()
2.4 , [17]
[
)+]
(2.10)
(2.11)
(2.12)
10
(2.13)
2.2.3 [18]
2.14
(2.14)
,
) t
2.3
2.3.1 [12]
2.5
(Valve Seat)
(Valve Face)
11
Valve Seat
Valve Face
2.5 (Discharge coefficient)
(, AE/,AC )
[12]
2.3.2 [12]
10
2.6
1
LDA (Laser Doppler Anemometry)
(shear layers)
12
2.6
rms
rms
36o 200
6 [12]
2.7
13
2.7
[12]
2.3.3 [20]
2.15
(2.15)
(Pa),
(K)
(m3),
(J/mol-k)
2.4
2.4.1 [1]
(stress)
(2.16)
= (MPa), = (N) =
(mm2)
3
1. (Tensile Stress)
2. (Compressive Stress)
3. (Shear Stress)
2.4.2 [1]
(exact solution)
(node)
15
(2.17)
(S.F.) =
16
3
3.1
4
1.
2. SolidWorks
1
GAMBIT FLUENT
3. 3
SolidWorks
Von Mises Stress Safety Factor
1
-
- 0.2
SolidWorks
-
4.
3.2
3.1
17
3.2.1
1.
, , ,
2.
3.
4.
5.
6.
/ /
7. ( /S Ratio)
3.2.2
3.2.2.1 2 GAMBIT
2
3.1
3.1
30
30 60
10
90
1.5
90
370 1.5 4.5
15
18
10
45
3-4-5[17]
8
45
3-4-5[17]
,
1 ,
0.2
2D-A 3.1
1
2D-B 3.2
19
2 2D-C 3.3
3.2.2.2 2 FLUENT
1. mesh GAMBIT
FLUENT
2. FLUENT
Dynamic Mesh
( .3)
3. :
[5]
( P) 101,325 Pa
0 Pa
4. 6,000 Solid
Works
20
21
3.2.3 Solidworks
3.2.3.1
1.
3.4
3.5
3.6
3.7
22
2. ( .1)
0.2 ()
3. 3.2
3.2 Solidworks
Frame Rate
430 N ( 6 bar)
1000 Frame/s
SI2_GSTIFF
1s
Aluminium Alloy 2024T3
4.
5.
6. Von Mises Stress 1 (
.3)
7. ( .4)
8. 6 7
1
9.
3.2.3.2
3.8 3.9
SolidWorks
1. 3.8
23
3.8
3.9
2.
3.
4.
5.
3.9
6.
3.2.4
3.3
- 6
- Solidworks , Ansys , Matlab
3.4
13
3.5
1. Solidworks
2.
24
7,000
3,000
10,000
3.6
3.3
25
4
4.1
4.1.1
4.1 0-360 4
(l/s)
4.1 4
90
26
4.1.2
4.2 0 180
4.2 40
30 75
76.34
27
4.1.3
4.3 x y (l/s)
4.3
x x
y x
l/s 1.5 x 115.5
l/s 2.5 x 104
28
4.1.4
4.4
4.4
0 180
90 90
l/s 90
l/s
90
90
29
4.2
4.2.1
4.5
4.5
4.5
30
4.2.2 Mesh
4.1 grid
0.037252%
0.423519%
0.125158%
55.2971%
27.04113%
2.86475%
4.6 4.1
grid 74,822cells grid
167,207cells grid 74,822cells 3
grid 74,822cells
31
4.2.3
(2D-B 2D-C) 2D-B
1.5 (2D-B Lift1.5) 4.7
4.7
4.7 90
180 (BDC)
2D-B 1.5
4.5 (2D-B Lift4.5)
180
2
4.5 (2D-C Lift4.5)
32
180
2552.871 Pa
4.2.4
4.2.1 2D-C
4.5
4.8
4.8 10
33
4.9 10
4.2
10
10
10
()
90
130
150
87.4481
138.8401
157.8617
10
160
163.8659
10
162
10
()
(Watt)
/
1
1
(Kg/)
(W/(kg/))
0.0016614
52,635.19
0.0021791
63,714.42
0.002423
65,151.34
65,160.61
163.5563
0.0025148
0.0025228
164
164.8655
0.002530
65,164.63
10
166
163.8449
0.0025447
64,386.73
10
168
164.0350
0.0025532
64,246.83
10
10
170
175
163.3902
162.7704
0.0025615
0.0025735
63,786.92
63,248.65
34
64,831.26
4.8
4.2 /
1 150 170
160 175
4.2 / 1
160 150 175
170
160 170 162, 164, 166 168
164
/ 1
4.9 180
(160-170 )
4.10 164
35
4.3
()
0
6
10
()
164
164
164
169.3475
167.0657
164.8655
50
164
76.4982
(Watt)
/
1
1
(Kg/)
(W/(kg/))
0.0025378
66,730.04
0.0025342
65,924.43
0.002530
65,164.23
0.0023946
31,946.13
4.10
0, 6 10
50
10
[19] 50
4.3
0 /
1 0
36
4.3
4.3.1
[4]
2.5 2
4.11, 4.12, 4.13 4.14 ( )
4.11
4.12
4.13
37
4.14
4.4
(g)
33.36
12.95
5.52
18.64
70.47
(g)
14.63
12.01
3.97
32.07
62.68
%
-56.15 %
-7.26 %
-28.08 %
+72.05 %
-11.05 %
4.3.2
4.5
30
40
50
60
150
160
170
180
30
40
50
60
150
160
170
180
38
30
40
50
60
150
160
170
180
30
40
50
60
150
160
170
180
0.44
0.57
0.66
0.70
37.23
37.25
37.33
37.46
44.85
39.39
34.43
30.40
45.29
39.88
34.99
31.01
760.3
601.75
519.6
492.87
9.27
9.26
9.24
9.21
7.69
8.76
10.02
11.35
7.62
8.65
9.86
11.13
0.20
0.26
0.30
0.32
35.72
35.83
35.98
36.17
19.22
17.68
15.85
13.92
19.24
17.92
16.22
14.34
1,730.7
1,332.28
1,147.42
1,085.55
9.66
9.63
9.59
9.54
17.95
19.52
21.77
24.79
17.93
19.25
21.27
24.06
4.5 30-60
150-180
39
4.15
30 60
4.16
150 180
4.15 41.6
1
4.3.3
4.17
4.6 4.18, 4.19, 4.20 4.21
40
4.6
(MPa)
65.313
98.123
2221.4
253.13
172.13
118.12
701.23
178.32
()
%
+40.15%
-159.08%
-37.22%
-118.9%
()
()
()
4.17 (),(),(),()
41
4.18 1
4.19 1
4.20 1
4.21 1
42
4.21 2
4.3.4
4.22
43
4.23
4.24
44
(Face Cam) -
4.25
4.25
4.26
45
(rocker arm)
4.27
/
4.27
4.27
46
5
5.1
- 2
,
1.5 1
- 2D-C 4.5
180
-
0 164
/
-
1
5.1
(cm)
3
(Nm)
0.5 - 1
(bar)
1-6
1
(g/)
2.54
5.2
- GAMBIT FLUENT
dynamic mesh mesh
mesh
- Solidworks
10,000 RPM
-
Concentric
.1
47
-
-
5.3
-
48
[1] ,
,
2553, 11,21,27-28.
[2] Angelo D. P. 2005. Rotary Engine [Online]. Engine Air Home Page. Available:
http://www.engineair.com.au [Accessed 18th June 2010].
[3] Camm F. J. 2006. Model Engine News [Online]. Model Engine News Home Page.
Available: http://modelenginenews.org/ed.2006.04.html [Accessed 18th June 2010].
[4] Charles, E. W., and Peter, J. S. 1993. Kinematics and Dynamics of Machinery. (2nd ed.).
HarperCollins College. New York. 617-628.
[5] Chrysler 300 club international. 2008. Ram Theory [Online]. Chrysler 300 club Home
Page. Available: http://www.chrysler300club.com/uniq/allaboutrams/ramtheory.htm
[Accessed 24th March 2011].
[6] County College of Morris Randolph. 2008. 3 Sisters Engine [Online]. Tripod Home Page.
Available: http://npmccabe.tripod.com/3sisters.htm [Accessed 20th June 2010].
[7] Dassault Systemes SolidWorks Corporation. 2010. SolidWorks Simulation. Dassault
Systemes SolidWorks Corporation. Massachusetts. 17-18.
[8] Direct Industry. March 2010. Plastic piston air motor [Online]. Direct Industry Home Page.
Available: http://www.directindustry.com/prod/globe/plastic-piston-air-motor-23399203049.html [Accessed 20th June 2010].
[9] Glenn P. & Eric C. 2005. CFD Pressure Drop Study for AP Dynamics [Online]. AP
Dynamics Inc. Home Page. Available: http://www.ap-dynamics.ab.ca/index.php?page=
News [Accessed 29th December 2010].
[10] Hamilton, H. M., & Charles F. R., 1987. Mechanisms and Dynamics of Machinery.
(4th ed.).John Wiley & Sons. USA. 35-37,71-110,395-478.
49
[11] Hernandez, B. 2005. Rod/Stroke Ratio - What's Your Angle?. Honda Tuning. 7
(June, 2005), 26.
[12] John, B. H. 1988. Internal Combustion Engine Fundamentals. McGraw-Hill Book Co.
Singapore. 43-45,226-228,326-329.
[13] Lotus Group. 2010. Engine Simulation [Online]. Lotus Engineering Software Home Page.
Available: http://www.lesoft.co.uk/index1.html. [Accessed 25th November 2010].
[14] Motor Development International. 2008. Compressed Air Technology [Online]. Air Car
Compressed Air Technology Home Page. Available:
http://www.aircarcompressedairtechnology.com/engine-eng.php[Accessed 20th June 2010].
[15] Nick, P. 2009. Rotary vs. Piston Engines [Online]. UNC Home Page. Available:
http://www.unc.edu/~perza/rotaryenginephysproject4.html [Accessed 20th June 2010].
[16] Pavilcu Edyson. 2010. AxyCam-Compressed Air Engine [Online]. Bitraptor Home Page.
Available: http://www.bitraptor.com/en_axycam_air_engine.html[Accessed 20th June 2010].
[17] Quasiturbine. 2010. Quasiturbine QT5LSC Pneumatic [Online]. Quasiturbine Home Page.
Available: http://quasiturbine.promci.qc.ca/EProductQT600SCPneumatic.htm [Accessed
20th June 2010].
[18] Robert L. N., 1992. Design of Machinery. McGraw-Hill Book Co. Singapore. 331,522-608.
[19] Vsejasno. 2008. Pushrod V8 engine [Online]. LPE Power Home Page. Available:
http://www.lpepower.com/content/pushrod-v8-engine [Accessed 20th June 2010].
[20] Yunus, A. C., and Michael, A. B. (2007). Thermodynamics. (6th ed.). McGraw-Hill Book
Co. Singapore. 137-138.
50
51
SolidWorks
.1
1. File >> New >> Assembly >> OK
2. >> Browse >> Crankcase >> OK
3. 2 Piston >> Mate >> Piston
Crankcase >>
.1 PistonCrankcase
.2
( )
.3 Analysis
52
6.
.4 CrankShaftCrankcase
.5 CrankShaftMainRod
53
.6 CrankShaftCatch
.7 PlaneCrankShaftCatch
10.
.9 Catch
.8 Catch
54
11. Sensor >> Advance Mate >> Hinge >> .10 >>
.10 Sensor
12.
Sensor
.11 PlaneSensor
13. Sensor
- Sensor >> Add Sensor
- Sensor Type Proximity >> Sensor <1> .12 >>
24 mm >> Catch <1> >>
55
.12 Sensor
.13 Sensor
>> >>
()
>>
() >>
(
) >> 430 N ( 6 bars) >>
3
()
.14
56
4. Force2()Force3(
) off
.15
5.
Sensor .16
.16 Sensor
6. Key Properties()
.17
7.
57
.18
8.
9.
-
-
.19
.20
.3
1.
1 .21 .22
58
.21
.22 1
.23
59
1
2
3
4 Frame 5
5 Frame1
3.
.24
4.
Run
.25
60
.4
1. Simulation >> New Study >> Buckling >>
2. Fix Geometry >> .27 >>
.27
.28
4. Run
5. R esult >> List Buckling Load Factors
61
.1
3
,
2
(.1-1)
x r cos t l 1 sin t
l
) ]
]
}
[
( )
) ]
) ]
62
(.1-2)
.1 [18]
63
.1 [18]
64
)++
*
(
)+ *
)+
)+ *
) +
65
(.1-3)
.2 R F
N [4]
|
= -1
= 0
= +1
(
(
)
)
66
|
|
67
.2
(.2-1) Matlab
Matlab
1) rpm
2)
3)
1)
2)
3)
rpm = 8000;
r = 30/1000;
l = 70/1000;
openAngle = 0;
closeAngle = 360;
Fgmax = 40;
mew = 0.1;
m3 = 20/1000;
m2 = 50/1000;
rG2 = 0;
m4 = 20/1000;
lb = .5*l;
res = 20000;
rCrankShaftJoint = 10/1000;
rPistonJoint = 10/1000;
rConnectingRodJoint = 10/1000;
mewCrankShaftJoint = 0.1;
mewPistonJoint = 0.1;
mewConnectingRodJoint = 0.1;
phase = [0 120 240];
pistonAngle = [0 120 240];
inLinePos = [1 2 3];
68
%res = 1;
w = rpm/60*2*pi;
t = 0:2*pi/w/res:2*pi/w-2*pi/w/res;
la = (l-lb);
wt = w*t; %w = rad/s
Fg = zeros(1,length(t));
Fg(floor(openAngle/360*length(t))+1:floor(closeAngle/360*length(t))) = Fgmax;
thetaCorrect(floor(openAngle/360*length(t))+1:floor(closeAngle/360*length(t))) = 180;
coswt = cos(wt);
sinwt = sin(wt);
trm1 = sqrt(1-(r/l.*sinwt).*(r/l.*sinwt));
trm2 = -r*w*w;
x = r*coswt+l.*trm1;
v = -r*w.*(sinwt+r/2/l*sin(2.*wt)./trm1);
a = trm2.*(coswt-r*(l*l.*(1-2.*coswt.*coswt)-r*r.*sinwt.*sinwt.*sinwt.*sinwt)./sqrt(l*l-(r.*sinwt).*(r.*sinwt))./sqrt(l*l-(r.*sinwt).*(r.*sinwt))./sqrt(l*l(r.*sinwt).*(r.*sinwt)));
signC(mod(wt,2*pi)<pi) = 1;
signC(mod(wt,2*pi)>pi) = -1;
signK(mod(wt,2*pi)>3*pi/2) = -1;
signK(mod(wt,2*pi)<3*pi/2) = 1;
signK(mod(wt,2*pi)<pi/2) = -1;
tanPhi = r.*sinwt/l./trm1;
phi = atand(tanPhi);
correctK = mewConnectingRodJoint*rConnectingRodJoint*signK + mewPistonJoint*rPistonJoint*signK;
theta = thetaCorrect - asind(-1.*correctK./l)-phi;
F14 = Fg.*tanPhi./(1+mew*tanPhi);
F14nf = Fg.*tanPhi;
F34 = -Fg./(cosd(theta)+mew.*abs(sind(theta)).*signC);
F43 = F34;
C34 = F34*mewCrankShaftJoint*rCrankShaftJoint.*signC;
C43 = F43*mewConnectingRodJoint*rConnectingRodJoint.*signC;
Tg21 = F34.*cosd(theta).*sinwt.*r-F34.*sind(theta).*coswt.*r-C34-C43;
Tg21nf = r*coswt.*F14nf+r*sinwt.*Fg;
m3a = m3*lb*(la+lb);
m3b = m3*la*(la+lb);
m2a = m2*rG2/r; %%r = crnkshaft radius;
mA = m2a+m3a;%%m3x = connecting Rod Mass, m2 = crank Shaft Mass
mB = m3b+m4;%%m4 = mass piston
Fi14 = -mB.*a.*tanPhi.*x;
Fsx = mA*(trm2.*coswt)-mB.*a;
Fsy = mA*(trm2.*sinwt);
Ts = Fi14.*x;
eff = Tg21./Tg21nf*100;
efficency = trapz(Tg21)./trapz(Tg21nf)*100;
Tst = zeros(length(phase),length(t));
Tg21t = zeros(length(phase),length(t));
Fsxp = zeros(length(phase),length(t));
69
Fsyp = zeros(length(phase),length(t));
Fsxt = zeros(length(pistonAngle),length(t));
Fsyt = zeros(length(pistonAngle),length(t));
totalTs = zeros(1,length(t));
totalTg21 = zeros(1,length(t));
totalFsx = zeros(1,length(t));
totalFsy = zeros(1,length(t));
totalMy = zeros(1,length(t));
totalMx = zeros(1,length(t));
%plot(Fsx,Fsy);
for i=1:length(phase)
%%Shaking Torque of each piston about Z Axis
Tst(i,:) = circshift(Ts',round(phase(i)/360*res));
%%Compressed Air Torque of each piston about Z Axis
Tg21t(i,:) = circshift(Tg21',round(phase(i)/360*res));
%%Shaking Force of each piston in piston's X Axis
Fsxp(i,:) = circshift(Fsx',round(phase(i)/360*res));
%%Shaking Force of each piston in piston's Y Axis
Fsyp(i,:) = circshift(Fsy',round(phase(i)/360*res));
end
for i=1:length(pistonAngle)
%% Array of Shaking Force in Global x Axis of Each Piston
Fsxt(i,:) = Fsxp(i,:).*cosd(pistonAngle(i))-Fsyp(i,:).*sind(pistonAngle(i));
%% Array of Shaking Force in Global y Axis Each Piston
Fsyt(i,:) = Fsxp(i,:).*sind(pistonAngle(i))+Fsyp(i,:).*cosd(pistonAngle(i));
%% Array of Moment about Global x Axis Each Piston
Mxt(i,:) = Fsyt(i,:)*inLinePos(i);
%% Array of Moment about Global y Axis Each Piston
Myt(i,:) = Fsxt(i,:)*inLinePos(i);
end
sizeTst = size(Tst);
for i = 1:sizeTst(1)
totalTs = totalTs+Tst(i,:);
totalTg21 = totalTg21+Tg21t(i,:);
end
sizeTst = size(Fsxt);
for i = 1:sizeTst(1)
totalFsx = totalFsx+Fsxt(i,:);
totalFsy = totalFsy+Fsyt(i,:);
totalMy = totalMy + Myt(i,:);
totalMx = totalMx + Mxt(i,:);
end
totalTorque = totalTs+totalTg21;
plot(wt*180/pi,theta);
plot(wt*180/pi,-Tg21);
hold on
plot(wt*180/pi,Tg21nf);
plot(wt*180/pi,totalTs);
plot(wt*180/pi,totalTorque);
plot(wt*180/pi,totalFsx);
plot(wt*180/pi,totalFsy);
plot(wt*180/pi,totalFsx);
plot(wt*180/pi,totalFsy);
70
30 70
40 10
0.1 45 .1
.1 [4] Matlab
[4]
Matlab
-1273 N*m
-1273 N*m
%
0%
Matlab
71
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using SolidWorks.Interop.swmotionstudy;
using System.IO;
using System;
//using SwMotionStudy;
using System.Diagnostics;
namespace pistonSetup.csproj
{
public partial class SolidWorksMacro
{
public void Main()
{
ModelDoc2 swDoc = null;
PartDoc swPart = null;
DrawingDoc swDrawing = null;
AssemblyDoc swAssembly = null;
MotionStudyResults myMotionResult = null;
CosmosMotionStudyResults myCosmosResult = null;
CosmosMotionStudyProperties myCosmosProps = null;
MotionStudyProperties myMotionProps = null;
Component2 comp = null;
bool boolstatus = false;
int longstatus = 0;
int longwarnings = 0;
swDoc = ((ModelDoc2)(swApp.ActiveDoc));
airEngine myForm = new airEngine();
myForm.ShowDialog();
double connectingRodCMyMax = myForm.connectingRodCMyMax / 1000;
double connectingRodCMyStep = myForm.connectingRodCMyStep / 1000;
double connectingRodCMyMin = myForm.connectingRodCMyMin / 1000;
72
73
double crankShaftMass;
double openValveAngle;
double closeValveAngle;
myForm.Dispose();
swDoc = ((ModelDoc2)(swApp.OpenDoc6("I:\\AeroProjectSeason2\\Assem1.SLDASM", 2, 0, "", ref longstatus, ref
longwarnings)));
swApp.ActivateDoc2("Assem1.SLDASM", false, ref longstatus);
swDoc = ((ModelDoc2)(swApp.ActiveDoc));
int fileCount = 2;
int count = 1;
for (connectingRodLength = connectingRodLengthMin; connectingRodLength <= connectingRodLengthMax;
connectingRodLength += connectingRodLengthStep)
{
for (connectingRodCMy = connectingRodCMyMin; connectingRodCMy <= connectingRodCMyMax;
connectingRodCMy += connectingRodCMyStep)
{
for (connectingRodMass = connectingRodMassMin; connectingRodMass <= connectingRodMassMax;
connectingRodMass += connectingRodMassStep)
{
for (crankShaftLength = crankShaftLengthMin; crankShaftLength <= crankShaftLengthMax;
crankShaftLength += crankShaftLengthStep)
{
for (crankShaftCMy = crankShaftCMyMin; crankShaftCMy <= crankShaftCMyMax; crankShaftCMy +=
crankShaftCMyStep)
{
for (crankShaftMass = crankShaftMassMin; crankShaftMass <= crankShaftMassMax; crankShaftMass
+= crankShaftMassStep)
{
for (openValveAngle = openValveAngleMin; openValveAngle <= openValveAngleMax;
openValveAngle += openValveAngleStep)
74
{
for (closeValveAngle = closeValveAngleMin; closeValveAngle <= closeValveAngleMax;
closeValveAngle += closeValveAngleStep)
{
MotionStudyManager motionStudyMgr = null;
motionStudyMgr=((MotionStudyManager)(swDoc.Extension.GetMotionStudyManager()));
boolstatus = motionStudyMgr.ActivateMotionStudy("Prototype");
swDoc.ClearSelection2(true);
motionStudyMgr=((MotionStudyManager)(swDoc.Extension.GetMotionStudyManager()));
MotionStudy myMotionStudy = null;
myMotionStudy = ((MotionStudy)(motionStudyMgr.GetMotionStudy("Prototype")));
boolstatus = myMotionStudy.SetTime(0);
motionStudyMgr=((MotionStudyManager)(swDoc.Extension.GetMotionStudyManager()));
myMotionStudy = ((MotionStudy)(motionStudyMgr.GetMotionStudy("Prototype")));
myMotionStudy.Duplicate();
motionStudyMgr = ((MotionStudyManager)(swDoc.Extension.GetMotionStudyManager()));
boolstatus = motionStudyMgr.ActivateMotionStudy("Motion Study " + count);
swDoc.ClearSelection2(true);
motionStudyMg=((MotionStudyManager)(swDoc.Extension.GetMotionStudyManager()));
myMotionStudy = ((MotionStudy)(motionStudyMgr.GetMotionStudy("Motion Study " + count)));
boolstatus = myMotionStudy.SetTime(0);
motionStudyMgr= MotionStudyManager)(swDoc.Extension.GetMotionStudyManager()));
myMotionStudy = ((MotionStudy)(motionStudyMgr.GetMotionStudy("Motion Study " + count)));
myMotionProps = myMotionStudy.GetProperties(myMotionStudy.StudyType);
//myCosmosProps.
boolstatus = swDoc.Extension.SelectByID2("Sketch1@ConnectingRod-1@Assem1",
"SKETCH", 0, 0, 0, false, 0, null, 0);
75
boolstatus = swDoc.Extension.SelectByID2("Sketch1@ConnectingRod-1@Assem1",
"SKETCH", 0, 0, 0, false, 0, null, 0);
swDoc.EditSketch();
swDoc.ClearSelection2(true);
boolstatus = swDoc.Extension.SelectByID2("D3@Sketch1@ConnectingRod-1@Assem1",
"DIMENSION", 0.004566647272856, 0.06128955778616, 0.072117260731, false, 0, null, 0);
Dimension myDimension = null;
myDimension=((Dimension)(swDoc.Parameter("D3@Sketch1@ConnectingRod.Part")));
myDimension.SystemValue = connectingRodLength;
swDoc.ClearSelection2(true);
swDoc.SketchManager.InsertSketch(true);
swAssembly = ((AssemblyDoc)(swDoc));
swAssembly.EditAssembly();
boolstatus = swDoc.Extension.SelectByID2("ConnectingRod-1@Assem1", "COMPONENT", 0,
0, 0, false, 0, null, 0);
swAssembly.EditPart();
MassProperty myMassProp = null;
myMassProp = ((MassProperty)(swDoc.Extension.CreateMassProperty()));
boolstatus = myMassProp.SetAssignedMassProp(connectingRodMass, 0, connectingRodCMy, 0, 1, null);
swAssembly.EditAssembly();
boolstatus = swDoc.Extension.SelectByID2("Sketch2@CrankShaft-1@Assem1", "SKETCH", 0,
0, 0, false, 0, null, 0);
swDoc.EditSketch();
swDoc.ClearSelection2(true);
boolstatus
=
swDoc.Extension.SelectByID2("D2@Sketch2@CrankShaft-1@Assem1",
"DIMENSION", 0.004566647272856, 0.0376942654041, -0.004877903884161, false, 0, null, 0);
myDimension = ((Dimension)(swDoc.Parameter("D2@Sketch2@CrankShaft.Part")));
myDimension.SystemValue = crankShaftLength;
76
swDoc.ClearSelection2(true);
swDoc.SketchManager.InsertSketch(true);
swAssembly = ((AssemblyDoc)(swDoc));
swAssembly.EditAssembly();
boolstatus = swDoc.Extension.SelectByID2("CrankShaft-1@Assem1", "COMPONENT", 0, 0, 0,
false, 0, null, 0);
swAssembly.EditPart();
myMassProp = ((MassProperty)(swDoc.Extension.CreateMassProperty()));
boolstatus = myMassProp.SetAssignedMassProp(crankShaftMass, 0, crankShaftCMy, 0, 1, null);
swAssembly.EditAssembly();
swDoc = ((ModelDoc2)(swApp.ActiveDoc));
boolstatus = swDoc.Extension.SelectByID2("Angle5", "MATE", 0, 0, 0, false, 0, null, 0);
boolstatus = swDoc.Extension.SelectByID2("Top", "PLANE", 0, 0, 0, true, 1, null, 0);
boolstatus = swDoc.Extension.SelectByID2("Front@StartSensor-2@Assem1", "PLANE", 0.04,
0.005908846518073, 0.011458110934, true, 1, null, 0);
swAssembly = ((AssemblyDoc)(swDoc));
swAssembly.EditMate2(6, 0, false, 0, 0, 0, 0.001, 0.001, openValveAngle, openValveAngle,
openValveAngle, out longstatus);
swDoc.ClearSelection2(true);
boolstatus = swDoc.Extension.SelectByID2("Angle7", "MATE", 0, 0, 0, false, 0, null, 0);
boolstatus = swDoc.Extension.SelectByID2("Top", "PLANE", 0, 0, 0, true, 1, null, 0);
boolstatus = swDoc.Extension.SelectByID2("Front@StartSensor-1@Assem1", "PLANE", 0.04, 0.003, 0.007303847577293, true, 1, null, 0);
swAssembly = ((AssemblyDoc)(swDoc));
swAssembly.EditMate2(6, 0, true, 0, 0, 0, 0.001, 0.001, closeValveAngle, closeValveAngle,
closeValveAngle, out longstatus);
boolstatus = swDoc.EditRebuild3();
swDoc.ClearSelection2(true);
77
boolstatus = myMotionStudy.Calculate();
myMotionResult=(MotionStudyResults)myMotionStudy.GetResults(myMotionStudy.StudyType);
myMotionResult.IsOutOfDate();
myCosmosResult = (CosmosMotionStudyResults)myMotionResult;
//swAssembly = ((AssemblyDoc)(swDoc));
string fileName = "I:\\AeroProjectSeason2\\PS21data\\" + (fileCount - 2) + (count - 1) + ".csv"
//myMotionStudy.g
boolstatus=myCosmosResult.ExportCSVFile(myCosmosResult.IGetPlotFeatures(1), fileName);
//myCosmosResult.GetPlotCount();
count++;
if (count == 3)
{
longstatus = swDoc.SaveAs3("I:\\AeroProjectSeason2\\Assems" + fileCount + ".SLDASM", 0, 2);
swApp.CloseDoc("Assem" + fileCount + ".SLDASM");
swDoc= ((ModelDoc2)(swApp.OpenDoc6("I:\\AeroProjectSeason2\\Assem1.SLDASM", 2, 0, "", ref
longstatus, ref longwarnings)));
swApp.ActivateDoc2("Assem1.SLDASM", false, ref longstatus);
swDoc = ((ModelDoc2)(swApp.ActiveDoc));
fileCount++;
count = 1; }
//myMotionStudy.
//motionStudyMgr.DeleteMotionStudy("Motion Study 2");
myMotionStudy = null;
motionStudyMgr = null;
myMotionResult = null;
//myMotionResult.IsOutOfDate();
78
myCosmosResult = null;
//sw.WriteLine(count+","+connectingRodLength+","+crankShaftLength+","+openValveAngle+","+closeValveAngle+","+c
onnectingRodMass+","+connectingRodCMy+","+crankShaftMass+","+crankShaftCMy);
}
}
}
}
}
}
}
}
}
/// <summary>
/// The SldWorks swApp variable is pre-assigned for you.
/// </summary>
public SldWorks swApp;
}
}
79
(CFD) FLUENT
.1 (CFD Validation)
(Orifice)
[8] (Pressure
Drop)
3 2 .1
[8]
dynamic mesh (poppet)
poppet
()
()
.1 () , ()
80
.2 1
.3 2
.4 3
81
.1
, P
(kPa)
1
2
3
CFD
[9]
CFD
12.290
12.596
10.552
10.552
11.902
10.219
10.112
%
[9]
2.49%
-3.15%
5.66%
3.21%
4.26%
.1 1 CFD
3.15% CFD [9] 5.66%
mesh 2
mesh 3
dynamic mesh mesh
dynamic mesh CFD
.1 Grid Independent
mesh mesh
2 Gambit
.5
(-7.5,15)
Pressure inlet
(7.5,15)
wall
wall
(-15,0)
(-7.5,2)
(7.5,2)
(15,0)
interior
(-15,-
wall
.5 2 GAMBIT
(1)
82
(15,-2)
interior
interface
interface
(-3,1.8)
wall
(3,1.8)
wall
wall
(-5,-0.2)
(5,-0.2)
interface
interface
.6 2 GAMBIT (2)
Piston
.7 2 mesh GAMBIT
83
.8
84
.3 In-cylinder FLUENT
In-cylinder FLUENT
2
GAMBIT
FLUENT Dynamic Mesh
(.3-1) GAMBIT
2 ,
3 Inlet, Valve layer, Cylinder Piston layer .9
Inlet
Valve layer
Piston layer
Cylinder
.9
(.3-2) FLUENT
.mesh FLUENT Dynamic
mesh
85
FLUENT
1 : Grid
1. 2D Double Precision
.10
2.
.mesh GAMBIT
.11 GAMBIT
3. FLUENT
86
.12
.13 Grid
87
.14 Grid
2 :
1. Pressure based , Transient
.15
88
.16
3. Energy Equation
.17
89
3 :
.18
.19
90
.20
.21
91
5 : Grid Interface
. Dynamic mesh
. Smoothing, Layering Remeshing Mesh Methods
. In-cylinder Options
. Settings Mesh Methods .23
92
.23 smoothing
. Layering
.2 layering
. Remeshing .23
.24 Remeshing
93
.25 In-cylinder
In-Cylinder
dynamic mesh
, (TDC)
0,360,720, (BDC)
180,540,900,
2. Profile
<ENTER>
<ENTER>
<ENTER>
<ENTER>
<ENTER>
94
.26
. mesh
.27 mesh
.1 cylinder-tri
- cylinder-tri Zone Names
- Deforming Type
- Meshing Options
95
Smoothing Remeshing
0.00005 Minimum Length Scale, 0.00009
Maximum Length Scale 0.6 Maximum Skewness Zone
Parameters
- Create
.28 mesh
.2 seat-ib
- seat-ib Zone Names
- Deforming Type
- Geometry Definition
Cylinder Definition
0.05 Cylinder Radius
0 X Y Cylinder Origin
X=0 Y=1 Cylinder Axis
- Meshing Options
Smoothing Remeshing
96
.29 mesh
.3 valve
- valve Zone Names
- Rigid Body Type
- Motion Attributes
in-valve Motion UDF/Profile
X=0 Y=1 Valve/Piston Axis
- Meshing Options
0.00005 Cell Height
- Create
97
.30 mesh
.4 Piston
- piston Zone Names
- Rigid Body Type
- Motion Attributes
**piston-full** Motion UDF/Profile
X=0 Y=1 Valve/Piston Axis
- Meshing Options
0.0001 Cell Height
- Create
7 : Mesh
mesh
1. .cas
2. Grid
3. mesh
98
.31 mesh
8 :
1.
.32
99
.33
100
4.
.35
.
.
.
.
.
Pressure Name
Flow time X Axis Time step Get Data Every
Area-Weighted Average Report Type
Pressure Field Variable Static Pressure
piston Surfaces
9 :
1.
Solve
Iterate
.36 Iterate
101
.
.
.
.
Iterate
102
103
104
105
106
107
1)
:
:
:
:
2)
:
:
:
:
:
:
3)
:
:
:
:
:
:
5 .. 2532
.. 2546
.. 2549
155 10900
ponpri52@hotmail.com
21 2532
.. 2546
.. 2549
101/41 6 20110
prch.snsk@gmail.com
22 .. 2531
.. 2546
.. 2549
42/10
83110
thpr.ph@gmail.com
108