Compare commits
199 Commits
a085632759
...
main
Author | SHA1 | Date | |
---|---|---|---|
474050ff6d
|
|||
1b95f46544 | |||
a4b13fb71e
|
|||
d512ff1c73
|
|||
b7c38ddc89
|
|||
9d602fede7
|
|||
a21898048c
|
|||
5e3bdbe2f6
|
|||
1e90d6c8a9
|
|||
b6c9129fa5
|
|||
00b08276a2
|
|||
47bfb4ac20
|
|||
1055f83d3a
|
|||
a9cb29989d
|
|||
ce04f5dd57
|
|||
ef43740721
|
|||
b94dba3163
|
|||
816896537d
|
|||
ad7096bca2
|
|||
37618fe7eb
|
|||
8c16a0d537
|
|||
e203b294c5
|
|||
91e7c9701a
|
|||
9e12734c5f
|
|||
524465453a
|
|||
dec593c503
|
|||
56d55a6617
|
|||
15cec82789
|
|||
8185cd14e4
|
|||
e4a0ef25e1
|
|||
5f5e43e54e
|
|||
a24eb028a9
|
|||
996700bec9
|
|||
4369e246bd
|
|||
a42bfcc814
|
|||
3de79c2111
|
|||
da516f5160
|
|||
0489963eda
|
|||
8981e9b9c4
|
|||
dd35b48def
|
|||
0ceb20bcf1
|
|||
f266085c4e
|
|||
5b64235c97
|
|||
b3d42c30d9
|
|||
a84913e3f5
|
|||
557bad8387
|
|||
0f29002415
|
|||
11cd8df774
|
|||
a92f99dae8
|
|||
7f7955fc4f
|
|||
a4d8d95d74
|
|||
bec5809694
|
|||
4e51f23dca
|
|||
212cfd6e4c
|
|||
c58e7b2f94
|
|||
307c4f366d
|
|||
3b0d086ea0
|
|||
4b59dcaa8b
|
|||
55b75039bf
|
|||
cde7a3c7f9
|
|||
b0f8043db0
|
|||
6e748d46b2
|
|||
f2e94c592f
|
|||
f8785c4fd2
|
|||
56282d75af
|
|||
ed7af09a55
|
|||
917a47caf9
|
|||
57507d4c34
|
|||
d61c94880c
|
|||
9b694732bd
|
|||
160418816f
|
|||
d505de5ac1
|
|||
868fac25cf
|
|||
c90147635a
|
|||
c0c565a104
|
|||
fb21e1012f
|
|||
015149b341
|
|||
bc73ac4e09
|
|||
6357ba4fdb
|
|||
b262977263
|
|||
486774e0d6
|
|||
3eed68e1b3
|
|||
826ea4690f
|
|||
07466ce8a9
|
|||
9b1346f8f0
|
|||
6ec65bd5ec
|
|||
519d3e37f0
|
|||
5d580557ec
|
|||
bb4ba0ff66
|
|||
249a2f30d2
|
|||
a07f63de81
|
|||
f3580ea182
|
|||
572d86e60f
|
|||
7d9ad8cbf0
|
|||
7166aecc6f
|
|||
274c643b09
|
|||
5d4ec5ab36
|
|||
acb42fb8c6
|
|||
ebb8ad0350
|
|||
b2ff21cd12
|
|||
73d39c8744
|
|||
d0496e79d8
|
|||
485ca3ca66
|
|||
11bc9c6c0d
|
|||
044a898557
|
|||
ec195bbe66
|
|||
5a807f15ac
|
|||
96891f53ba
|
|||
5f109d2843
|
|||
0a4b93d33b
|
|||
e14699c5ef
|
|||
3880dc3c5c
|
|||
2fb7818e20
|
|||
f04625d539
|
|||
5a788e0eed
|
|||
414d4b1183
|
|||
1bf9a50a93
|
|||
a2e60d3eea
|
|||
b35404bc42
|
|||
b994350970
|
|||
4959ea926b
|
|||
9ef91509e7
|
|||
4494ba74b9
|
|||
aa7650c78f
|
|||
468b4a22cd
|
|||
998a08633e
|
|||
d584420e0f
|
|||
5c27d1a91c
|
|||
81fe971662
|
|||
027f5dfb89
|
|||
6c0d1020a7
|
|||
5202768589
|
|||
7b2ed927b4
|
|||
3eb6fe9d56
|
|||
829beab997
|
|||
8f18918c05
|
|||
6150bb4707
|
|||
23d7364485
|
|||
1f8a5382d8
|
|||
2033c7524e
|
|||
b7ef6c914b
|
|||
83cd3ad585
|
|||
00d1758c35
|
|||
5ac0e81f5a
|
|||
fb07f79fb0
|
|||
9904aaa68d
|
|||
58476ad943
|
|||
9baa4abeb7
|
|||
ba3430236c
|
|||
d7e2c77140
|
|||
d938b19869
|
|||
cda5056661
|
|||
9396acbe81
|
|||
4f2fff1d71
|
|||
98f161b927
|
|||
19bb008d18
|
|||
199c488cb3
|
|||
aa163ccbf1
|
|||
e4fc38feaa
|
|||
50721f0bcd
|
|||
14f4fc0fa9
|
|||
1d226d9503
|
|||
1ffbca756c
|
|||
e263656e60
|
|||
78946e25e4
|
|||
2c14c31e93
|
|||
187337d789
|
|||
1e42fd59b4
|
|||
d0fd9f5ed4
|
|||
44ccde2294
|
|||
1b4b7faf38
|
|||
476976a4de
|
|||
93809b624f
|
|||
388a08aaf0
|
|||
7172f29183
|
|||
4cc230ceee
|
|||
21482ff439
|
|||
24634aae51
|
|||
8b27c853f4
|
|||
7388bbe104
|
|||
b4b6f8b54d
|
|||
355fddb665
|
|||
bcba31b8a0
|
|||
a455671a65
|
|||
554caccd4b
|
|||
c453e4fcd4
|
|||
e3fcbdf7cc
|
|||
1acef81bb7
|
|||
70308e2285
|
|||
053a3530b5
|
|||
a1cf6996cf
|
|||
c3a47c46b3
|
|||
21e4474341
|
|||
f875f32177
|
|||
506984b69c
|
|||
fe8a7209b3
|
|||
35a4e42433
|
|||
86896fdc2c
|
|||
422cedff86
|
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
*.md.pdf
|
||||
pdfimages
|
||||
|
11
blog/first_post.md
Executable file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
pub_date: Fri, 31 Jul 2020 19:52:52 +0100
|
||||
title: first post
|
||||
tags: []
|
||||
uuid: fd338dc9-ae5f-48f4-9fc6-e02e88ab4ce5
|
||||
---
|
||||
|
||||
# first post
|
||||
|
||||
this is my first post
|
182
blog/g27_pedals.md
Executable file
@@ -0,0 +1,182 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
pub_date: Tue, 04 Aug 2020 15:20:13 +0100
|
||||
title: Repurposing Racing Wheel Pedals
|
||||
tags: [ g27, sim_racing ]
|
||||
uuid: 0f09200e-fd50-451b-aae1-1117a8a704db
|
||||
---
|
||||
|
||||
<h1>Repurposing Racing Wheel Pedals</h1>
|
||||
<p>I have a Logitech G27 I don't use much. I wondered if I could use it for anything else. I could. </p>
|
||||
|
||||
<h2> The Pinout of the Connector </h2>
|
||||
|
||||
<p>The first thing I had to do was figure out what each pin did on the DE-9 connector, and which
|
||||
ones I should care about.
|
||||
This was done easily after I took off the top plastic casing thing by poking the three 100k Ohm
|
||||
potentiometers and the connector in the right places at the right times:
|
||||
</p>
|
||||
|
||||
<style> #pinout_table tr td:first-child { text-align: right } </style>
|
||||
<img src="./images/repurposing-racing-wheel-pedals-g27-pinout.svg" class="centered" style="width: 10em;">
|
||||
<table id="pinout_table">
|
||||
<tr> <th>pin</th> <th>function</th></tr>
|
||||
<tr> <td>1,4</td> <td>ground</td></tr>
|
||||
<tr> <td>6</td> <td>clutch pedal</td></tr>
|
||||
<tr> <td>7</td> <td>brake pedal</td></tr>
|
||||
<tr> <td>8</td> <td>accelerator pedal</td></tr>
|
||||
<tr> <td>9</td> <td>voltage in</td></tr>
|
||||
</table>
|
||||
|
||||
<h2> Reading the Values of the Pots </h2>
|
||||
|
||||
I'm using an Arduino to read the pots and then do something with the values.
|
||||
I very dirtily wired pin 4 on the pedals to GND on a Arduino Uno, pin 9 to 5V, and
|
||||
pins 6,7,8 to A0, A1, and A2.
|
||||
I used a basic sketch to check that everything is good:
|
||||
|
||||
<details>
|
||||
<summary> Show/hide test_sketch.ino </summary>
|
||||
<pre><code> void setup() {
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Serial.println(analogRead(A2));
|
||||
delay(20);
|
||||
}
|
||||
</code></pre>
|
||||
</details>
|
||||
|
||||
I noticed that the minimum and maximum values read by the Uno were quite far off 0 and 1024, like
|
||||
they should be, and voltage was being lost on the way to and from the potentiometers.
|
||||
Since the pedals have to be calibrated every time you plug them in, I assume this is normal and
|
||||
spat out this code:
|
||||
|
||||
<details>
|
||||
<summary> Show/hide sketch_aug02a.ino </summary>
|
||||
<pre><code>// sensor pins
|
||||
int sa = A0;
|
||||
int sb = A1;
|
||||
int sc = A2;
|
||||
|
||||
// minimum values detected by the sensors
|
||||
int mina = 1025;
|
||||
int minb = 1025;
|
||||
int minc = 1025;
|
||||
|
||||
// maximum values detected by the sensors
|
||||
int maxa = 512;
|
||||
int maxb = 512;
|
||||
int maxc = 512;
|
||||
|
||||
// raw values of the sensors
|
||||
int rva, rvb, rvc;
|
||||
|
||||
// calculated values of the sensors (between 0 and 1, this is the value sent to computer)
|
||||
float cva, cvb, cvc;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
rva = analogRead(sa);
|
||||
rvb = analogRead(sb);
|
||||
rvc = analogRead(sc);
|
||||
|
||||
if (rva < mina) mina = rva;
|
||||
if (rvb < minb) minb = rvb;
|
||||
if (rvc < minc) minc = rvc;
|
||||
|
||||
if (rva > maxa) maxa = rva;
|
||||
if (rvb > maxb) maxb = rvb;
|
||||
if (rvc > maxc) maxc = rvc;
|
||||
|
||||
cva = (float)(rva-mina)/(float)(maxa-mina);
|
||||
cvb = (float)(rvb-minb)/(float)(maxb-minb);
|
||||
cvc = (float)(rvc-minc)/(float)(maxc-minc);
|
||||
|
||||
Serial.print('[');
|
||||
Serial.print(cva); Serial.print(',');
|
||||
Serial.print(cvb); Serial.print(',');
|
||||
Serial.print(cvc);
|
||||
Serial.print(']');
|
||||
Serial.println();
|
||||
delay(20);
|
||||
}
|
||||
</code></pre>
|
||||
</details>
|
||||
|
||||
<h2> Actually Making the Numbers Do Something </h2>
|
||||
|
||||
This is where you can make the pedals do fun things.
|
||||
I reworked another piece of code I wrote to do a similar thing to quickly create a script that
|
||||
reads the values sent by the Arduino, and then simulate pressing a key combination.
|
||||
The only thing I've done with this is set push-to-talk to ctrl-shift-alt-1.
|
||||
I don't know what else I could use this for, maybe temporarily muting particular things, like music.
|
||||
|
||||
<details>
|
||||
<summary> Show/hide pedalboard.py </summary>
|
||||
<pre><code> #!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
from enum import Enum
|
||||
|
||||
import keyboard
|
||||
import serial
|
||||
|
||||
class KeyState(Enum):
|
||||
UP = 0
|
||||
DOWN = 1
|
||||
|
||||
STATES = [KeyState.UP] * 3
|
||||
THRESHOLD = 0.8
|
||||
MACROS = ['ctrl+shift+alt+1', 'ctrl+shift+alt+2', 'ctrl+shift+alt+3']
|
||||
|
||||
def get_args():
|
||||
""" Get command line arguments """
|
||||
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('device')
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main(args):
|
||||
""" Entry point for script """
|
||||
while True:
|
||||
try:
|
||||
kb = serial.Serial(port=args.device, baudrate=9600)
|
||||
while True:
|
||||
handle(json.loads(kb.readline()))
|
||||
except serial.serialutil.SerialException as e:
|
||||
print(e)
|
||||
print("Failed to connect to device... trying again")
|
||||
time.sleep(1)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return 0
|
||||
|
||||
def handle(data):
|
||||
global STATES
|
||||
|
||||
states = [KeyState.DOWN if value > THRESHOLD else KeyState.UP for value in data]
|
||||
r = [handle_state_change(i, states[i]) if states[i] != STATES[i] else None for i in range(len(STATES))]
|
||||
STATES = states
|
||||
return r
|
||||
|
||||
def handle_state_change(key, newstate):
|
||||
print(f"{key} {newstate}")
|
||||
return keyboard.press(MACROS[key]) if newstate == KeyState.DOWN else keyboard.release(MACROS[key])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
sys.exit(main(get_args()))
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(0)
|
||||
</code></pre>
|
||||
</details>
|
226
blog/images/repurposing-racing-wheel-pedals-g27-pinout.svg
Normal file
@@ -0,0 +1,226 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
width="68.148842"
|
||||
height="34.400002"
|
||||
viewBox="-138.624 -137.291 68.14884 34.400003"
|
||||
id="Layer_1"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="repurposing-racing-wheel-pedals-g27-pinout.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><title
|
||||
id="title1416">DE-9 Connector with numbers</title><metadata
|
||||
id="metadata1308"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>DE-9 Connector with numbers</dc:title><dc:date>2020-08-02</dc:date><dc:creator><cc:Agent><dc:title>alvierahman90</dc:title></cc:Agent></dc:creator><cc:license
|
||||
rdf:resource="" /><dc:contributor><cc:Agent><dc:title>Original drawing from Mobius (maybe): https://commons.wikimedia.org/wiki/File:DSubminiatures.svg</dc:title></cc:Agent></dc:contributor></cc:Work></rdf:RDF></metadata><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1722"
|
||||
inkscape:window-height="1060"
|
||||
id="namedview1306"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="10.44492"
|
||||
inkscape:cx="27.994898"
|
||||
inkscape:cy="11.731109"
|
||||
inkscape:window-x="1056"
|
||||
inkscape:window-y="1094"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Layer_1" /><defs
|
||||
id="defs2584">
|
||||
|
||||
|
||||
|
||||
|
||||
</defs>
|
||||
|
||||
<g
|
||||
id="g1336"
|
||||
transform="rotate(180,-104.54958,-120.091)"
|
||||
style="stroke:#454545;stroke-opacity:1"><g
|
||||
transform="translate(-193.19312,-267.013)"
|
||||
id="g2241"
|
||||
style="stroke:#454545;stroke-opacity:1">
|
||||
<circle
|
||||
cx="66.588997"
|
||||
cy="141.351"
|
||||
r="2.2409999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2243" />
|
||||
<circle
|
||||
cx="77.617996"
|
||||
cy="141.351"
|
||||
r="2.2409999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2245" />
|
||||
<circle
|
||||
cx="88.643997"
|
||||
cy="141.351"
|
||||
r="2.2379999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2247" />
|
||||
<path
|
||||
d="m 99.668,139.11 c 1.238,0 2.242,1.004 2.242,2.241 0,1.237 -1.004,2.24 -2.242,2.24 -1.233,0 -2.237,-1.003 -2.237,-2.24 0,-1.237 1.004,-2.241 2.237,-2.241 z"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="path2249"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
cx="110.697"
|
||||
cy="141.351"
|
||||
r="2.2409999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2251" />
|
||||
<circle
|
||||
cx="72.102997"
|
||||
cy="152.491"
|
||||
r="2.2390001"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2253" />
|
||||
<circle
|
||||
cx="83.130997"
|
||||
cy="152.491"
|
||||
r="2.2390001"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2255" />
|
||||
<path
|
||||
d="m 94.156,150.252 c 1.237,0 2.238,1.003 2.238,2.237 0,1.237 -1.001,2.241 -2.238,2.241 -1.238,0 -2.242,-1.004 -2.242,-2.241 0,-1.234 1.004,-2.237 2.242,-2.237 z"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="path2257"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
cx="105.185"
|
||||
cy="152.491"
|
||||
r="2.2390001"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2259" />
|
||||
</g><path
|
||||
d="m -129.54912,-136.791 c -5.609,0 -9.4,4.518 -8.425,10.042 l 2.354,13.309 c 0.976,5.525 6.366,10.049 11.975,10.049 h 38.191005 c 5.608,0 10.996,-4.523 11.975,-10.049 l 2.354,-13.309 c 0.975,-5.524 -2.813,-10.042 -8.425,-10.042 z"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="path2261"
|
||||
inkscape:connector-curvature="0" /></g>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-123.37334"
|
||||
y="-129.7538"
|
||||
id="text1340"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338"
|
||||
x="-123.37334"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-112.29854"
|
||||
y="-129.7538"
|
||||
id="text1340-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-7"
|
||||
x="-112.29854"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-101.2884"
|
||||
y="-129.7538"
|
||||
id="text1340-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-8"
|
||||
x="-101.2884"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-90.565475"
|
||||
y="-129.7538"
|
||||
id="text1340-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-70"
|
||||
x="-90.565475"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">4</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-129.24457"
|
||||
y="-105.27687"
|
||||
id="text1340-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-84"
|
||||
x="-129.24457"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">5</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-117.9472"
|
||||
y="-105.27687"
|
||||
id="text1340-8"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-1"
|
||||
x="-117.9472"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">6</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-106.88921"
|
||||
y="-105.27687"
|
||||
id="text1340-68"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-5"
|
||||
x="-106.88921"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">7</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-94.538704"
|
||||
y="-105.27687"
|
||||
id="text1340-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-19"
|
||||
x="-94.538704"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">8</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-83.91153"
|
||||
y="-105.27687"
|
||||
id="text1340-96"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-0"
|
||||
x="-83.91153"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">9</tspan></text>
|
||||
</svg>
|
After Width: | Height: | Size: 8.6 KiB |
63
blog/lastfm_bookmarklets.md
Executable file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
pub_date: Mon, 18 Sep 2023 16:25:48 +0100
|
||||
title: last.fm bookmarklets
|
||||
tags: [ last.fm, scripts ]
|
||||
uuid: e54ebf58-4033-4dae-81db-91db344f1311
|
||||
---
|
||||
|
||||
# last.fm bookmarklets
|
||||
|
||||
last.fm doesn't let you see how many scrobbled you've made in one day particularly easily.
|
||||
Here is a bookmarklet to solve that.
|
||||
|
||||
<label for="days"> Number of days to view: </label>
|
||||
<input type="number" value="1" id="days" placeholder="Days"/><br><br>
|
||||
<label for="offset"> Offset (e.g. 0 to include today, 7 to look at last week): </label>
|
||||
<input type="number" value="0" id="offset" placeholder="Offset (Days)" /><br><br>
|
||||
<label for="username"> last.fm username </label>
|
||||
<input type="text" value="" id="username" placeholder="Username" /><br><br>
|
||||
<input type="button" id="button" value="Generate bookmarklet"><br>
|
||||
|
||||
<p><a style="display: none" href="" id="scriptLink">Bookmark this link</a></p>
|
||||
|
||||
When you press generate bookmarklet, the values `OFFSET`, `DAYS`, `USERNAME` will be
|
||||
subsituted and put into the link above.
|
||||
It's always best to inspect bookmarklets though.
|
||||
Inspect the page to view the script used to generate the bookmarklet.
|
||||
|
||||
<textarea cols="109" rows="15" readonly id="scriptText">
|
||||
javascript: (() => {
|
||||
const MILLESECONDS_PER_DAY = 1000 * 24 * 60 * 60;
|
||||
const OFFSET;
|
||||
const DAYS;
|
||||
const USERNAME;
|
||||
|
||||
const currentDate = new Date();
|
||||
const to = new Date(currentDate - (OFFSET * MILLESECONDS_PER_DAY));
|
||||
const from = new Date(to - ((DAYS-1) * MILLESECONDS_PER_DAY));
|
||||
const toDate = to.getFullYear() + "-" + (to.getMonth()+1) + "-" + to.getDate();
|
||||
const fromDate = from.getFullYear() + "-" + (from.getMonth()+1) + "-" + from.getDate();
|
||||
|
||||
document.location = "https://www.last.fm/user/" + USERNAME + "/library?from=" + fromDate + "&to=" + toDate;
|
||||
})();
|
||||
</textarea>
|
||||
|
||||
<script>
|
||||
document.getElementById("button").addEventListener("click", () => {
|
||||
scriptText = document.getElementById("scriptText").value;
|
||||
offset = document.getElementById("offset").value;
|
||||
days = document.getElementById("days").value;
|
||||
username = document.getElementById("username").value;
|
||||
|
||||
newscript = scriptText.replace(
|
||||
"OFFSET", "OFFSET = " + offset
|
||||
).replace(
|
||||
"DAYS", "DAYS = " + days
|
||||
).replace(
|
||||
"USERNAME", "USERNAME = '" + username + "'"
|
||||
);
|
||||
document.getElementById("scriptLink").href = newscript;
|
||||
document.getElementById("scriptLink").style = "";
|
||||
});
|
||||
</script>
|
13
blog/readme.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: alv's blog
|
||||
author: Akbar Rahman
|
||||
pub_date: Fri, 31 Jul 2020 19:50:51 +0100
|
||||
blog: true
|
||||
tags: [ alvs_blog, blog ]
|
||||
uuid: 2d03893a-eb9b-4923-8024-a223ecbe72f7
|
||||
---
|
||||
|
||||
# alv's blog
|
||||
|
||||
this is my blog.
|
||||
i promise i will try to keep things posted here interesting.
|
57
computery_stuff/cadence_license_manager_null_parameter.md
Executable file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: "Cadence License Manager Install - `java.lang.IllegalArgumentException: :locationICompSelected: Null parameter - InstallComponent ID`"
|
||||
tags: [ cadence, license_manager, flexlm, java, errors ]
|
||||
uuid: a5f46736-1ab8-4da1-8737-95de51c95d50
|
||||
---
|
||||
|
||||
# Error
|
||||
|
||||
```
|
||||
[root@host Downloads]# iscape/bin/iscape.sh -batch majorAction=InstallFromArchive archiveDirectory=$(realpath LCU04.30.000_lnx86.Base) installDirectory=$(realpath target)
|
||||
Initializing InstallScape using JVM at /home/alvi/Downloads/iscape.04.23-s012/runtime/LNX86/bin/java. This might take some time...
|
||||
|
||||
WARNING: The DISPLAY environment variable has not been set.
|
||||
InstallScape might not initialize.
|
||||
|
||||
|
||||
InstallScape Installer (Batch Mode) - 04.23.s12
|
||||
|
||||
:locationICompSelected: Null parameter - InstallComponent ID
|
||||
java.lang.IllegalArgumentException: :locationICompSelected: Null parameter - InstallComponent ID
|
||||
at com.khanpur.installerng.ArchiveLocationManager.locationICompSelected(ArchiveLocationManager.java:143)
|
||||
at com.khanpur.installerng.Installer.archiveLocationICompSelected(Installer.java:1156)
|
||||
at com.khanpur.installer.gui.batch.BatchInstallfromarchive.execute(BatchInstallfromarchive.java:86)
|
||||
at com.khanpur.installer.gui.batch.BatchView.initialize(BatchView.java:329)
|
||||
at com.khanpur.installer.gui.batch.BatchView.<init>(BatchView.java:90)
|
||||
at com.khanpur.installer.gui.InstallerUINoSplash.showBatch(InstallerUINoSplash.java:325)
|
||||
at com.khanpur.installer.gui.BatchCommand.execute(BatchCommand.java:78)
|
||||
at com.khanpur.util.TransactionCommand.execute(TransactionCommand.java:74)
|
||||
at com.khanpur.util.Commandline.runCommands(Commandline.java:223)
|
||||
at com.khanpur.installer.gui.InstallerUINoSplash.processCommandLine(InstallerUINoSplash.java:340)
|
||||
at com.khanpur.installer.gui.InstallerUINoSplash.main(InstallerUINoSplash.java:372)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at com.khanpur.installer.gui.InstallerUI.main(InstallerUI.java:123)
|
||||
Failed with InstallScape JVM.
|
||||
Now loading System JVM...
|
||||
iscape/bin/iscape.sh: line 222: java: command not found
|
||||
Error:
|
||||
/usr/bin/which: no java in (/usr/local/bin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)
|
||||
Could not use JVM packaged with Installcape. The Java in your path did not work or could not find Java in your path. Ensure that Java 1.6 or later is in your PATH environment variable and restart InstallScape.
|
||||
```
|
||||
|
||||
# Cause
|
||||
|
||||
Using the wrong filepath.
|
||||
The Cadence archives have subfolders to split the software between multiple CDs (a relic of the
|
||||
past perhaps).
|
||||
The actual folder to use is the CDs.
|
||||
|
||||
# Solution
|
||||
|
||||
Use the folder that contains the `.sdx` files (in my case, add `/CDROM1` onto end of
|
||||
`archiveDirectory`).
|
81
computery_stuff/cloudwatch_event_rule_lambda_ansible.md
Executable file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Eventbridge Rule (Cloudwatch Rule) Does Not Invoke Lambda When Configured Through Ansible
|
||||
tags:
|
||||
- ansible
|
||||
- aws
|
||||
- aws_eventbridge
|
||||
- aws_lambda
|
||||
- cloudwatch
|
||||
- eventbridge
|
||||
- lambda
|
||||
- permissions
|
||||
uuid: df3ca083-b6ae-4e35-bb1c-8b3978117c57
|
||||
---
|
||||
|
||||
# Eventbridge Rule (formerly Cloudwatch Rule) Does Not Invoke Lambda When Configured Through Ansible
|
||||
|
||||
## Problem
|
||||
|
||||
After creating an Eventbridge rule to run a Lambda function with the Ansible module
|
||||
[`amazon.aws.cloudwatchevent_rule`](https://docs.ansible.com/ansible/latest/collections/amazon/aws/cloudwatchevent_rule_module.html),
|
||||
the rule does not run Lambda function when it should:
|
||||
|
||||
```yaml
|
||||
- name: "Create lambda function"
|
||||
register: create_lambda
|
||||
amazon.aws.lambda:
|
||||
region: "{{ aws_ec2_region }}"
|
||||
description: "My Lambda function"
|
||||
name: "{{ lambda_name }}"
|
||||
role: "{{ iam_role.iam_role.arn }}"
|
||||
state: "present"
|
||||
timeout: 120
|
||||
vpc_security_group_ids: "{{ sec_group.group_id }}"
|
||||
vpc_subnet_ids: "{{ subnet_ids }}"
|
||||
image_uri: "{{ ecr.repository.repositoryUri }}:latest"
|
||||
- name: "Schedule my Lambda function"
|
||||
register: lambda_schedule_rule
|
||||
amazon.aws.cloudwatchevent_rule:
|
||||
name: "a_unique_rule_name"
|
||||
region: "{{ aws_ec2_region }}"
|
||||
schedule_expression: "rate(1 minute)"
|
||||
state: "present"
|
||||
targets:
|
||||
- arn: "{{ create_lambda.configuration.function_arn }}"
|
||||
id: "a_unique_id"
|
||||
input: "{{ eventbridge_rule_lambda_event_input }}"
|
||||
```
|
||||
|
||||
Even though creating a seemingly identical setup through the AWS console works fine.
|
||||
|
||||
## Cause
|
||||
|
||||
The Eventbridge rule is not allowed to invoke this Lambda, as it is not in the Lambda's policy.
|
||||
|
||||
## Solution
|
||||
|
||||
Use the
|
||||
[`amazon.aws.lambda_policy`](https://docs.ansible.com/ansible/latest/collections/amazon/aws/lambda_policy_module.html)
|
||||
module to allow the Eventbridge rule to invoke the Lambda.
|
||||
Note that, if specifying the Lambda function name to `function_name` (as opposed to the ARN of the
|
||||
Lambda function), you must specify `version` or otherwise the Lambda function still won't be run!
|
||||
|
||||
|
||||
```yaml
|
||||
- name: "Allow Eventbridge (Cloudwatch) Rules to invoke lambda"
|
||||
amazon.aws.lambda_policy:
|
||||
action: "lambda:InvokeFunction"
|
||||
function_name: "{{ lambda_name }}"
|
||||
state: "present"
|
||||
statement_id: "a_unique_statement_id"
|
||||
region: "{{ aws_ec2_region }}"
|
||||
principal: "events.amazonaws.com"
|
||||
source_arn: "{{ lambda_schedule_rule.rule.arn }}"
|
||||
version: "{{ create_lambda.configuration.version }}"
|
||||
```
|
||||
|
||||
|
||||
Solution found thanks to @david-kretch's answer to the same question at
|
||||
<https://stackoverflow.com/questions/45282939/cloudwatch-event-rule-creation-via-ansible-succeeds-but-not-invoked>.
|
12
computery_stuff/flask.md
Executable file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Flask
|
||||
tags: [ python, flask, programming, docker ]
|
||||
uuid: e513ed96-cb19-4d4c-9894-e337c54659e5
|
||||
---
|
||||
|
||||
# Examples
|
||||
|
||||
- [alv.cx-glass](https://git.alv.cx/alvierahman90/alv.cx-glass) --- a pretty minimal example, probably not very production ready but has example of how to use in Docker
|
||||
- <https://flask.palletsprojects.com/> --- official documentation for Flask
|
17
computery_stuff/jetson_nano.md
Executable file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Jetson Nano
|
||||
tags: [ nvidia, jetson, jetson_nano, droidcam ]
|
||||
uuid: f312451a-2cd4-468a-9eef-ca9859c7cd1e
|
||||
---
|
||||
|
||||
|
||||
# installing Droidcam
|
||||
|
||||
figured out with help from <https://hizzely.hashnode.dev/instalasi-droidcam-cli-di-jetson-nano> :pray:
|
||||
|
||||
0. build and install libjpeg-turbo version 2.1.2 from github (cmake, make, make install)
|
||||
0. build droidcam (2.1.3 confirmed working) from source (make) and install (./install-client) (may need to set `PKG_CONFIG_PATH` environment varible to whatever libjpeg turbo installed at (for me, `/opt/libjpeg-turbo/lib64/pkgconfig`))
|
||||
0. install v4l2loopback-dkms with apt
|
||||
0. run droidcam (you may need to set `LD_LIBRARY_PATH` environment variable to wherever libjpeg-turbo installed to (for me, `/opt/libjpeg-turbo/lib64`))
|
@@ -20,3 +20,47 @@ usermod -a -G group user
|
||||
```bash
|
||||
usermod -g group user
|
||||
```
|
||||
|
||||
# help i think my device shut down after deleting the current kernel and before installing the second (no entries in systemd-boot/grub/<bootloader>)
|
||||
|
||||
0. boot into a live usb of current disto
|
||||
1. mount the root partition to `/mnt` and the boot partition to the appropriate folder (check
|
||||
fstab which should be in `/mnt/etc/fstab`, if it says `/efi`, mount it to `/mnt/efi`)
|
||||
2. chroot into the mounted filesystem:
|
||||
|
||||
on arch based systems you can simply run:
|
||||
|
||||
```
|
||||
arch-chroot /mnt
|
||||
```
|
||||
|
||||
on non arch based systems[^1]:
|
||||
|
||||
```
|
||||
mount -t proc /proc /mnt/proc/
|
||||
mount -t sysfs /sys /mnt/ys/
|
||||
mount --rbind /dev /mnt/dev/
|
||||
# only if using uefi
|
||||
mount --rbind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars/
|
||||
# for internet access
|
||||
cp /etc/resolv.conf /mnt/etc/resolv.conf
|
||||
chroot /mnt /bin/bash
|
||||
```
|
||||
3. the system can now be force updated/kernel images can be generated
|
||||
|
||||
on arch based systems[^2]:
|
||||
|
||||
```
|
||||
# reinstall all current packages
|
||||
pacman -Qqen > /root/pkgs.txt # list all installed packages
|
||||
pacman -S $(< /root/pkgs.txt) # reinstall all installed packages
|
||||
rm /root/pkgs.txt # clean up
|
||||
|
||||
# reinstall dependencies (if there are issues)
|
||||
pacman -Qqdn > /root/deps.txt # list all installed dependencies
|
||||
pacman -S $(< /root/deps.txt) # reinstall all installed dependencies
|
||||
rm /root/deps.txt # clean up
|
||||
```
|
||||
|
||||
[^1]: https://wiki.archlinux.org/title/Chroot [wayback machine](https://web.archive.org/web/20240121115548/https://wiki.archlinux.org/title/Chroot)
|
||||
[^2]: https://bbs.archlinux.org/viewtopic.php?id=193174 [wayback machine](https://web.archive.org/web/20240129153400/https://bbs.archlinux.org/viewtopic.php?id=193174)
|
||||
|
30
computery_stuff/namecheap.md
Executable file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Namecheap DNS
|
||||
tags: []
|
||||
uuid: d4d9fa2b-3d4c-44f7-a44d-12b0410be633
|
||||
---
|
||||
|
||||
# SRV Records not Showing up on DNS Servers
|
||||
|
||||
> There is a bug on Namecheap's DNS configuration interface.
|
||||
> When defining a SRV Record you must write the subdomain in the protocol box aswell.
|
||||
> After you save that entry, a visual bug kicks in and the protocol box now only shows the protocol
|
||||
> itself, but in the backend it's saved as protocol+subdomain, as it should be.
|
||||
>
|
||||
> ~ [exore13](https://www.spigotmc.org/threads/solved-multiple-servers-namecheap-srv-record-config.517697/)
|
||||
|
||||
|
||||
So say your SRV record looks something like this:
|
||||
|
||||
```
|
||||
_minecraft _tcp 0 5 25566 peen.mc.alv.cx.
|
||||
```
|
||||
|
||||
You'll have to enter this instead:
|
||||
|
||||
```
|
||||
_minecraft _tcp.peen.mc 0 5 25566 peen.mc.alv.cx.
|
||||
```
|
||||
|
19
computery_stuff/pdfs.md
Executable file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: PDFs
|
||||
tags: [ pdf, concatenate ]
|
||||
uuid: a43eac87-cb19-4c58-a285-cff04c494847
|
||||
---
|
||||
|
||||
# Concatenate PDFs from the Command Line
|
||||
|
||||
```
|
||||
qpdf t1.pdf --pages t1.pdf 1-z t2.pdf 1-z t3.pdf 1-z -- t.pdf
|
||||
```
|
||||
|
||||
```
|
||||
pdftk t1.pdf t2.pdf t3.pdf cat output t.pdf
|
||||
```
|
||||
|
||||
Original answer by pts [here](https://superuser.com/a/458188)
|
14
computery_stuff/uo_nottingham.md
Executable file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: University of Nottingham
|
||||
tags: [ uni ]
|
||||
uuid: d1b03938-c5b4-48ad-a258-78f96880aa4b
|
||||
---
|
||||
|
||||
### Trying to log into Microsoft 365 sends me to a different organisation's login page
|
||||
|
||||
Try one of these links:
|
||||
|
||||
- <https://pls.cx/uon_email> (a redirect to the link below)
|
||||
- <https://outlook.office.com/owa/nottingham.ac.uk>
|
@@ -6,4 +6,6 @@ cd `dirname $0`
|
||||
git pull
|
||||
cd ..
|
||||
rm -rf notes.alv.cx/*
|
||||
notes2web.py -o notes.alv.cx notes
|
||||
cd /root/gronk
|
||||
git pull
|
||||
docker compose up --build
|
||||
|
10
readme.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: alv's notes
|
||||
base_url: https://notes.alv.cx
|
||||
---
|
||||
|
||||
# alv's notes
|
||||
|
||||
These are my personal notes. Correctness is not guaranteed.
|
||||
|
||||
Best viewed at [notes.alv.cx](https://notes.alv.cx).
|
12
styles.css
Normal file
@@ -0,0 +1,12 @@
|
||||
@import url("https://styles.alv.cx/fonts/comic-mono-font.css");
|
||||
@import url("https://styles.alv.cx/modules/dotgrid.css");
|
||||
@import url("https://styles.alv.cx/modules/alwaysdark.css");
|
||||
|
||||
:root {
|
||||
--dotgrid-size: 15em;
|
||||
--dotgrid-dot-size: 1px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Comic Mono', monospace;
|
||||
}
|
1
uni/.n2w.yml
Normal file
@@ -0,0 +1 @@
|
||||
itags: [ uni ]
|
1
uni/mmme/.n2w.yml
Normal file
@@ -0,0 +1 @@
|
||||
itags: [ mmme ]
|
@@ -38,11 +38,11 @@ uuid: b9be8780-1ab7-402f-9c67-8cc74a74f7a9
|
||||
|
||||
Given complex number $z$:
|
||||
|
||||
$$z = z + iy$$
|
||||
$$z = x + iy$$
|
||||
|
||||
The complex conjugate of z, $\bar z$ is:
|
||||
|
||||
$$\bar{z} = z -iy$$
|
||||
$$\bar{z} = x -iy$$
|
||||
|
||||
### Division of Complex Numbers
|
||||
|
||||
|
64
uni/mmme/1026_maths_for_engineering/eigenvalues.md
Executable file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: MMME1026 // Eigenvalues
|
||||
tags: [ mmme1026, maths, eigenvalues, uni ]
|
||||
uuid: f2220395-bc97-432e-a1d2-74085f16991d
|
||||
---
|
||||
|
||||
An eigenvalue problem takes the form:
|
||||
|
||||
Find all the values of $\lambda$ for which the equation
|
||||
|
||||
$$A\pmb{x} = \lambda \pmb{x}$$
|
||||
|
||||
has a nonzero solution $\pmb x$, where $A$ is an $n\times n$ matrix and
|
||||
$\pmb x$ is a column vector.
|
||||
|
||||
The equation may be written as
|
||||
|
||||
\begin{align*}
|
||||
A\pmb x &= \lambda I \pmb x \\
|
||||
\Leftrightarrow A \pmb x - \lambda I \pmb x & = 0 \\
|
||||
\Leftrightarrow (A-\lambda I)\pmb x &= 0
|
||||
\end{align*}
|
||||
|
||||
($\Leftrightarrow$ means "if and only if")
|
||||
|
||||
Non-zero solutions will exist if
|
||||
|
||||
$\det(A-\lambda I) = 0$
|
||||
|
||||
There are infinitely many eigenvectors for a given eigenvalue.
|
||||
This is because if $\pmb x$ is an eigenvector of $A$ corresponding to the
|
||||
eigenvalue $\lambda$ and $c$ is a non-zero scalar, then $c\pmb x$ is also
|
||||
an eigenvector of $A$:
|
||||
|
||||
$$A(c\pmb x) = cA\pmb x = c\lambda \pmb x = \lambda(c\pmb x)$$
|
||||
|
||||
In general, if $A$ is an $n\times n$ matrix, then $|A-\lambda I|$ is a
|
||||
polynomial of degree $n$ in $\lambda$, called the characteristic polynomial.
|
||||
The characteristic equation is:
|
||||
|
||||
$$\lambda^n + c_{n-1}\lambda^{n-1} + c_{n-2}\lambda^{n-2} + \cdots + c_0 = 0$$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1 ($2\times2$ example)
|
||||
|
||||
</summary>
|
||||
|
||||
If $A$ is the matrix
|
||||
|
||||
$$A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$$
|
||||
|
||||
then
|
||||
|
||||
$$|A - \lambda I| = \lambda^2 - (a+d)\lambda + (ad-bc)$$
|
||||
|
||||
And the standard method for solving a quadratic can be used to find $\lambda$.
|
||||
|
||||
</details>
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 17 KiB |
@@ -96,18 +96,19 @@ $i\cdot j = i\cdot k = j\cdot k = 0$.
|
||||
|
||||
The vector product between two vectors is defined by:
|
||||
|
||||
$$\pmb a \times \pmb b = |\pmb a||\pmb b|\sin\theta \pmb n$$
|
||||
$$\pmb a \times \pmb b = |\pmb a||\pmb b|\sin\theta \hat{\pmb n}$$
|
||||
|
||||
where $0 \le \theta \le \pi$ is the angle between $\pmb a$ and $\pmb b$ and $\pmb n$ is a unit
|
||||
vector such that the three vectors from a right handed system:
|
||||
|
||||

|
||||
|
||||
- $\pmb a \times \pmb b = -\pmb b \times \pmb a$ (the vector product is non-commutative[^d_commutative])
|
||||
- $\pmb a \times \pmb b = -\pmb b \times \pmb a$ (the vector product is anti-commutative[^d_commutative])
|
||||
- If $\pmb a \times \pmb b = 0$ then either
|
||||
|
||||
i. The vectors are parralel
|
||||
i. The vectors are parallel
|
||||
ii. One or both of the vectors are a zero vector
|
||||
|
||||
- $(k_1\pmb a)\times(k_2\pmb b) = (k_1k_2)(\pmb a \times \pmb b)$ where $k_1$, $k_2$ are scalars
|
||||
- If $\pmb a = (a_1, a_2, a_3)$ and $\pmb b = (b_1, b_2, b_3)$ then
|
||||
|
||||
@@ -120,7 +121,7 @@ vector such that the three vectors from a right handed system:
|
||||
This is technically not a determinant because not all the elements are numbers but shhhhhh...
|
||||
|
||||
|
||||
### Scalar Triple Product
|
||||
### Scalar Triple Product (and co-planar vectors)
|
||||
|
||||
\begin{align*}
|
||||
[ \pmb a, \pmb b, \pmb c ] &= \pmb a \cdot (\pmb b \times \pmb c) \\
|
||||
@@ -151,13 +152,13 @@ by those vectors:
|
||||
|
||||
## The Unit Vector
|
||||
|
||||
$$\hat a = \frac{a}{|a|}$$
|
||||
$$\hat{\pmb a}= \frac{\pmb a}{|\pmb a|}$$
|
||||
|
||||
## Components of a Vector
|
||||
|
||||
The component of a vector $\pmb a$ in the direction of the unit vector $\pmb n$ is
|
||||
The component of a vector $\pmb a$ in the direction of the **unit vector** $\hat{\pmb n}$ is
|
||||
|
||||
$$\pmb a \cdot \pmb n$$
|
||||
$$\pmb a \cdot \hat{\pmb n}$$
|
||||
|
||||

|
||||
|
||||
@@ -173,9 +174,9 @@ If $\pmb a = a_1\pmb i + a_2\pmb j + a_3\pmb k$ then the scalars $a_1$, $a_2$, a
|
||||
|
||||
### Vector Projections
|
||||
|
||||
The *vector projection* of $\pmb a$ onto $\pmb n$ is given by
|
||||
The *vector projection* of $\pmb a$ onto $\hat{\pmb n}$ is given by
|
||||
|
||||
$$(\pmb a \cdot \pmb n)\pmb n$$
|
||||
$$(\pmb a \cdot \hat{\pmb n})\hat{\pmb n}$$
|
||||
|
||||

|
||||
|
||||
@@ -206,6 +207,14 @@ $$\cos\theta = \frac{\pmb a \cdot \pmb b}{|\pmb a||\pmb b|} = \frac{a_1b_1 + a_2
|
||||
|
||||
## Application of Vectors to Geometry
|
||||
|
||||
### Area of a Parallelogram
|
||||
|
||||
$$area = |\pmb a||\pmb b|\sin\theta = |\pmb a \times \pmb b|$$
|
||||
|
||||
### Volume of a Parallelepiped
|
||||
|
||||
$$volume = | [ \pmb a, \pmb, b, \pmb c ] |$$
|
||||
|
||||
### Equation of a Straight Line
|
||||
|
||||
A straight line can be specified by
|
||||
@@ -271,7 +280,7 @@ $$(\pmb r - \pmb a) \cdot \pmb n = 0$$
|
||||
|
||||
So the *vector equation* of the plane is
|
||||
|
||||
$$\pmb r \cdot \pmb n = \pmb a \cdot \pmb n = \pmb d$$
|
||||
$$\pmb r \cdot \pmb n = \pmb a \cdot \pmb n = D$$
|
||||
|
||||
where $\pmb r = (x, y, z)$ and the vectors $\pmb a$ and $\pmb n$ are known.
|
||||
|
||||
@@ -280,7 +289,7 @@ Suppose $\pmb a$, $\pmb n$, and $\pmb r$ are given by
|
||||
\begin{align*}
|
||||
\pmb a &= (x_0, y_0, z_0) \\
|
||||
\pmb n &= (l, m, p) \\
|
||||
\pmb n &= (x, y, z)\\
|
||||
\pmb r &= (x, y, z)\\
|
||||
\text{then } 0 &= ((x, y, z) - (x_0, y_0, z_0))\cdot(l, m, p)
|
||||
\end{align*}
|
||||
|
||||
|
72
uni/mmme/1028_statics_and_dynamics/dynamics.md
Executable file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: MMME1028 // Dynamics
|
||||
tags: [ uni, mmme1028, dynamics ]
|
||||
uuid: e6d3a307-b2e6-40e3-83bb-ef73512d69ad
|
||||
---
|
||||
|
||||
# Circular Motion
|
||||
|
||||
$$a_c = r\omega^2$$
|
||||
|
||||
$$a = r\alpha \hat{e}_\theta - r\omega^2\hat{e}_r$$
|
||||
|
||||
## Moment of Inertia
|
||||
|
||||
$$J = mr^2 = \frac{M}{\ddot\theta}$$
|
||||
|
||||
The unit of $J$ is kgm$^2$.
|
||||
|
||||
Consider a particle of mass $m$ attached to one end of a rigid rod of length $r$.
|
||||
The rod is pivoting at its other end about point $O$, and experiences a torque $M$.
|
||||
This torque will cause the mass and the rod to rotate about $O$ with angular velocity
|
||||
$\dot{\theta}$ an angular acceleration $\ddot{\theta}$.
|
||||
|
||||

|
||||
|
||||
What is the expression for $M$?
|
||||
|
||||
Well if break down the moment $M$ into a force, $F$, acting on the mass, we know that the
|
||||
moment $M = Fr$.
|
||||
We know $F = ma$, and this case $a = r\ddot{\theta}$ so $M = mr^2\ddot\theta$.
|
||||
|
||||
The moment of inertia is $J = mr^2$ so $M = J\ddot\theta$.
|
||||
|
||||
If multiple torques are applied to a body the *rotational equation* of the motion is
|
||||
|
||||
$$\overrightarrow{M} = \sum_i \overrightarrow{M}_i = J \overrightarrow{\ddot\theta} = J \overrightarrow{\alpha}$$
|
||||
|
||||
The moment of inertia of any object is found by considering the object to be made up of lots of
|
||||
small particles and adding the moments of inertia for each small particle.
|
||||
The moments of inertia for a body depends on the mass and its distribution about the axis in
|
||||
consideration.
|
||||
|
||||
$$J = \sum_i m_ir^2_i \rightarrow \int\! r^2 \mathrm{d}m$$
|
||||
|
||||
### Perpendicular Axis Rule
|
||||
|
||||
The perpendicular axis rule states that, for lamina object:
|
||||
|
||||
$$J_z = J_x + J_y$$
|
||||
|
||||
where $J_x$, $J_y$, and $J_z$ are the moments of inertia along their respective axes.
|
||||
|
||||
### Parallel Axes Rule (Huygens-Steiner Theorem)
|
||||
|
||||
The parallel axes rule states that:
|
||||
|
||||
$$J_A = J_G = md^2$$
|
||||
|
||||
where $d$ is the perpendicular distance between the two axes.
|
||||
|
||||

|
||||
|
||||
### Moment of a Compound Object
|
||||
|
||||
The moment of inertia for any compound object can be calculated by adding and subtracting the
|
||||
moments of inertia for its 'standard' components.
|
||||
|
||||
### Moment of Inertia of Standard Objects
|
||||
|
||||
// TODO
|
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.5 MiB |
After Width: | Height: | Size: 418 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 63 KiB |
@@ -375,6 +375,25 @@ parts.
|
||||
|
||||
More manual labour is required and has longer cycle times than injection moulding.
|
||||
|
||||
# Machining Processes
|
||||
|
||||
## Advantages of Machining Processes
|
||||
|
||||
- High precision of geometrical dimensions, tolerances, and surface finishes
|
||||
- Is able to make one off prototypes in production grade material
|
||||
- Creates high volume production tooling
|
||||
- Increasing hard/brittle/fragile/tough materials can only be machines
|
||||
- Some designs are so complex that machining is the only realistic process to make them with
|
||||
|
||||
## Disadvantages of Machining Processes
|
||||
|
||||
- Material is wasted (as it is a subtractive process)
|
||||
- Complex parts require expensive machines to make and making them can take a long time
|
||||
- Parts need to be set up using fixtures. These fixtures get increasingly complex with the part.
|
||||
- Faster production rates and harder materials wear down the tools.
|
||||
|
||||
|
||||
|
||||
# Glossary
|
||||
|
||||
[^d_deflocculant]: a substance which, when added to scattered particles in suspension, causes a reduction in apparent viscosity. Deflocculants are substances which prevent flocculation by increasing zeta potential and therefore the repulsive forces between particles. (<https://digitalfire.com/article/deflocculants%3A+a+detailed+overview>)
|
||||
|
@@ -1090,7 +1090,7 @@ As you decrease grain size, you get more grain boundaries which basically create
|
||||
to prevent slip.
|
||||
|
||||
This is because a dislocation would have to change orientation across a grain boundary and "ionic
|
||||
disorder in the grain boundary results in discontinuity of slip" (A.B Seddon University of
|
||||
disorder in the grain boundary results in discontinuity of slip" (A.B Seddon, University of
|
||||
Nottingham 2020) (I think that's repeating it but it said it on the slideshow sooo...).
|
||||
|
||||
So for any given metal, the fine grained is harder and has greater yield stress than the coarse
|
||||
@@ -1104,6 +1104,41 @@ where $d$ is the grain size and $\sigma_0$ and $k_y$ are material constants.
|
||||
|
||||
Therefore a plot of $\sigma_{yield}$ against $d^{-0.5}$ would results in a straight line.
|
||||
|
||||
## Heat Treatment of Metals
|
||||
|
||||
These processes are to change a material's mechanical properties, not change its shape.
|
||||
|
||||
### Phase Diagrams
|
||||
|
||||
Here is an example of a *two component phase diagram* with a familiar system:
|
||||
|
||||

|
||||
|
||||
The component in this case are sugar and water, but not syrup.
|
||||
|
||||
A *phase* is a chemically and physically distinct species as we can have a change in phase that goes
|
||||
from solid to solid.
|
||||
|
||||
The *solubility limit* is the maximum concentration for which only a solution occurs.
|
||||
In the case of this system, thee limit increases with temperature.
|
||||
|
||||
Here is a generic phase diagram for a generic *A-B* system:
|
||||
|
||||

|
||||
|
||||
- L - liquid
|
||||
- $\alpha$ --- a solid phase but still a solution. B can dissolve into A
|
||||
- $\beta$ --- a solid phase but still a solution. A can dissolve into B
|
||||
|
||||
### Annealing
|
||||
|
||||
Annealing is a process by which a component is heated to remove the effects of cold work.
|
||||
|
||||

|
||||
|
||||
These are diffusional processes and only occur at high temperatures.
|
||||
The driver for diffusion is the removal of high energy defects from the system.
|
||||
|
||||
# Diffusion
|
||||
|
||||
Diffusion is atomic or ionic movement down a concentration gradient.
|
||||
|
@@ -13,7 +13,7 @@ tags:
|
||||
uuid: b88f78f8-a358-460b-9dbb-812e7b1ace92
|
||||
---
|
||||
|
||||
\newcommand\Rey{\mbox{\textit{Re}}}
|
||||
\newcommand\Rey{\text{Re}}
|
||||
\newcommand\textRey{$\Rey$}
|
||||
|
||||
# Introductory Concepts
|
||||
@@ -22,9 +22,9 @@ These are ideas you need to know about to know what's going on, I guess?
|
||||
|
||||
## Control Volumes
|
||||
|
||||
A control volume is a volume with an imaginary boundry to make it easier to analyze the flow of a
|
||||
A control volume is a volume with an imaginary boundary to make it easier to analyse the flow of a
|
||||
fluid.
|
||||
The boundry is drawn where the properties and conditions of the fluid is known, or where an
|
||||
The boundary is drawn where the properties and conditions of the fluid is known, or where an
|
||||
approximation can be made.
|
||||
Properties which may be know include:
|
||||
|
||||
@@ -33,7 +33,7 @@ Properties which may be know include:
|
||||
- Temperature
|
||||
- Viscosity
|
||||
|
||||
The region in the control volume is analyed in terms of enery and mass flows entering and leaving
|
||||
The region in the control volume is analysed in terms of energy and mass flows entering and leaving
|
||||
the control volumes.
|
||||
You don't have to understand what's going on inside the control volume.
|
||||
|
||||
@@ -50,7 +50,7 @@ momentum or the air passing through the engine.
|
||||

|
||||
|
||||
The control volume is drawn far enough in front of the engine that the air velocity entering can
|
||||
be assumed to be at atmospheric pressurce and its velocity negligible.
|
||||
be assumed to be at atmospheric pressure and its velocity negligible.
|
||||
|
||||
At the exit of the engine the boundary is drawn close where the velocity is known and the air
|
||||
pressure atmospheric.
|
||||
@@ -97,7 +97,7 @@ with respect to time, like the opposite of steady flow.
|
||||
## One Dimensional Flow
|
||||
|
||||
In one dimensional (1D) flow it is assumed that all properties are uniform over any plane
|
||||
perpedenciular to the direction of flow (e.g. all points along the cross section of a pipe have
|
||||
perpendicular to the direction of flow (e.g. all points along the cross section of a pipe have
|
||||
identical properties).
|
||||
|
||||
This means properties can only flow in one direction---usually the direction of flow.
|
||||
@@ -132,7 +132,7 @@ Same reasoning with if they are not parallel.
|
||||
### Pathlines
|
||||
|
||||
A pathline shows the route taken by a single particle during a given time interval.
|
||||
It is equivalent to a high exposure photograph which traces the moevement of the particle marked.
|
||||
It is equivalent to a high exposure photograph which traces the movement of the particle marked.
|
||||
You could track pathlines with a drop of injected dye or inserting a buoyant solid particle which
|
||||
has the same density as the solid.
|
||||
|
||||
@@ -147,7 +147,7 @@ Examples of this are line dye or a smoke stream which is produced from a continu
|
||||
|
||||
### Viscosity
|
||||
|
||||
A fluid offers resisistance to motion due to its viscosity or internal friction.
|
||||
A fluid offers resistance to motion due to its viscosity or internal friction.
|
||||
The greater the resistance to flow, the greater the viscosity.
|
||||
|
||||
Higher viscosity also reduces the rate of shear deformation between layers for a given shear stress.
|
||||
@@ -184,10 +184,10 @@ to the velocity gradient when straight and parallel flow is involved:
|
||||
|
||||
$$\tau = \mu\frac{\mathrm{d}v}{\mathrm{d}y}$$
|
||||
|
||||
Where $\mu$ is the constant of proportinality and known as the dynamic viscosity, or simply the
|
||||
Where $\mu$ is the constant of proportionality and known as the dynamic viscosity, or simply the
|
||||
viscosity of the fluid.
|
||||
|
||||
This is Newton's Law of Viscosity and fluids that ovey it are known as Newtonian fluids.
|
||||
This is Newton's Law of Viscosity and fluids that obey it are known as Newtonian fluids.
|
||||
|
||||
### Viscosity and Lubrication
|
||||
|
||||
@@ -222,15 +222,15 @@ Between fully laminar and fully turbulent flows is a transition region.
|
||||
|
||||
### Development of the Reynolds Number
|
||||
|
||||
In laminar flow the most influentialfactor is the magnitude of the viscous forces:
|
||||
In laminar flow the most influential factor is the magnitude of the viscous forces:
|
||||
|
||||
$$viscous\, forces \propto \mu\frac v l l^2 = \mu vl$$
|
||||
|
||||
where $v$ is a characteristic velocit and $l$ is a characteristic length.
|
||||
where $v$ is a characteristic velocity and $l$ is a characteristic length.
|
||||
|
||||
In turbulent flow viscous effects are not significant but inertia effects (mixing, momentum
|
||||
exchange, acceleration of fluid mass) are.
|
||||
Interial forces can be represented by $F = ma$
|
||||
Inertial forces can be represented by $F = ma$
|
||||
|
||||
\begin{align*}
|
||||
m &\propto \rho l^3 \\
|
||||
@@ -240,7 +240,7 @@ a &= \frac{dv}{dt} \\
|
||||
&\therefore \text{Interial forces} \propto \rho l^2\frac{v^2} l = \rho l^2v^2
|
||||
\end{align*}
|
||||
|
||||
The ratio of internalforces to viscous forces is called the Reynolds number and is abbreviated to
|
||||
The ratio of internal forces to viscous forces is called the Reynolds number and is abbreviated to
|
||||
Re:
|
||||
|
||||
$$\Rey = \frac{\text{interial forces}}{\text{viscous forces}} = \frac {\rho l^2v^2}{\mu vl} = \frac {\rho vl} \mu$$
|
||||
@@ -248,12 +248,12 @@ $$\Rey = \frac{\text{interial forces}}{\text{viscous forces}} = \frac {\rho l^2v
|
||||
where $\rho$ and $\mu$ are fluid properties and $v$ and $l$ are characteristic velocity and length.
|
||||
|
||||
- During laminar flow, $\Rey$ is small as viscous forces dominate.
|
||||
- During turbulent flow, $\Rey$ is large as intertial forces dominate.
|
||||
- During turbulent flow, $\Rey$ is large as inertial forces dominate.
|
||||
|
||||
\textRey is a non dimensional group.
|
||||
It has no units because the units cancel out.
|
||||
|
||||
Non dimensional groups are very important in fluid mechancics and need to be considered when scaling
|
||||
Non dimensional groups are very important in fluid mechanics and need to be considered when scaling
|
||||
experiments.
|
||||
|
||||
If \textRey is the same in two different pipes, the flow will be the same regardless of actual
|
||||
@@ -285,7 +285,7 @@ $$\frac 1 \rho \frac{\delta p}{\delta s} + g\frac{\delta z}{\delta s} + v\frac{\
|
||||
|
||||
## Assumptions / Conditions
|
||||
|
||||
The Euler euqation applies where the following can be assumed:
|
||||
The Euler equation applies where the following can be assumed:
|
||||
|
||||
- Steady flow
|
||||
- The fluid is inviscid
|
||||
@@ -350,7 +350,7 @@ $$\frac p {\rho g} + z + \frac{v^2}{2g} = H_T$$
|
||||
|
||||
where $H_T$ is constant and:
|
||||
|
||||
- $\frac{p}{\rho g}$ --- static/pressure haed
|
||||
- $\frac{p}{\rho g}$ --- static/pressure head
|
||||
- $z$ --- elevation head
|
||||
- $\frac{v_2}{2g}$ --- dynamic/velocity head
|
||||
- $H_T$ --- total head
|
||||
@@ -393,15 +393,15 @@ Head form:
|
||||
\frac{p_s}{\rho g} + z &= \text{piezometric head}
|
||||
\end{align*}
|
||||
|
||||
# Steady Flow Energy Equation (SFEE)
|
||||
# Steady Flow Energy Equation (SFEE) and the Extended Bernoulli Equation (EBE)
|
||||
|
||||
SFEE is a more general equation that can be applied to **any fluid** and also is also takes
|
||||
**heat energy** into account.
|
||||
This is useful in applications such as a fan heater, jet engines, ICEs, and steam turbines.
|
||||
|
||||
The equation deals with 3 types of energy tranfer:
|
||||
The equation deals with 3 types of energy transfer:
|
||||
|
||||
1. Thermal energy transfer (e.g. heat tranfer from central heating to a room)
|
||||
1. Thermal energy transfer (e.g. heat transfer from central heating to a room)
|
||||
2. Work energy transfer (e.g. shaft from car engine that turns wheels)
|
||||
3. Energy transfer in fluid flows (e.g. heat energy in a flow, potential energy in a flow, kinetic
|
||||
energy in a flow)
|
||||
@@ -450,7 +450,7 @@ $$\delta E = \delta E_2 - \delta E_1 = \delta m(e_2 - e_1)$$
|
||||
|
||||
#### The Work Term
|
||||
|
||||
The work term, $\delta W$, is mae up of shaft work **and the work necessary to deform the system**
|
||||
The work term, $\delta W$, is made up of shaft work **and the work necessary to deform the system**
|
||||
(by adding $\delta m_1$ at the inlet and removing $\delta m_2$ at the outlet):
|
||||
|
||||
$$\delta W = \delta W_s + \text{net flow work}$$
|
||||
@@ -486,7 +486,7 @@ Dividing everything by $\delta m$ and with a bit of rearranging we get:
|
||||
|
||||
$$q + w_s = e_2-e_1 + \frac{p_2}{\rho_2} - \frac{p_1}{\rho_1}$$
|
||||
|
||||
#### Substiute Back for $e$
|
||||
#### Substitute Back for $e$
|
||||
|
||||
$$e = u + \frac{v^2}{2} + gz$$
|
||||
|
||||
@@ -534,7 +534,7 @@ $$\dot W = \dot m (h_2-h_1) = \dot m c_p(T_2-T_1)$$
|
||||
|
||||
#### Mixing Devices
|
||||
|
||||
e.g. hot and cold water in a shower
|
||||
e.g. Hot and cold water in a shower
|
||||
|
||||
In these processes, work and heat transfers are not important and you can often
|
||||
neglect potential and kinetic energy terms, giving us the same equation as for the throttle valve
|
||||
@@ -546,3 +546,110 @@ which you may want to write more usefully as:
|
||||
|
||||
$$\sum \dot m h_{out} = \sum \dot m h_{in}$$
|
||||
|
||||
## SFEE for Incompressible Fluids and Extended Bernoulli Equation
|
||||
|
||||
$$\frac{w_s}{g} = H_{T2} - H_{T1} + \left[ \frac{(u_2-u_1)-1}{g}\ \right]$$
|
||||
|
||||
or
|
||||
|
||||
$$w_s = g(H_{T2}-H_{T1}+H_f$$
|
||||
|
||||
If we assume shaft work, $w_s$, is 0, then we can get this equation:
|
||||
|
||||
$$H_{T1}-H_{T2} = H_f$$
|
||||
|
||||
This is very similar to the Bernoulli equation.
|
||||
The difference is that it considers friction so it can be applied to real fluids, not just ideal
|
||||
ones.
|
||||
It is called the *Extended Bernoulli Equation*.
|
||||
|
||||
The assumptions remain:
|
||||
|
||||
- Steady flow
|
||||
- No shaft work
|
||||
- Incompressible
|
||||
|
||||
### $H_f$ for Straight Pipes
|
||||
|
||||
$$H_f = \frac{4fL}{D} \frac{v^2}{2g}$$
|
||||
|
||||
$$\Delta p = \rho g H_f \text{ (pressure form)}$$
|
||||
|
||||
This equation applies to long, round and straight pipes.
|
||||
It applies to both laminar and turbulent flow.
|
||||
|
||||
However be aware that in North America the equation is:
|
||||
|
||||
$$H_f = f \frac{L}{D} \frac{v^2}{2g}$$
|
||||
|
||||
Their $f$ (the Darcy Friction Factor) is four times our $f$ (Fanning Friction Factor).
|
||||
In mainland Europe, they use $\lambda = 4f_{Fanning}$, which is probably the least confusing version
|
||||
to use.
|
||||
|
||||
### Finding $f$
|
||||
|
||||
#### $f$ for Laminar Flow
|
||||
|
||||
$$f = \frac{16}{\Rey}$$
|
||||
|
||||
#### $f$ for Turbulent Flow
|
||||
|
||||
For turbulent flow, the value defends on relative pipe roughness ($k' = \frac k d$) and Reynolds
|
||||
number.
|
||||
|
||||
Note when calculating $k'$ that **both $k$ and $d$ are measured in mm** for some reason.
|
||||
|
||||
A *Moody Chart* is used to find $f$:
|
||||
|
||||

|
||||
|
||||
### Hydraulic Diameter
|
||||
|
||||
$$D_h = \frac{4 \times \text{duct area}}{\text{perimeter}}$$
|
||||
|
||||
### Loss Factor $K$
|
||||
|
||||
There are many parts of the pipe where losses can occur.
|
||||
|
||||
It is convenient to represent these losses in terms of loss factor, $K$, times the velocity head:
|
||||
|
||||
$$H_f = K \frac{v^2}{g}$$
|
||||
|
||||
Most manufacturers include loss factors in their data sheets.
|
||||
|
||||
#### Loss Factor of Entry
|
||||
|
||||

|
||||
|
||||
#### Loss Factor of Expansion
|
||||
|
||||
$$K = \left( \frac{A_2}{A_1} - 1\right)^2$$
|
||||
|
||||
This also tells us the loss factor on exit is basically 1.
|
||||
|
||||
For conical expansions, $K ~ 0.08$ (15 degrees cone angle),
|
||||
$K ~ 0.25$ (30 degrees).
|
||||
For cones you use the inlet velocity.
|
||||
|
||||
#### Loss Factor of Contraction
|
||||
|
||||
$\frac{d_2}{d_1}$ | K
|
||||
----------------- | ----
|
||||
0 | 0.5
|
||||
0.2 | 0.45
|
||||
0.4 | 0.38
|
||||
0.6 | 0.28
|
||||
0.8 | 0.14
|
||||
1.0 | 0
|
||||
|
||||
#### Loss Factor of Pipe Bends
|
||||
|
||||
On a sharp bend, $K ~ 0.9$.
|
||||
|
||||
On a bend with a radius, $K ~ 0.16-0.35$.
|
||||
|
||||
#### Loss Factor of Nozzle
|
||||
|
||||
$$K ~ 0.05$$
|
||||
|
||||
But you use the outlet velocity, increasing losses.
|
||||
|
@@ -17,22 +17,20 @@ uuid: 43e8eefa-567f-438b-b93d-63ae08e61d8f
|
||||
|
||||
## What is a Fluid?
|
||||
|
||||
- A fluid may be liquid, vapor, or gas
|
||||
- A fluid may be liquid, vapour, or gas
|
||||
- No permanent shape
|
||||
- Consists of atoms in random motion and continual collision
|
||||
- Easy to deform
|
||||
- Liquids have fixed volume, gasses fill up container
|
||||
- **A fluid is a substance for wich a shear stress tends to produce unlimited, continuous
|
||||
- **A fluid is a substance for which a shear stress tends to produce unlimited, continuous
|
||||
deformation**
|
||||
|
||||
## Shear Forces
|
||||
|
||||
- For a solid, application of shear stress causes a deformation which, if not too great (elastic),
|
||||
is not permanent and solid regains original positon
|
||||
- For a fluid, continuious deformation takes place as the molecules slide over each other until the
|
||||
is not permanent and solid regains original position
|
||||
- For a fluid, continuous deformation takes place as the molecules slide over each other until the
|
||||
force is removed
|
||||
- **A fluid is a substance for wich a shear stress tends to produce unlimited, continuous
|
||||
deformation**
|
||||
|
||||
## Density
|
||||
|
||||
@@ -51,7 +49,7 @@ uuid: 43e8eefa-567f-438b-b93d-63ae08e61d8f
|
||||
|
||||
- Matter is not continuous on molecular scale
|
||||
- For fluids in constant motion, we take a time average
|
||||
- For most practical purposes, matter is considered to be homogenous and time averaged
|
||||
- For most practical purposes, matter is considered to be homogeneous and time averaged
|
||||
|
||||
## Pressure
|
||||
|
||||
@@ -77,7 +75,7 @@ uuid: 43e8eefa-567f-438b-b93d-63ae08e61d8f
|
||||
|
||||
- A fluid at rest has constant pressure horizontally
|
||||
- That's why liquid surfaces are flat
|
||||
- But fluids at rest do have a vertical gradient, where lower parts have higher presure
|
||||
- But fluids at rest do have a vertical gradient, where lower parts have higher pressure
|
||||
|
||||
### How Does Pressure Vary with Depth?
|
||||
|
||||
@@ -116,11 +114,11 @@ The -ve sign indicates that as $z$, height, increases, $p$, pressure, decreases.
|
||||
### Absolute and Gauge Pressure
|
||||
|
||||
- Absolute Pressure is measured relative to zero (a vacuum)
|
||||
- Guage pressure = absolute pressure - atmospheric pressure
|
||||
- Gauge pressure = absolute pressure - atmospheric pressure
|
||||
|
||||
- Often used in industry
|
||||
|
||||
- If abs. pressure = 3 bar and atmospheric pressure is 1 bar, then gauge pressure = 2 bar
|
||||
- If absolute pressure = 3 bar and atmospheric pressure is 1 bar, then gauge pressure = 2 bar
|
||||
- Atmospheric pressure changes with altitude
|
||||
|
||||
## Compressibility
|
||||
@@ -132,7 +130,7 @@ The -ve sign indicates that as $z$, height, increases, $p$, pressure, decreases.
|
||||
## Surface Tension
|
||||
|
||||
- In a liquid, molecules are held together by molecular attraction
|
||||
- At a boundry between two fluids this creates "surface tension"
|
||||
- At a boundary between two fluids this creates "surface tension"
|
||||
- Surface tension usually has the symbol $$\gamma$$
|
||||
|
||||
## Ideal Gas
|
||||
@@ -155,7 +153,7 @@ The -ve sign indicates that as $z$, height, increases, $p$, pressure, decreases.
|
||||
- Pressure always in Pa
|
||||
- Temperature always in K
|
||||
|
||||
## Units and Dimentional Analysis
|
||||
## Units and Dimensional Analysis
|
||||
|
||||
- It is usually better to use SI units
|
||||
- If in doubt, DA can be useful to check that your answer makes sense
|
||||
@@ -289,7 +287,7 @@ p_1 - p_2 &= \rho_wg(z_C-z_B-z_C+z_A) + \rho_mg\Delta z \\
|
||||
the upper surface (figure 1.4). The tank and riser are filled with
|
||||
water such that the water level in the riser pipe is 3.5 m above the
|
||||
|
||||
Calulate:
|
||||
Calculate:
|
||||
|
||||
i. The gauge pressure at the base of the tank.
|
||||
|
||||
@@ -299,7 +297,7 @@ p_1 - p_2 &= \rho_wg(z_C-z_B-z_C+z_A) + \rho_mg\Delta z \\
|
||||
|
||||
> $$\rho gh = 1000\times9.81\times3.5 = 34 \text{ kPa}$$
|
||||
|
||||
iii. The force exercted on the base of the tank due to gauge water pressure.
|
||||
iii. The force exerted on the base of the tank due to gauge water pressure.
|
||||
|
||||
> $$F = p\times A = 49\times10^3\times6\times3 = 8.8\times10^5 \text{ N}$$
|
||||
|
||||
@@ -345,7 +343,7 @@ p_1 - p_2 &= \rho_wg(z_C-z_B-z_C+z_A) + \rho_mg\Delta z \\
|
||||
|
||||
## Submerged Surfaces
|
||||
|
||||
### Prepatory Maths
|
||||
### Preparatory Maths
|
||||
|
||||
#### Integration as Summation
|
||||
|
||||
@@ -370,7 +368,7 @@ Take the following lamina:
|
||||
1. Split the lamina into elements parallel to the chosen axis
|
||||
2. Each element has area $\delta A = w\delta y$
|
||||
3. The moment of area ($\delta M$) of the element is $\delta Ay$
|
||||
4. The sum of moments of all the elements is equal to the moment $M$ obtained by assuing all the
|
||||
4. The sum of moments of all the elements is equal to the moment $M$ obtained by assuming all the
|
||||
area is located at the centroid or:
|
||||
|
||||
$$Ay_c = \int_{area} \! y\,\mathrm{d}A$$
|
||||
@@ -426,7 +424,7 @@ Determine the location of the centroid of a rectangular lamina.
|
||||
|
||||
</details>
|
||||
|
||||
### Horizontal Submereged Surfaces
|
||||
### Horizontal Submerged Surfaces
|
||||
|
||||

|
||||
|
||||
@@ -492,12 +490,12 @@ Where $\rho$ is the density of the fluid, and $V$ is the volume of displaced flu
|
||||
### Immersed Bodies
|
||||
|
||||
As pressure increases with depth, the fluid exerts a resultant upward force on a body.
|
||||
There is no horizontal component of the buoyancy force because the vertiscal projection of the body
|
||||
There is no horizontal component of the buoyancy force because the vertical projection of the body
|
||||
is the same in both directions.
|
||||
|
||||
### Rise, Sink, or Float?
|
||||
|
||||
- $F_B = W$ \rightarrow equilirbrium (floating)
|
||||
- $F_B = W$ \rightarrow equilibrium (floating)
|
||||
- $F_B > W$ \rightarrow body rises
|
||||
- $F_B < W$ \rightarrow body sinks
|
||||
|
||||
|
After Width: | Height: | Size: 278 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 48 KiB |
BIN
uni/mmme/1048_thermodynamics_and_fluid_mechanics/ph_graph.pdf
Normal file
@@ -23,12 +23,12 @@ Thermodynamics deals with the transfer of heat energy and temperature.
|
||||
A region of space, marked off by its boundary.
|
||||
It contains some matter and the matter inside is what we are investigating.
|
||||
|
||||
There are two types of sysems:
|
||||
There are two types of systems:
|
||||
|
||||
- Closed systems
|
||||
|
||||
- Contain a fixed quantity of matter
|
||||
- Work and heat cross bounaries
|
||||
- Work and heat cross boundaries
|
||||
- Impermeable boundaries, some may be moved
|
||||
- Non-flow processes (no transfer of mass)
|
||||
|
||||
@@ -125,7 +125,7 @@ c_p &= \frac{\gamma}{\gamma -1} R
|
||||
|
||||
</details>
|
||||
|
||||
### The Specfic and Molar Gas Constant
|
||||
### The Specific and Molar Gas Constant
|
||||
|
||||
The molar gas constant is represented by $\tilde R = 8.31 \text{JK}^{-1}\text{mol}^{-1}$.
|
||||
|
||||
@@ -141,10 +141,10 @@ An example of a process is expansion (volume increasing).
|
||||
A *cycle* is a process or series of processes in which the end state is identical to the beginning.
|
||||
And example of this could be expansion followed by a compression.
|
||||
|
||||
### Reversible and Irreversible Proccesses
|
||||
### Reversible and Irreversible Processes
|
||||
|
||||
During reversible processes, the system undergoes a continuous succession of equilibrium states.
|
||||
Changes in the system can be defined and reversed to restore the intial conditions
|
||||
Changes in the system can be defined and reversed to restore the initial conditions
|
||||
|
||||
All real processes are irreversible but some can be assumed to be reversible, such as controlled
|
||||
expansion.
|
||||
@@ -225,7 +225,7 @@ These properties are the *properties of state* and they always have the same val
|
||||
state.
|
||||
|
||||
A *property* can be defined as any quantity that depends on the *state* of the system and is
|
||||
independant of the path by which the system arrived at the given state.
|
||||
independent of the path by which the system arrived at the given state.
|
||||
Properties determining the state of a thermodynamic system are referred to as *thermodynamic
|
||||
properties* of the *state* of the system.
|
||||
|
||||
@@ -547,3 +547,90 @@ $$Q = m (c_v-c_v)(T_2-T_1) = 0 $$
|
||||
|
||||
This proves that the isentropic version of the process adiabatic (no heat is transferred across the
|
||||
boundary).
|
||||
|
||||
# 2nd Law of Thermodynamics
|
||||
|
||||
The 2nd Law recognises that processes happen in a certain direction.
|
||||
It was discovered through the study of heat engines (ones that produce mechanical work from heat).
|
||||
|
||||
> Heat does not spontaneously flow from a cooler to a hotter body.
|
||||
|
||||
~ Clausius' Statement on the 2nd Law of Thermodynamics
|
||||
|
||||
> It is impossible to construct a heat engine that will operate in a cycle and take heat from a
|
||||
> reservoir and produce an equivalent amount of work.
|
||||
|
||||
~ Kelvin-Planck Statement of 2nd Law of Thermodynamics
|
||||
|
||||
|
||||
## Heat Engines
|
||||
|
||||
A heat engine must have:
|
||||
|
||||
- Thermal energy reservoir --- a large body of heat that does not change in temperature
|
||||
- Heat source --- a reservoir that supplies heat to the engine
|
||||
- Heat sink --- a reservoir that absorbs heat rejected from a heat engine (this is usually
|
||||
surrounding environment)
|
||||
|
||||

|
||||
|
||||
#### Steam Power Plant
|
||||
|
||||

|
||||
|
||||
## Thermal Efficiency
|
||||
|
||||
For heat engines, $Q_{out} > 0$ so $W_{out} < Q_{in}$ as $W_{out} = Q_{in} - Q_{out}$
|
||||
|
||||
$$\eta = \frac{W_{out}}{Q_{in}} = 1 - \frac{Q_{out}}{Q_{in}}$$
|
||||
|
||||
Early steam engines had efficiency around 10% but large diesel engines nowadays have efficiencies
|
||||
up to around 50%, with petrol engines around 30%.
|
||||
The most efficient heat engines we have are large gas-steam power plants, at around 60%.
|
||||
|
||||
## Carnot Efficiency
|
||||
|
||||
The maximum efficiency for a heat engine that operates reversibly between the heat source and heat
|
||||
sink is known as the *Carnot Efficiency*:
|
||||
|
||||
$$\eta_{carnot} = 1 - \frac{T_2}{T_1}$$
|
||||
|
||||
where $T$ is in Kelvin (or any unit of absolute temperature, I suppose)
|
||||
|
||||
Therefore to maximise potential efficiency, you want to maximise input heat temperature, and
|
||||
minimise output heat temperature.
|
||||
|
||||
The efficiency of any heat engine will be less than $\eta_{carnot}$ if it operates between more than
|
||||
two reservoirs.
|
||||
|
||||
## Reversible and Irreversible Processes
|
||||
|
||||
### Reversible Processes
|
||||
|
||||
A reversible process operate at thermal and physical equilibrium.
|
||||
There is no degradation in the quality of energy.
|
||||
|
||||
There must be no mechanical friction, fluid friction, or electrical resistance.
|
||||
|
||||
Heat transfers must be across a very small temperature difference.
|
||||
|
||||
All expansions must be controlled.
|
||||
|
||||
### Irreversible Processes
|
||||
|
||||
In irreversible processes, the quality of the energy degrades.
|
||||
For example, mechanical energy degrades into heat by friction and heat energy degrades into lower
|
||||
quality heat (a lower temperature), including by mixing of fluids.
|
||||
|
||||
Thermal resistance at both hot sources and cold sinks are an irreversibility and reduce efficiency.
|
||||
|
||||
There may also be uncontrolled expansions or sudden changes in pressure.
|
||||
|
||||
# Energy Quality
|
||||
|
||||
## Quantifying Disorder (Entropy)
|
||||
|
||||
$$S = k\log_eW$$
|
||||
|
||||
where $S$ is entropy, $k = 1.38\times10^{-23}$ J/K is Boltzmann's constant, and $W$ is the number of
|
||||
ways of reorganising energy.s
|
||||
|
1
uni/mmme/2044_design_manufacture_and_project/.n2w.yml
Normal file
@@ -0,0 +1 @@
|
||||
itags: [ mmme2044 ]
|
BIN
uni/mmme/2044_design_manufacture_and_project/MMME2044.apkg
Normal file
102
uni/mmme/2044_design_manufacture_and_project/MMME2044.txt
Normal file
@@ -0,0 +1,102 @@
|
||||
#separator:tab
|
||||
#html:false
|
||||
what are plain bearings - a suitable solid material fitted between shaft and support to reduce friction and wear - bearing may be dry rubbing bearing or lubricated
|
||||
what types of lubrication can be used for plain bearings - hydrodynamic - hydrostatic - solid-film - boundary layer
|
||||
what is hydrodynamic lubrication the shaft rotating in oil creates the oil pressure to lubricate the shaft
|
||||
what are ball and roller bearings the rotating load is converted to rolling contact of the balls or rollers
|
||||
what are the parts of a ball bearing
|
||||
what is the difference between a journal bearing and a thrust bearing - a journal bearing supports the shaft radially - a thurst bearing supports the shaft axially
|
||||
when would one use a plain rubbing bearing low load, low speed applications
|
||||
what is the pV factor and what is it the product of a measure of the bearing's ability to cope with frictional heat generation p- pressure V- speed at contact point
|
||||
what is the projected area of a radial sliding bearing the area of a journal when looking down from it:
|
||||
what is the thrust area of an axial bearing area of the bearing that isn't holey [$]\frac\pi4 \left(D^2-d^2\right)[/$]
|
||||
what is the wear volume of an axial sliding bearing the non holey area multiplied by the distance the bearing can wear down without issue [$]YA_\text{thrust} = Y\frac\pi4\left(D^2-d^2\right)[/$]
|
||||
what are the main properties of plain rubbing bearings (4) - usually made of polymers - moulded to final shape - dry lubricants added - reinforcements added
|
||||
what dry lubricants and reinforcements are added to plain rubbing bearings - PTFE lubricant added - glass fibre reinforement added
|
||||
what limits the pressure and speed a plain bearing can be operated at strength and temperature, respectively
|
||||
what differentiates oil lubricated porous bearings - manufactured from sintered metal powders - porous and impregnated
|
||||
how often does lubricant need to be replenished in porous bearings roughly 1000 hours
|
||||
list some of the lowest coefficient of friction bearing materials and their coefficient range - babbitt metal (0.005 to 0.1) - POM (0.05-0.15) - cast iron and lead bronze with grease (0.05 to 0.15)
|
||||
list the highest pV bearing materials - babbitt metal (2) - cast iron and lead bronze with grease (1) - porous bronze (1)
|
||||
what is the equation for wear factor, [$]K[/$] [$]K = \frac{W}{FVt}[/$] where $W$ is wear volume, $F$ is bearing load, $V$ is sliding velocity, and $t$ is elapsed time
|
||||
what is the main issue with hydrodynamic bearings surfaces touch at low speeds
|
||||
draw the curve of friction against speed
|
||||
describe the properties of boundary lubrication continuoous and extensive contactlubricant is smeared across surfacecoefficient of friction 0.05 to 0.2wear take place & limits life
|
||||
what are the properties of mixed lubrication higher surface speedsintermittent contact between surfacepartial hydrodynamic supportcoefficient of friction of 0.004 to 0.10very high local pressures can create elastic deformation of surfaces
|
||||
what is elastohydrodynamic lubrication fluid film lubrication where high local pressure create elastic deformation of surfaces
|
||||
what are the properties of hydrodynamic lubrication high speedsno contact between surfaces---no wearminimum film thickness of 8 to 20 micronsvery good surface finish and tolerances requiredcoefficient of friction between 0.002 to 0.01
|
||||
what is the Sommerfeld number a dimensionless number describing the relationship between a bearings dimensions, speeds, and fluid properties [$]S = \left( \frac R h\right)^2 \frac{\eta n}{P}[/$] where R is radius, h is clearance, [$]\eta[/$] is viscosity, n is angular speed, and P is bearing pressure
|
||||
what is the equation for clearance of a bearing [$]h = R_\text{bearing} - R_{shaft}[/$]
|
||||
what is petroff's equation and what is it used for [$]\mu = 2\pi^2 \frac{\eta n}{P}\frac{R}{h}[/$] used for lightly loaded bearings
|
||||
equation for hydrodynamic journal bearing capacity [$]F = S\eta V \left(\frac{R}{h}\right)^2[/$]
|
||||
equation for thrust capacity for hydrodynamic thrust bearing [$]F = 6\eta\left[ \frac{Ln(1+n)}{n^2} - \frac{2}{n(2+n)}\right]\frac{VL^2}{h_\text{min}^2}[/$] where [$]n = \frac{h_\text{max}}{h_\text{min}}-1[/$]
|
||||
what causes friction between components in relative motion real surfaces have asperities which stick out and make contact with the other facewhen sliding, asperities catch and must be deformed or brokenthe forces required to do so is friction
|
||||
what are the different rolling element types
|
||||
what are the types of ball bearings and what are their primary features
|
||||
what is the equation for static load carrying capacty [$]s_0 = \frac{C_0}{P_0}[/$] where s is the static safety factor, P, is the equivalent static bearing load, and C is the basic static load rating
|
||||
dynamic load carrying capacity [$]L_{10} = \left(\frac CP \right)^q[/$] where L10 is the basic life rating in millions of revolutions, C is the basic dynamic load rating, P is equivalent dynamic bearing load, q is exponent of life: 3 for balls10/3 for rollers
|
||||
what are the equations for equivalent dynamic load (4) constant magnitude and direction: P = F axial and radial load: [$]P = XF_r + YF_a[/$] (X and Y from manufacturers data)roller bearings: P = F_rfluctuating loads: [$]F_m = \sqrt[3]{\frac{F_1^3U_1 + \cdots}{U}}[/$]
|
||||
when would you have adjust life rating (5) low reliabilityhigh temperaturehigh vibrationrisk of water ingressrisk of corrosion
|
||||
why should a locating bearing be used in conjunction with a floating bearing ensures journal does not slide about axially (i think)
|
||||
what combinations of bearings can be used to support a shaft (5) 2 angular contact bearings - free sliding housing for axial adjustmentone ball + one roller - roller supports radial, ball supports axial and radial2 taper rollers - both support radial and axial, one bearing adjusted against other to required preload2 balls - radial and axial loads, one clamped axially on both races while other left free2 roller - accepts heavy radial load, some axial, each roller locates axially one in direction
|
||||
when should you slide fit the inner race with the shaft when the load rotates with the shaft
|
||||
what is the difference between bolts, screws, and studs bolts have an unthreaded core, and a matching nutscrews are threaded all the way and screw directly into a materialstuds do not have heads
|
||||
draw a lap joint and the forces they are designed to handle
|
||||
draw a butt joint and the forces they are designed to handle
|
||||
what is a rivet a non threaded fastener that is deformed around the parts to be joined
|
||||
what are the types of rivets (3) solidtubular - have a hole down the axisblind (pop rivets)
|
||||
what are the advantages of rivets (5) low costrapid assemblypermanentcan join dissimilar materialswide range of shapes and materials
|
||||
what are the disadvantages of rivits (3) slower than welding and adhesivespoor under tensile loadsjoints leak unless sealed
|
||||
draw a welded but joint and forces is designed to handle
|
||||
draw a welded lap joint and the forces it is designed to handle
|
||||
draw a double fillet t joint
|
||||
draw a fillet cornet joint
|
||||
why are bolts pre tensioned stops faces from separatingreduces fluctuating stresses experienced by bolt -> increases fatigue life
|
||||
what is the recommend preload for non permanent joints [$]F_i = 0.75A_s\sigma_p[/$]
|
||||
what is the rceommended preload for permanent joints [$]F_i = 0.9A_s\sigma_p[/$]
|
||||
what is the tensile area of a bolt [$]A_s = \frac{\pi}{16}(d_p+d_r)^2[/$]
|
||||
what is the pitch diameter of a bolt [$]d_p = d-0.6495p[/$]
|
||||
what is the minor diameter of a bolt [$]d_r = d-1.0825p[/$]
|
||||
what can proof strength be approximated to if unavailable [$]\sigma_p = 0.85\sigma_y[/$]
|
||||
"what does the marking ""MX.Y"" mean on a bolt" X - has tensile strength of X*100 MPa Y - has yield strength of Y*X*10 Mpa
|
||||
what is the bolt torque pre tension equation [$]T= KF_id[/$] where K is torque coefficient (around 0.2 for most cases), and d is nominal diameter
|
||||
how can the stiffness of a bolt be reduced (2) reduce cross sectional areaincrease length
|
||||
what stress reserve factor would you want for reliable materials under controlled conditions and known stresses 1.25 to 1.5
|
||||
what stress reserve factor would you want for average materials with known loads and stresses 2 to 2.5
|
||||
what reserve factor would you want for untried materials in average conditions 3 to 3.5
|
||||
what reserve factor would you want for well known materials in uncertain conditions 3 to 3.5
|
||||
what are the steps to select a bolt (6) consider permanent vs non permanent, define external load, number of bolts, and reserve factorestimate preload by assuming hard joint (K_c = 3K_b)choose suitable bolt size and determine preload by using table 5 of bs en iso 898-1:2009calculate stiffness of bolts and componentscalculate maximum allowable external loadcalculate reserve factor
|
||||
why is a pre tensioned bolted joint beneficial for cyclic loading pre tension raises mean stress which increases fatigue life
|
||||
what must be considered when using helical gears axial load generated
|
||||
what are the properties of spur gears between parallel shafts (4) cheap to manufacturenoisyfew number number of teeth in contact at any given timesensitive to alignment
|
||||
what are the properties of helical gears teeth cut at inclined angle to axis of rotationcontact between teeth more progressive and longercarries higher loadsquietercan be mounted at right anglesdouble helical gears (herringbone) can cancel out axial thrust for smoother power transmission at high speeds
|
||||
what is the pitch circle circle upon which all calculations are based
|
||||
what is circular pitch the distance between two identical points on adjacent teeth on a gear
|
||||
what is the module of a gear, m [$]m = \frac d N [/$] where d is pitch diameter, N is number of teeth
|
||||
what is tooth thickness and width of space [$]t = w = 0.5p[/$] where p is circular pitch
|
||||
what is the addendum radial distance between pitch circle and top land a = m
|
||||
what is the dedendum radial distance between pitch circle and bottom land b = 1.25 m
|
||||
what is the clearance c = 0.25m radial distance between bottom land of gear 1 and top land of gear 2
|
||||
what is the whole depth of a gear ht = addendum + dedendum = 2.25m
|
||||
what is the working depth of a gear hk = addendum + dedendum - clearance = 2m
|
||||
what are the conditions for proper meshing between gears module is samepressure angle is same
|
||||
what are the common pressure angles 20 degrees14.5 degrees
|
||||
what is the equation for centre distance betwen two gears [$]C = \frac m 2 (N_1 + N_2)[/$]
|
||||
what is the minimum number of teeth for standard gears of pressure angle 20 degrees 18
|
||||
what is a simple gear train each shaft only carries one gear
|
||||
what is a compound gear train a gear train where at least one shaft carries two or more gears
|
||||
what is a reverted train a compond train in which the input and shaft are colinear
|
||||
what is a planetary gear train has a sun gear, planet carrier, and one or more planet gears
|
||||
what differentiates planetary gear systems it has two degrees of freedomhas very high gear ratios
|
||||
what are the common forms of gear failure bending fatiguepittingmicropittingscuffing
|
||||
what is a lower pair joint joint with surface contact (pin in a hole)
|
||||
what is a higher pair joint a joint with point or line contact, such as a pin in a slot
|
||||
what is rectilinear translation points in the body move in parallel straight lines
|
||||
what is curvilinear motion points in the body move along idential curves so the link does not rotate with respect to the ground
|
||||
what is the equation for degrees of freedom of a mechanism (gruebler's) M = 3L - 2J - 3G
|
||||
what does it mean if a structure has negative degrees of freedom it's preloaded or overconstrained
|
||||
what is the grashof condition equation and what does it mean S + L < P + Q: it is a grashof linkage and at least one link can make a full revolutionS + L > P + Q: non grashof and no link capable of making full revolutionS + L = P + Q: special grashof - either double-cranks or crank rockers
|
||||
what is a limit/toggle test checks if linkage can reach all positions without encountering a limit of toggle positiontoggle positons may be determined by collinearity of two links
|
||||
what is transmission angle angle between output link and coupler
|
||||
what is the ideal transmission angle 90 degrees
|
||||
what is the minimum transmission angle 40 degrees
|
189
uni/mmme/2044_design_manufacture_and_project/bearings.md
Executable file
@@ -0,0 +1,189 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: MMME2044 // Bearings
|
||||
tags: [ bearings ]
|
||||
uuid: 94cac3fd-c352-4fdd-833d-6129cb484b8a
|
||||
lecture_slides: [ ./lecture_slides/Lecture 7 - Bearings 1 – Plain Hydrodynamic Bearings 1.pdf, ./lecture_slides/Lecture 11 - Bearings 2 - Rolling Element Bearings.pdf ]
|
||||
anki_deck_tags: [ bearings ]
|
||||
---
|
||||
|
||||
> I don't think I ever finished these notes.
|
||||
|
||||
# Errata
|
||||
|
||||
## Lecture Slides 2 (Lecture 11), slide 18
|
||||
|
||||
Static load carrying capacity equation is
|
||||
|
||||
$$S_0 = \frac{P_0}{C_0}$$
|
||||
|
||||
but should be:
|
||||
|
||||
$$S_0 = \frac{C_0}{P_0}$$
|
||||
|
||||
If the load applied to a bearing is half of its rated capacity,
|
||||
then you have a safety factor of 2.
|
||||
Therefore the equation in the slides must be incorrect.
|
||||
|
||||
# Types of Bearings
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Plain Journal Bearings
|
||||
|
||||
</summary>
|
||||
|
||||
- used to support rotating shafts loaded in radial directions
|
||||
- consists of an insert fitted between the shaft and support
|
||||
- the insert may be an aluminium alloy, copper alloy, or other material
|
||||
- the insert provides lower friction and less wear than if just rotating in the support
|
||||
- the bearing may be dry rubbing or lubricated
|
||||
|
||||
#### Lubrication
|
||||
|
||||
- hydrodynamic---a shaft continuously in oil. the load is carried by pressure generated in the oil
|
||||
as a result of the rotation
|
||||
- hydrostatic---avoids excessive wear at start up by pumping oil into the load bearing area at a
|
||||
pressure that lifts the shaft
|
||||
- solid-firm---a coating of a solid material like graphite or molybdenum disulphide
|
||||
- boundary layer---a thin layer of lubricant which adheres to the surface of the bearing
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Ball and Roller Bearings (Rolling Element Bearings)
|
||||
|
||||
</summary>
|
||||
|
||||
- main load is transferred from rotating shaft to its support by rolling contact from balls
|
||||
- a rolling element bearing consists of an inner race, outer race, rolling elements and a cage
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Plain Rubbing Bearings (Dry Sliding)
|
||||
|
||||
</summary>
|
||||
|
||||
- does not use liquid lubrication
|
||||
- usually polymeric
|
||||
- dry lubricants added (e.g. PTFE)
|
||||
- reinforcements added (e.g. glass fibre)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Oil Lubricated Porous Bearings
|
||||
|
||||
</summary>
|
||||
|
||||
- manufactured from sintered metal powders
|
||||
- porous and oil impregnated
|
||||
- more porous is weaker but allows for high speeds
|
||||
- lubricant needs to replenished at regular intervals --- usually every 1000 hours of use
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Hydrodynamic Bearings
|
||||
|
||||
</summary>
|
||||
|
||||
- pressure builds up in the lubricant as a response to the relative motion
|
||||
- both journal and thrust bearings may use this principle
|
||||
- surfaces touch and rub at very low speeds
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# fun graphs that may be useful for bearing selection
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
# $pV$ Factor
|
||||
|
||||
- a measure of the bearing's ability to cope with frictional heat generation
|
||||
- rapid wear occurs at $pV_\text{max}$
|
||||
- if the value is exceeded then overheating, melting, and excessive wear or seizure may follow
|
||||
- general operational range should be around $0.5pV_\text{max}$
|
||||
|
||||

|
||||
|
||||
- A - thermoplastics
|
||||
- B - PTFE
|
||||
- C - PTFE + fillers
|
||||
- D - porous bronze + PTF + lead
|
||||
- E - PTFE-glass weave + thermoset
|
||||
- F - reinforced thermoset + molybdenum disulphide
|
||||
- G - thermoset/carbon graphite + PTFE
|
||||
|
||||
## Radial Sliding Bearing
|
||||
|
||||
$$p = \frac{F_\text{radial}}{bD}$$
|
||||
|
||||
$$V = \omega\frac D2$$
|
||||
|
||||

|
||||
|
||||
|
||||
## Axial Sliding Bearing
|
||||
|
||||
$$p = \frac{4F_\text{axial}}{\pi(D^2-d^2)}$$
|
||||
|
||||
$$V = \omega\frac{D+d}{4}$$
|
||||
|
||||

|
||||
|
||||
## Plain Rubbing Bearings
|
||||
|
||||
- does not rely on liquid lubricaton
|
||||
- usually made of polymers and moulded to final shape
|
||||
- dry lubricants like ptfe are added
|
||||
- reinforcements like glass fibres can be added
|
||||
- pressure is limited by strength
|
||||
- speed is limited by temperature
|
||||
|
||||
## Oil Lubricated Porous Bearings
|
||||
|
||||
- manufactured from sintered metal powders
|
||||
- porous & oil impregnated
|
||||
- more porous bearings are weaker but can run at higher speeds
|
||||
- lubricant needs to be replenished at regular intervals
|
||||
|
||||
# Wear
|
||||
|
||||
$$K = \frac{W}{FVt}$$
|
||||
|
||||
where $K$ is wear factor (provided by manufacturer), $W$ is wear volume, $F$ is sliding velocity,
|
||||
$F$ is bearing load, and $t$ is elapsed time.
|
||||
|
||||
# Manufacture
|
||||
|
||||
- nominal diametral clearance is commonly 1 $\mu$m per mm
|
||||
- manufacturing tolerance
|
||||
|
||||
- close running fit (H8/f7)
|
||||
- free running (H9/d9)
|
||||
|
BIN
uni/mmme/2044_design_manufacture_and_project/images/bearings_1-010.jpg
Executable file
After Width: | Height: | Size: 28 KiB |
BIN
uni/mmme/2044_design_manufacture_and_project/images/bearings_1-011.jpg
Executable file
After Width: | Height: | Size: 20 KiB |
BIN
uni/mmme/2044_design_manufacture_and_project/images/bearings_1-035.jpg
Executable file
After Width: | Height: | Size: 303 KiB |
523
uni/mmme/2044_design_manufacture_and_project/images/bearings_1-036.svg
Executable file
After Width: | Height: | Size: 454 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,686 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="svg148"
|
||||
width="466.12421"
|
||||
height="421.4855"
|
||||
viewBox="0 0 466.12421 421.4855"
|
||||
sodipodi:docname="seals-057.svg"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs152">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath162">
|
||||
<path
|
||||
d="M 0,1.2207e-4 H 960 V 540.00012 H 0 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path160" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath172">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path170" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath184">
|
||||
<path
|
||||
d="M 496.92,333.6 H 707.16 V 472.44 H 496.92 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path182" />
|
||||
</clipPath>
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
x="0"
|
||||
y="0"
|
||||
width="1"
|
||||
height="1"
|
||||
id="mask188">
|
||||
<image
|
||||
width="1"
|
||||
height="1"
|
||||
style="image-rendering:optimizeSpeed"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOwAAACcCAAAAABZmhgJAAAAAXNCSVQI5gpbmQAAA1ZJREFUeJztnN1yhCAMRsNO3/+V0wt11V1wIfn4Tc5FZ9pa4fAFxNUpkeM4juM4juM4juM4ziiEJq2w9gSYbjaQVZvu6LtaWxZlSkT6zlaWPVzD7Ts5uu5WleVIE1phTYdrynLi/EpfeZfryaZUj9/JEfe5muyTay/bWrJ8OfV9lfr4oQxZtyvJnq53qXA7RIGo33VkOX2xCdeDFEg6XkX2cI3rfJW3DEHPa8jurkmXbrZ1ZB9dL602tq0g+9u1ly1elilkSEBsu8vmufaxfWnaSnUgRwBy71d4ErRsfvP7kbrSKrMFl3FuEV/bbrdIoZMtcMVkWwJWlqkoKMS8LTkHVJYpSASaTds/VUOf5Hd72zvzwxa6AshkC4o47F8L614JtIyLi7jd2kREUFlJQoEbBgtNVrI6hYauwAWKRStxrm2k4Mtbw++Nc4DM1VB8LpisMNhMokbFQ9Yn2U6g5ixLr5dZf5XIsDRaXLItl1UhINm695WovccMcxa2z5pBFgZGtup8xW2guyTbay2DDJtgS5z/p8A7I5+z9cmvBeQtL0J2gu3ExuhlDP0so5dsl2oA3AhU7Tcjw8V+lFpM7iMwjPDoc3aHIeWjl200+xC63ZIt77ted5Iy3tDqqmXbXkN0rXVejZ+IvnPDmnW5XxkLP2nTZKu9gCna/v2QPv4+lbzLUy1QG/LxHVqWmSgAK7mjbOabYZHDpLbKOat8Py3PN3KUrNs9yzhnpBJWskHumWwWiVdMRP0eeoEiSg6naJR1sq3ueEDnafmeJBZBz4cvYyTzygqqSnXX06qKS151fWKGZK09n8XUkGrU2i3GkZ1l49W4pSuEOcoYNKxPYzbS07mSBTnplL70jKRaRvL5UHIU5nUlorKXHSdXJYqaxWUXcI2pRWWXcI24zXHpkZG1D1kkWPqyg7x7Py7h4TuitVw//Faes198JbtWsHdB08muFuzNcP1kL/G9kr9ZkPWTvQT4Svx8SQwkewL8V2PjckiaTXbVYN+WppI1JQv734Bjs2maSvaUXTnYHSPJbkkakd14yxqoYqPJLg4T2ZElolPWwpS1mezyMBmSJXrLmpiyJpO1gcsuCR+yNtYnQ8mSy66Ly66KKVnHcRzHcRzHcRzHcQbnH7TAqanBnLDFAAAAAElFTkSuQmCC"
|
||||
id="image190" />
|
||||
</mask>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath226">
|
||||
<path
|
||||
d="M -6.0714e-5,540 H 960 V 1.2207e-4 H 1.3981e-5"
|
||||
clip-rule="evenodd"
|
||||
id="path224" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath248">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path246" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath260">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path258" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath272">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path270" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath284">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path282" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath296">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path294" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath308">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path306" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath320">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path318" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath332">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path330" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath344">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path342" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath364">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path362" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath376">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path374" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath388">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path386" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath400">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path398" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath412">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path410" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath424">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path422" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath436">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path434" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath448">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path446" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath460">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path458" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath472">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path470" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath484">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path482" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath496">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path494" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath508">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path506" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath520">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path518" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath532">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path530" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath544">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path542" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath556">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path554" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath568">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path566" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath580">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path578" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath592">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path590" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath604">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path602" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath616">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path614" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath628">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path626" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath640">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path638" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath652">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path650" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath664">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path662" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath680">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path678" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath692">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path690" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath706">
|
||||
<path
|
||||
d="M 1.4305e-5,0 H 960.00001 V 540 H 1.4305e-5 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path704" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview150"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.58884902"
|
||||
inkscape:cx="196.99447"
|
||||
inkscape:cy="78.118496"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1051"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g154" />
|
||||
<g
|
||||
id="g154"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Lecture 6 Seals_v1.0"
|
||||
transform="matrix(1.3333333,0,0,-1.3333333,-626.6427,432.97386)">
|
||||
<path
|
||||
d="m 548.98,146.16 -0.66,-3.97 -4.34,-10.47 -4,-10.1 -3.34,-11.55 9.56,-10.47 2.78,10.11 3.01,7.58 2.67,5.41 2.67,3.25 4.67,4.33 6,4.33 6.01,1.8 h 6.67 z"
|
||||
style="fill:#254061;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path194" />
|
||||
<path
|
||||
d="m 548.98,146.16 -0.66,-3.97 -4.34,-10.47 -4,-10.1 -3.34,-11.55 9.56,-10.47 2.78,10.11 3.01,7.58 2.67,5.41 2.67,3.25 4.67,4.33 6,4.33 6.01,1.8 h 6.67 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path196" />
|
||||
<path
|
||||
d="m 529.67,148.64 h 15.58 l 4.33,-2.88 32.04,-10.22 h 22.58 l 6.01,-6.61 v -9.38 l 30.37,-21.51 h 6.12 l 21.58,17.79 v 29.93 h -39.83 l -6.89,11.29 -59.85,0.97 -12.46,1.44 -0.67,6.13 -2,4.32 -3.34,2.53 -4.34,1.08 -9.34,-16.95 z"
|
||||
style="fill:#4f81bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path198" />
|
||||
<path
|
||||
d="m 529.67,148.64 h 15.58 l 4.33,-2.88 32.04,-10.22 h 22.58 l 6.01,-6.61 v -9.38 l 30.37,-21.51 h 6.12 l 21.58,17.79 v 29.93 h -39.83 l -6.89,11.29 -59.85,0.97 -12.46,1.44 -0.67,6.13 -2,4.32 -3.34,2.53 -4.34,1.08 -9.34,-16.95 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path200" />
|
||||
<path
|
||||
d="m 658.68,144.3 c 0,6.99 -5.21,12.66 -11.64,12.66 -6.43,0 -11.64,-5.67 -11.64,-12.66 0,-6.99 5.21,-12.66 11.64,-12.66 6.43,0 11.64,5.67 11.64,12.66 z"
|
||||
style="fill:#c0504d;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path202" />
|
||||
<path
|
||||
d="m 658.68,144.3 c 0,6.99 -5.21,12.66 -11.64,12.66 -6.43,0 -11.64,-5.67 -11.64,-12.66 0,-6.99 5.21,-12.66 11.64,-12.66 6.43,0 11.64,5.67 11.64,12.66 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path204" />
|
||||
<path
|
||||
d="m 655.32,144.48 c 0,4.9 -3.68,8.88 -8.22,8.88 -4.54,0 -8.22,-3.98 -8.22,-8.88 0,-4.9 3.68,-8.88 8.22,-8.88 4.54,0 8.22,3.98 8.22,8.88 z"
|
||||
style="fill:#4f81bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path206" />
|
||||
<path
|
||||
d="m 655.32,144.48 c 0,4.9 -3.68,8.88 -8.22,8.88 -4.54,0 -8.22,-3.98 -8.22,-8.88 0,-4.9 3.68,-8.88 8.22,-8.88 4.54,0 8.22,3.98 8.22,8.88 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path208" />
|
||||
<path
|
||||
d="M 689.04,240 V 98.04"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path210" />
|
||||
<path
|
||||
d="M 668.28,115.92 V 98.16"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path212" />
|
||||
<path
|
||||
d="M 610.44,120 V 98.28"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path214" />
|
||||
<path
|
||||
d="M 529.68,148.68 V 98.04"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path216" />
|
||||
<path
|
||||
d="M 706.44,98.04 H 512.28"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path218" />
|
||||
<g
|
||||
id="g220">
|
||||
<g
|
||||
id="g222"
|
||||
clip-path="url(#clipPath226)">
|
||||
<path
|
||||
d="m 700.95,24.983 c 6.5,14.144 13,28.287 13.91,40.39 0.91,12.102 -4.32,30.99 -8.23,32.452 -3.92,1.461 -15.17,-8.637 -15.48,-23.429 -0.3,-14.791 11.07,-52.025 13.96,-65.7022"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path228" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 513.18,98.04 c -6.09,-5.768 -12.3,-11.656 -12.19,-26.196 0.11,-14.54 9.64,-50.59 12.97,-60.924"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path230" />
|
||||
<path
|
||||
d="M 684.27,255.48 H 539.66 l -6.23,-2.88 -2.67,-3.85 -1.56,-4.56 0.67,-87.95 9.34,0.24 v 78.82 l 0.89,4.8 2.23,2.88 4.45,0.49 124.58,0.36 1,5.4 2.56,1.44 4.12,-0.72 2.33,-2.52 0.67,-9.25 h 7.12 v 6.73 3.36 l -0.44,3.85 z"
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path232" />
|
||||
<path
|
||||
d="M 684.27,255.48 H 539.66 l -6.23,-2.88 -2.67,-3.85 -1.56,-4.56 0.67,-87.95 9.34,0.24 v 78.82 l 0.89,4.8 2.23,2.88 4.45,0.49 124.58,0.36 1,5.4 2.56,1.44 4.12,-0.72 2.33,-2.52 0.67,-9.25 h 7.12 v 6.73 3.36 l -0.44,3.85 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:0.72;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path234" />
|
||||
<path
|
||||
d="m 550.68,242.88 120.28,0.24 5.67,-0.72 3.44,-1.32 1.56,-3.25 0.33,-7.68 -0.33,-96.23 h -5 v 96.23 l -0.22,3.6 -1.78,2.88 -2.67,0.84 -4.33,0.24 -116.95,-0.24 z"
|
||||
style="fill:#595959;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path236" />
|
||||
<path
|
||||
d="m 550.68,242.88 120.28,0.24 5.67,-0.72 3.44,-1.32 1.56,-3.25 0.33,-7.68 -0.33,-96.23 h -5 v 96.23 l -0.22,3.6 -1.78,2.88 -2.67,0.84 -4.33,0.24 -116.95,-0.24 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path238" />
|
||||
<path
|
||||
d="m 653.68,298.72 -35.16,-37.31 1.48,-1.4 35.16,37.31 z m -34.42,-38.01 -0.92,6.47 -3.28,-10.92 10.71,3.92 z"
|
||||
style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path240" />
|
||||
<g
|
||||
id="g242">
|
||||
<g
|
||||
id="g244"
|
||||
clip-path="url(#clipPath248)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,718.61,218.64)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text252"><tspan
|
||||
x="0 13.26648 23.787479 30.500879 35.049961 45.611038 56.132038 65.731201 70.340401"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan250">Optional </tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g254">
|
||||
<g
|
||||
id="g256"
|
||||
clip-path="url(#clipPath260)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,718.61,194.64)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text264"><tspan
|
||||
x="0 4.6092 15.1302 25.651199 35.631119 42.62508 47.154121 55.55088 65.15004 72.98568"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan262">inner case</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g266">
|
||||
<g
|
||||
id="g268"
|
||||
clip-path="url(#clipPath272)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,661.66,309.5)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text276"><tspan
|
||||
x="0 13.3266 23.847601 30.3606 40.340519 47.33448 51.863522 60.240238 69.839401 77.675041 87.654961 92.183998 98.256119 114.26808 123.50652 132.58464 137.11368 147.63467 157.61459"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan274">Outer case (may be </tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g278">
|
||||
<g
|
||||
id="g280"
|
||||
clip-path="url(#clipPath284)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,661.66,285.5)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.064px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text288"><tspan
|
||||
x="0 7.002336 17.535936 28.069536 38.603134 48.595009 55.597343 59.99136 68.398178 78.971901 88.321732 94.802399 104.79427 115.32787"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan286">rubber coated)</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g290">
|
||||
<g
|
||||
id="g292"
|
||||
clip-path="url(#clipPath296)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,704.93,113.95)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text300"><tspan
|
||||
x="0 12.64524 22.2444 29.158199 35.631119 45.611038 52.605 57.214199 65.049843 75.570839 82.564796 87.093842 97.614838"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan298">Garter spring</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g302">
|
||||
<g
|
||||
id="g304"
|
||||
clip-path="url(#clipPath308)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,734.81,56.304)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text312"><tspan
|
||||
x="0 10.36068 17.274481 21.88368 37.795441 47.3946 54.448681"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan310">Primary</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g314">
|
||||
<g
|
||||
id="g316"
|
||||
clip-path="url(#clipPath320)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,734.81,32.304)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text324"><tspan
|
||||
x="0 7.83564 17.815559 27.414721 31.923719 36.532921 47.053921 56.49276 61.061878 65.671082 70.180077"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan322">sealing lip</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g326">
|
||||
<g
|
||||
id="g328"
|
||||
clip-path="url(#clipPath332)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,468.96,72.168)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text336"><tspan
|
||||
x="0 13.26648 23.787479 30.500879 35.049961 45.611038 56.132038 65.731201 70.340401 74.769241 82.604881 92.584801 100.92144 111.48252 122.00352 132.58464 142.18381 149.23788"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan334">Optional secondary</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g338">
|
||||
<g
|
||||
id="g340"
|
||||
clip-path="url(#clipPath344)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,468.96,48.168)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text348"><tspan
|
||||
x="0 7.83564 17.815559 27.414721 31.923719 36.532921 47.053921 56.49276 61.061878 65.671082 70.180077"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan346">sealing lip</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 712.56,208.15 -29.55,-9.11 0.6,-1.95 29.55,9.12 z m -29.25,-10.09 2.39,6.08 -8.24,-7.88 11.25,-1.87 z"
|
||||
style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path350" />
|
||||
<path
|
||||
d="m 698.96,122.75 -41.69,20.9 0.92,1.82 41.69,-20.9 z m -41.23,21.81 1.36,-6.39 -6.83,9.13 11.4,-0.01 z"
|
||||
style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path352" />
|
||||
<path
|
||||
d="m 727.08,60.929 -80.33,36.017 0.83,1.861 80.34,-36.016 z m -79.92,36.947 1.64,-6.322 -7.22,8.826 11.39,0.48 z"
|
||||
style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path354" />
|
||||
<path
|
||||
d="m 520.29,72.48 24.84,39.81 -1.74,1.08 -24.84,-39.81 z m 23.97,40.35 2.17,-6.16 1.07,11.35 -9.73,-5.95 z"
|
||||
style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path356" />
|
||||
<g
|
||||
id="g670">
|
||||
<path
|
||||
d="m 496.92,42.96 225,-3.6"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:9.6, 3.6, 1.2, 3.6;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path672" />
|
||||
</g>
|
||||
<g
|
||||
id="g674">
|
||||
<g
|
||||
id="g676"
|
||||
clip-path="url(#clipPath680)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,470.4,286.99)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri-Bold;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text684"><tspan
|
||||
x="0 11.523 18.476879 34.769402 45.550919 53.627041 64.388519 75.210121 85.290237 92.404442 97.334282 105.711"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan682">Atmospheric </tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g686">
|
||||
<g
|
||||
id="g688"
|
||||
clip-path="url(#clipPath692)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(1,0,0,-1,470.4,262.99)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:20.04px;font-family:Calibri;-inkscape-font-specification:Calibri-Bold;writing-mode:lr-tb;fill:#003399;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text696"><tspan
|
||||
x="0 7.9959602 12.9258 23.7474"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan694">side</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 492.21,259.18 30.58,-51.03 -1.75,-1.04 -30.58,51.03 z m 29.7,-51.55 2.28,6.12 0.87,-11.37 -9.62,6.13 z"
|
||||
style="fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path698" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 140 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 202 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 158 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 293 KiB |
After Width: | Height: | Size: 305 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 962 B |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 150 KiB |
After Width: | Height: | Size: 78 KiB |