~ubuntu-fr-scripts/ufrs-math/math-dev

« back to all changes in this revision

Viewing changes to bc-lib/electric.bc

  • Committer: Jean-Michel Juzan
  • Date: 2009-04-01 12:03:01 UTC
  • Revision ID: jean-michel@juzan.org-20090401120301-j6g6xj1z0561zdg3
copie de la branche principale

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
### electric.bc - a large number of functions for use with GNU BC
 
2
 
 
3
## Not to be regarded as suitable for any purpose
 
4
## Not guaranteed to return correct answers
 
5
#
 
6
# jmj(at)bowlfr.org
 
7
 
 
8
# Calcule du nombre pi
 
9
 
 
10
# (loi d'OHM)  : Calcul de la résistance d'un circuit connaissant la tension appliquée et l'intensité du courant.
 
11
# Énoncé : La résistance, exprimée en ohms, s'obtient en divisant la tension exprimée en volts par l'intensité du courant, exprimée en ampères.
 
12
# La formule peut aussi s'appliquer en exprimant la tension et l'intensité du courant respectivement en sous-multiples (ou en multiples) du volt et de l'ampère ; en particulier, on peut exprimer la tension en millivolts  (mV ; 1 mV = 0,001 V)  et l'intensité du courant en milliampères  (mA ; 1 mA = 0,001 A)  et   ainsi la résistance sera exprimée en ohms.
 
13
# Cependant, si la tension est exprimée en volts et l'intensité du courant en milliampères (mA ; 1 mA = 0,001 A), la résistance sera exprimée en kilo-ohms (kW ; 1 kW = 1 000 W). On exprime quelquefois la tension en volts et l'intensité du courant en microampères (µA ; 1 µA = 0,000 001 A) ; dans ce cas, en appliquant la formule, on obtient la résistance exprimée en mégohms (MW ; 1 MW = 1 000 000 W).
 
14
# r = résistance en W (ohm)
 
15
# v = tension en V (volt)
 
16
# i = intensité du courant en A (ampère)
 
17
 
 
18
define r2vi(v,i) {
 
19
        return( v/i )
 
20
}
 
21
 
 
22
# (loi d'OHM)  : Calcul de la tension appliquée à un circuit connaissant la résistance et l'intensité du courant
 
23
# La formule peut aussi s'appliquer en exprimant la résistance et l'intensité du courant respectivement avec les sous-multiples de l'ohm et de l'ampère ; on peut en particulier exprimer la résistance en kilo-ohms (kW) et l'intensité du courant en milliampères (mA) et ainsi la tension sera exprimée en  volts.
 
24
# v = tension en V (volt)
 
25
# r = résistance en W (ohm)
 
26
# i = intensité du courant en A (ampère)
 
27
 
 
28
define v2ri(r,i) {
 
29
        return( r*i )
 
30
}
 
31
 
 
32
# (loi d'OHM) : Calcul de l'intensité du courant connaissant la résistance et la tension appliquée au circuit.
 
33
# La formule peut aussi s'appliquer en exprimant la tension et la résistance respectivement avec les sous-multiples et multiples du volt et de l'ohm. Par exemple, la tension peut être exprimée en millivolts (mV) et la résistance en ohm (W) :  dans ce cas, l'intensité du courant sera exprimée en milliampères (mA) ; de même, la tension peut être exprimée en  volts et la résistance en kilo-ohms (kW), l'intensité du courant sera exprimée en milliampères.
 
34
# i = intensité du courant en A (ampère)
 
35
# v = tension en V (volt)
 
36
# r = résistance en W (ohm)
 
37
 
 
38
define i2vr(v,r) {
 
39
        return( v/r )
 
40
}
 
41
 
 
42
# Calcul de la résistance totale d'un circuit formé de plusieurs résistances reliées en série connaissant leurs valeurs.
 
43
# Énoncé : La valeur de la résistance équivalente à plusieurs résistances reliées en série est obtenue en faisant la somme des valeurs de chaque résistance.
 
44
# Les valeurs de résistance doivent toutes être exprimées dans la même unité de mesure (W, kW, MW). 
 
45
# rt = résistance équivalente totale
 
46
# r1 = valeur de la première résistance
 
47
# r2 = valeur de la deuxième résistance
 
48
# rn = valeur de la dernière résistance
 
49
 
 
50
define r2rt () {
 
51
        i = 1
 
52
        print "  Veuillez entrer les valeurs des résistances.\n"
 
53
        print "  Sortez en mettant 0 comme valeur.\n\n"
 
54
        while (1) {
 
55
                "Valeur R" ; i
 
56
                r = read()
 
57
                if (r == 0) break;
 
58
                rt += r
 
59
                i += 1
 
60
        }
 
61
        return( rt )
 
62
}
 
63
 
 
64
# Calcul de la conductance totale d'un circuit formé de plusieurs résistances reliées en parallèle connaissant leurs valeurs.
 
65
# Énoncé : La conductance résultante de l'association de plusieurs résistances reliées en parallèle s'obtient en faisant la somme des conductances de chaque résistance, (voir théorie 2 dans la rubrique sommaire électronique).
 
66
# Les valeurs des conductances doivent toutes être exprimées dans la même unité de mesure (S ou mS ou µS).
 
67
# gt = conductance totale
 
68
# g1 = conductance de la première résistance
 
69
# g2 = conductance de la deuxième résistance
 
70
# gn = conductance de la dernière résistance
 
71
 
 
72
define c2ct () {
 
73
        i = 1
 
74
        print "  Veuillez entrer les valeurs des conductances.\n"
 
75
        print "  Sortez en mettant 0 comme valeur.\n\n"
 
76
        while (1) {
 
77
                "Valeur G" ; i
 
78
                g = read()
 
79
                if (g == 0) break;
 
80
                gt += g
 
81
                i += 1
 
82
        }
 
83
        return( gt )
 
84
}
 
85
 
 
86
# Calcul de la résistance équivalente à plusieurs résistances reliées en parallèle connaissant leurs valeurs.
 
87
# Énoncé : La résistance équivalente à plusieurs résistances reliées en parallèle s'obtient en effectuant les calculs en trois temps : d'abord on calcule la conductance de chaque résistance ; puis on calcule la conductance totale des résistances en parallèle ; enfin, on calcule la résistance équivalente, c'est-à-dire la résistance qui correspond à la conductance totale
 
88
# Les valeurs de résistance doivent toutes être exprimées dans la même unité de mesure  (W, kW, MW).
 
89
# re = résistance équivalente
 
90
# r1 = valeur de la première résistance
 
91
# r2 = valeur de la deuxième résistance
 
92
# rn = valeur de la dernière résistance
 
93
 
 
94
define r2re () {
 
95
        i = 1
 
96
        print "  Veuillez entrer les valeurs des résistances.\n"
 
97
        print "  Sortez en mettant 0 comme valeur.\n\n"
 
98
        while (1) {
 
99
                "Valeur R" ; i
 
100
                r = read()
 
101
                if (r == 0) break;
 
102
                rtemp += 1/r
 
103
                i += 1
 
104
                rt = 1/rtemp
 
105
        }
 
106
        return( rt )
 
107
}
 
108
 
 
109
# Calcul de la résistance équivalente de deux résistances reliées en parallèle connaissant leurs valeurs.
 
110
# Énoncé : La résistance équivalente de deux résistances reliées en parallèle s'obtient en multipliant les valeurs des deux résistances et en divisant le tout par la somme de ces deux valeurs.
 
111
# Il est possible d'utiliser r2re () pour ce calcul
 
112
# Les valeurs de résistance doivent toutes être exprimées dans la même unité de mesure (W, kW, MW).
 
113
# re = résistance équivalente
 
114
# r1 = valeur de la première résistance
 
115
# r2 = valeur de la deuxième résistance
 
116
 
 
117
define re (r1,r2) {
 
118
        return( (r1*r2)/( r1+r2) )
 
119
}
 
120
 
 
121
# Calcul de la valeur de la résistance à mettre en parallèle avec une autre résistance de valeur connue pour obtenir une résistance équivalente donnée.
 
122
# Énoncé : La valeur de la résistance à mettre en parallèle avec une autre résistance de valeur connue pour obtenir une résistance équivalente donnée se calcule en multipliant la valeur de la résistance connue par la résistance équivalente, le tout divisé par la différence de ces deux valeurs.
 
123
# ri = résistance inconnue
 
124
# r = valeur de la résistance disponible
 
125
# re = résistance équivalente que l'on veut obtenir
 
126
# Les valeurs de résistance doivent toutes être exprimées dans la même unité de mesure (W, kW, MW).
 
127
 
 
128
define ri (r,re) {
 
129
        return( (r*re)/(r-re) )
 
130
}
 
131
 
 
132
# Calcul de la résistance équivalente à deux ou plusieurs résistances de même valeur reliées en parallèle.
 
133
# Énoncé : La résistance équivalente de deux ou plusieurs résistances de valeurs égales reliées en parallèle s'obtient en divisant la valeur par le nombre de résistances.
 
134
# La résistance équivalente sera exprimée dans la même unité de mesure que celle utilisée pour exprimer la valeur des résistances.
 
135
# Re = résistance équivalente
 
136
# R = valeur des résistances
 
137
# n = nombre de résistances
 
138
 
 
139
define rn2re (r,n) {
 
140
        return( (r/n )
 
141
}
 
142
 
 
143
# Calcul de la force électromotrice (f.e.m.) obtenue en reliant en série deux ou plusieurs piles, connaissant la force électromotrice de chaque pile.
 
144
# Énoncé : En mettant en série deux ou plusieurs piles, on obtient une force électromotrice égale à la somme des forces électromotrices de chaque pile.
 
145
# Les forces électromotrices doivent toutes être exprimées dans la même unité de mesure.
 
146
# et = force électromotrice totale
 
147
# e1 = force électromotrice de la première pile
 
148
# e2 = force électromotrice de la deuxième pile
 
149
# en = force électromotrice de la dernière pile.
 
150
 
 
151
define en2et () {
 
152
        i = 1
 
153
        print "  Veuillez entrer les valeurs des forces électromotrices.\n"
 
154
        print "  Sortez en mettant 0 comme valeur.\n\n"
 
155
        while (1) {
 
156
                "Valeur E" ; i
 
157
                e = read()
 
158
                if (r == 0) break;
 
159
                et += e
 
160
                i += 1
 
161
        }
 
162
        return( et )
 
163
}
 
164
 
 
165
# Calcul de la résistance interne d'une pile connaissant sa  f.e.m. (tension à vide lorsqu'elle ne fournit aucun courant) et la tension en charge lorsqu'elle fournit un courant donné.
 
166
# Énoncé : La résistance interne d'une pile est donnée par la différence entre la f.e.m. et la tension en charge, le tout divisé par le courant fourni.
 
167
# ri = résistance interne en W (ohm)
 
168
# e = f.e.m. "tension à vide" en V (volt)
 
169
# v = tension en charge en V (volt)
 
170
# i = courant fournit en A (ampère).
 
171
 
 
172
define evi2ri (e,v,i) {
 
173
        return( (e-v)/i )
 
174
}
 
175
 
 
176
# Calcul de la puissance électrique d'un appareil connaissant la tension appliquée et l'intensité du courant absorbé.
 
177
# Énoncé : La puissance électrique, exprimée en watts, s'obtient en multipliant la tension, exprimée en volts, par l'intensité du courant exprimée en ampères.
 
178
# p = puissance électrique en W (watt)
 
179
# v = tension en V (volt)
 
180
# i = intensité du courant en A (ampère) 
 
181
 
 
182
define vi2p (v,i) {
 
183
        return( v*i )
 
184
}
 
185
 
 
186
# Calcul de l'intensité du courant absorbé par un appareil connaissant la tension appliquée et sa puissance électrique.
 
187
# i = intensité du courant en A (ampère) 
 
188
# p = puissance électrique en W (watt)
 
189
# v = tension appliquée en V (volt)
 
190
 
 
191
define pv2i (p,v) {
 
192
        return( p/v )
 
193
}
 
194
 
 
195
# Calcul de la tension appliquée à un appareil connaissant l'intensité du courant absorbé et la puissance électrique de celui-ci.
 
196
# v = tension appliquée en V (volt)
 
197
# p = puissance électrique en W (watt)
 
198
# i = intensité du courant absorbé en A (ampère).
 
199
 
 
200
define pi2v (p,i) {
 
201
        return( p/i )
 
202
}
 
203
 
 
204
# Calcul de l'énergie électrique consommée par un appareil connaissant sa puissance électrique et sa durée de fonctionnement.
 
205
# Énoncé : L'énergie consommée par un appareil, exprimée en watts-secondes, s'obtient en multipliant la puissance de l'appareil, exprimée en watts, par le temps de fonctionnement exprimé en secondes.
 
206
# Le watt-seconde (W.s), unité de mesure utilisée pour exprimer la quantité d'énergie électrique consommée, est équivalent à 1 joule (J), unité de mesure de l'énergie et du travail mécanique.
 
207
# 1 W.s = 1 J
 
208
# En pratique, pour indiquer la consommation domestique et industrielle de l'énergie électrique, on utilise un multiple du watt-seconde, c'est-à-dire le kilowatt-heure (kW.h).
 
209
# 1 kW.h = 3 600 000 W.s  ;  1 W.s = 1 / 3 600 000 kW.h
 
210
# Le résultat de l'exemple précédent peut s'exprimer en kW.h au moyen de l'équivalence :
 
211
# 180 000 W.s = 180 000 / 3 600 000 kW.h = 0,05 kW.h
 
212
# Si dans la formule 88, la puissance est exprimée en kilowatts (kW  ; 1 kW = 1000 W) et le temps en heures (h, 1 h = 60 mn = 3 600 s), l'énergie consommée sera exprimée en kilowatts-heures.
 
213
# Par exemple, si P = 800 W = 0,8 kW et "t" = 30 mn = 0,5 h, l'énergie consommée sera de :
 
214
# W = 0,8 x 0,5 = 0,4 kW.h
 
215
# w = énergie consommée en W.s (watt-seconde)
 
216
# p = puissance électrique en W (watt)
 
217
# t = temps en s (secondes) 
 
218
 
 
219
define pt2w (p,t) {
 
220
        return( p*t )
 
221
}
 
222
 
 
223
# Calcul de la puissance électrique dissipée par effet Joule dans une résistance connaissant l'intensité du courant et la valeur de cette résistance.
 
224
# Énoncé : La puissance électrique, exprimée en watts, dissipée dans une résistance s'obtient en multipliant la résistance, exprimée en ohms, par le carré du courant qui la traverse, exprimé en ampères.
 
225
# p = puissance électrique en W (watt)
 
226
# r = résistance en W (ohm)
 
227
# i = intensité du courant en A (ampère) 
 
228
 
 
229
define ri2p (r,i) {
 
230
        return( r*i^2 )
 
231
}
 
232
 
 
233
# Calcul de la valeur d'une résistance connaissant la puissance électrique dissipée et l'intensité du courant qui la traverse.
 
234
# r = résistance en W (ohm)
 
235
# p = puissance dissipée en W (watt)
 
236
# i = intensité du courant en A (ampère)
 
237
 
 
238
define pi2r (p,i) {
 
239
        return( p/i^2 )
 
240
}
 
241
 
 
242
# Calcul de l'intensité du courant qui parcourt une résistance connaissant la puissance électrique dissipée et la valeur de cette résistance.
 
243
# Énoncé : L'intensité du courant, exprimée en ampères, qui parcourt une résistance, s'obtient en divisant la puissance dissipée exprimée en watts par la résistance exprimée en ohms, et en extrayant la racine carrée du quotient obtenu.
 
244
# i = intensité du courant en A (ampère)
 
245
# p = puissance dissipée en W (watt)
 
246
# r = résistance en W (ohm)
 
247
 
 
248
define pr2i (p,r) {
 
249
        return( sqrt(p/r) )
 
250
}
 
251
 
 
252
# Calcul de la puissance électrique dissipée par effet Joule dans une résistance connaissant la tension appliquée et la valeur de cette résistance.
 
253
# Énoncé : La puissance électrique, exprimée en watts, dissipée dans une résistance s'obtient en divisant le carré de la tension, exprimée en volts, par la résistance exprimée en ohms.
 
254
# p = puissance électrique en W (watt)
 
255
# v = tension en V (volt)
 
256
# r = résistance en W (ohm)
 
257
 
 
258
define vr2p (v,r) {
 
259
        return( v^2/r )
 
260
}
 
261
 
 
262
# Calcul de la valeur d'une résistance connaissant la puissance électrique dissipée et la tension appliquée.
 
263
# r = résistance en W (ohm)
 
264
# v = tension appliquée en V (volt)
 
265
# p = puissance électrique dissipée en W (watt)
 
266
 
 
267
define vp2r (v,p) {
 
268
        return( v^2/p )
 
269
}
 
270
 
 
271
# Calcul de la tension appliquée à une résistance connaissant la puissance électrique dissipée et la valeur de cette résistance.
 
272
# Énoncé : La tension appliquée à une résistance, exprimée en volts, s'obtient en multipliant la puissance dissipée exprimée en watts, par la résistance exprimée en ohms et en extrayant la racine carrée du produit obtenu.
 
273
# v = tension en V (volt)
 
274
# p = puissance dissipée en W (watt)
 
275
# r = résistance en W (ohm)
 
276
 
 
277
define pr2v (p,r) {
 
278
        return( sqrt(p*r) )
 
279
}
 
280
 
 
281
# Calcul de la quantité de chaleur obtenue en transformant par effet Joule une quantité d'énergie électrique donnée (pour le calcul de l'énergie électrique, voir la formule pt2w(p,t).
 
282
# Énoncé : La quantité de chaleur exprimée en kilo-calories produite dans une résistance par effet Joule s'obtient en multipliant l'énergie électrique exprimée en watts-secondes (Joule) dissipée dans cette résistance par le nombre 0,000238.
 
283
# qc = 0,000238 W (Valeur approchée par défaut)
 
284
# qc = quantité de chaleur en kilo-calories
 
285
# w = énergie électrique en W.s (watt-seconde) ou bien en J (Joule) 
 
286
# Données :   Énergie électrique dissipée par une résistance W = 0,5 kW.h (kilowatt-heure)  = 3 600 000 x 0,5 = 1 800 000 W.s  (pour l'équivalence entre le kilowatt-heure et le watt-seconde, voir l'observation qui suit la formule pt2w(p,t).
 
287
# Quantité de chaleur produite par la résistance : Qc = 0,000 238 x 1 800 000 = 428,4 kcal.
 
288
 
 
289
define qcw2qc (w) {
 
290
        # convertion en W.s ou Joule
 
291
        return( qc )
 
292
}
 
293
 
 
294
# Calcul de la résistance à chaud d'un conducteur connaissant l'augmentation de température du matériau et la résistance du conducteur à la température ambiante (20° C).
 
295
# Énoncé : En augmentant la température d'un conducteur, on augmente sa résistance électrique. Pour le calcul de la résistance à chaud d'un conducteur, il faut compléter l'énoncé de la façon suivante : la résistance à chaud, exprimée en ohms, s'obtient en additionnant la résistance du conducteur à la température ambiante (20° C) avec le produit du coefficient de température du matériau, de la résistance à la température ambiante et de l'augmentation de température exprimée en degrés Celsius.
 
296
# Les coefficients de température des principaux matériaux conducteurs sont reportés dans la dernière colonne de droite du tableau III (nous reportons la même figure 1 ci-dessous).
 
297
# rt = résistance à chaud (à la température t) en W (ohm)
 
298
# r20 = résistance à froid (à la température de 20° C) en W (ohm)
 
299
# a = coefficient de température du matériau
 
300
# t = température du conducteur chaud en °C (degrés Celsius)
 
301
# t - 20 = augmentation de température en °C (degrés Celsius)
 
302
# Données relatives à un conducteur de tungstène : R20 = 30 W (résistance à froid du conducteur) ;   = 0,0045 (coefficient de température du tungstène)  ;  t = 320° C (température du conducteur).
 
303
# Augmentation de température du conducteur : t - 20 = 320 - 20 = 300° C
 
304
# Résistance à chaud du conducteur : Rt = 30 + 0,0045 x 30 x 300 = 30 + 40,5 = 70,5 W 
 
305
 
 
306
 
 
307
# Calcul de la résistance par mètre à froid (à  20° C) d'un conducteur connaissant sa section et la résistivité du matériau.
 
308
# (R / m) = (p / S)
 
309
# R / m = résistance par mètre en W / m (ohm par mètre)
 
310
# p = résistivité en µW.m (microhm-mètre)
 
311
# S = section en mm2
 
312
# * Cette formule est tirée de la formule 64 ("voir formulaire mathématiques 2 - 1ère partie") en donnant à la longueur du conducteur la valeur de 1 mètre *.
 
313
 
 
314