Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
projetS6_Groupe4
4projetCordesVocales
Commits
a815b0be
Commit
a815b0be
authored
Mar 23, 2021
by
phelma
Browse files
j'ai rien fait en vraie ..
parent
7f35e7e5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
16 deletions
+16
-16
u4-fonctions.cpp
u4-fonctions.cpp
+16
-16
No files found.
u4-fonctions.cpp
View file @
a815b0be
...
...
@@ -311,10 +311,10 @@ void Pseparation_Matlab()
(
gDonnees
.
corde
.
xs
)
=
((
gDonnees
.
corde
.
hs
)
-
(
gDonnees
.
corde
.
h
[
1
]))
/
(
gDonnees
.
geometrie
.
A
[
1
])
+
gDonnees
.
corde
.
x
[
1
];
}
else
else
//cas ou h1=h2, alors
{
(
gDonnees
.
corde
.
xs
)
=
(
gDonnees
.
corde
.
x
[
2
]);
//
cas ou h1=h2, alors
(
gDonnees
.
corde
.
hs
)
=
(
gDonnees
.
corde
.
h
[
2
]);
//on force le point de séparation à x2
(
gDonnees
.
corde
.
xs
)
=
(
gDonnees
.
corde
.
x
[
2
]);
//
on force le point de séparation à x2
(
gDonnees
.
corde
.
hs
)
=
(
gDonnees
.
corde
.
h
[
2
]);
}
// A discuter avec le prof
...
...
@@ -368,7 +368,7 @@ double calculUg_Matlab()
if
((
gDonnees
.
corde
.
h
[
1
]
<=
0
)
||
(
gDonnees
.
corde
.
h
[
2
]
<=
0
))
//cas où on a fermeture de la glottique, donc abscence d'écoulement
{
Ug
=
0
;
//on fixe alors le débit à zéro
/
/
dUg = (Ug-gDonnees.corde.Ugm1)*gDonnees.fe
;
//calcul de la dérivée du débit
/
*
dUg = (Ug-gDonnees.corde.Ugm1)*gDonnees.fe
*/
//calcul de la dérivée du débit
utile pour la viscosité
Delta
=
0
;
//par défaut on met Delta à Zéro, par NR
GA
=
0
;
}
...
...
@@ -412,7 +412,7 @@ double W_Matlab(int i) //terminé
// W = (gDonnees.corde.x[i+1]-gDonnees.corde.x[i])/(pow(gDonnees.corde.h[i],2)); //cas où la plaque est horizontale
//}
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
geometrie
.
B
[
i
])
<
pres
)
//cas de presque horizontalité
, avec
dvpt limité
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
geometrie
.
B
[
i
])
<
pres
)
//cas de presque horizontalité
->
dvpt limité
{
W2
=
1
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
))
*
(
gDonnees
.
corde
.
x
[
i
+
1
]
-
gDonnees
.
geometrie
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
2
)
/
gDonnees
.
geometrie
.
B
[
i
]
+
(
pow
(
gDonnees
.
geometrie
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
3
)
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
)));
W1
=
1
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
))
*
(
gDonnees
.
corde
.
x
[
i
]
-
gDonnees
.
geometrie
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
],
2
)
/
gDonnees
.
geometrie
.
B
[
i
]
+
(
pow
(
gDonnees
.
geometrie
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
],
3
)
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
)));
...
...
@@ -439,7 +439,7 @@ double X_Matlab(int i) // terminé
// X = (gDonnees.corde.x[i+1]-gDonnees.corde.x[i])/(pow(gDonnees.corde.h[i],2)); //cas où la plaque est horizontale
//}
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
geometrie
.
B
[
i
])
<
pres
)
//cas de presque horizontalité
, avec
dvpt limité
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
geometrie
.
B
[
i
])
<
pres
)
//cas de presque horizontalité
->
dvpt limité
{
X2
=
1
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
2
)
/
2
-
2
*
gDonnees
.
geometrie
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
3
)
/
3
/
gDonnees
.
geometrie
.
B
[
i
]
+
3
*
(
pow
(
gDonnees
.
geometrie
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
4
)
/
4
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
)));
X1
=
1
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
i
],
2
)
/
2
-
2
*
gDonnees
.
geometrie
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
],
3
)
/
3
/
gDonnees
.
geometrie
.
B
[
i
]
+
3
*
(
pow
(
gDonnees
.
geometrie
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
],
4
)
/
4
/
(
pow
(
gDonnees
.
geometrie
.
B
[
i
],
2
)));
...
...
@@ -468,7 +468,7 @@ void X_W_s_Matlab(double* X,double* W) // entre x1 et xS, terminé
//Ws = (gDonnees.corde.xs-gDonnees.corde.x[1])/(pow(gDonnees.corde.h[1],2)); //cas où la plaque est horizontale
//}
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
1
]
*
gDonnees
.
corde
.
xs
/
gDonnees
.
geometrie
.
B
[
1
])
<
pres
)
//cas de presque horizontalité
, avec
dvpt limité
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
1
]
*
gDonnees
.
corde
.
xs
/
gDonnees
.
geometrie
.
B
[
1
])
<
pres
)
//cas de presque horizontalité
->
dvpt limité
{
X2
=
1
/
(
pow
(
gDonnees
.
geometrie
.
B
[
1
],
2
))
*
(
pow
(
gDonnees
.
corde
.
xs
,
2
)
/
2
-
2
*
gDonnees
.
geometrie
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
xs
,
3
)
/
3
/
gDonnees
.
geometrie
.
B
[
1
]
+
3
*
(
pow
(
gDonnees
.
geometrie
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
xs
,
4
)
/
4
/
(
pow
(
gDonnees
.
geometrie
.
B
[
1
],
2
)));
X1
=
1
/
(
pow
(
gDonnees
.
geometrie
.
B
[
1
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
1
],
2
)
/
2
-
2
*
gDonnees
.
geometrie
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
x
[
1
],
3
)
/
3
/
gDonnees
.
geometrie
.
B
[
1
]
+
3
*
(
pow
(
gDonnees
.
geometrie
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
1
],
4
)
/
4
/
(
pow
(
gDonnees
.
geometrie
.
B
[
1
],
2
)));
...
...
@@ -507,7 +507,7 @@ void calculForceMatlab()
{
// *******************************************************
// ********************* Calcul de Fl_h1 *****************
//int i1=1;
//terme de bernoulli
bern
=
tmp1
*
(
1
/
(
pow
(
gDonnees
.
corde
.
h
[
0
],
2
))
-
2
*
(
X_Matlab
(
0
)
-
gDonnees
.
corde
.
x
[
0
]
*
W_Matlab
(
0
))
/
pow
((
gDonnees
.
corde
.
x
[
1
]
-
gDonnees
.
corde
.
x
[
0
]),
2
));
...
...
@@ -521,14 +521,14 @@ void calculForceMatlab()
{
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
1
]
*
gDonnees
.
corde
.
x
[
2
]
/
gDonnees
.
geometrie
.
B
[
1
])
<
pres
)
//glotte forme un conduit parallèle
{
// int i2=2;
//terme de bernoulli
bern
=
tmp1
*
(
1
/
(
pow
(
gDonnees
.
corde
.
h
[
0
],
2
))
+
2
*
(
X_Matlab
(
1
)
-
gDonnees
.
corde
.
x
[
2
]
*
W_Matlab
(
1
))
/
(
pow
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
],
2
)));
}
else
//glotte formant un canal convergent ou divergent avec h2<hs
{
//int i2 = 2; //numéro de la plaque sur laquelle on calcule les forces
//terme de bernoulli
// bern = tmp1*(1/(pow(gDonnees.corde.x[0],2))+2*(X_Matlab(1)-gDonnees.corde.x[2]*W_Matlab(1))/pow(gDonnees.corde.x[2]-gDonnees.corde.x[1],2));
bern
=
tmp1
*
(
1
/
(
pow
(
gDonnees
.
corde
.
h
[
0
],
2
))
+
2
*
(
X_Matlab
(
1
)
-
gDonnees
.
corde
.
x
[
2
]
*
W_Matlab
(
1
))
/
(
pow
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
],
2
)));
...
...
@@ -541,7 +541,7 @@ void calculForceMatlab()
{
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
1
]
*
gDonnees
.
corde
.
x
[
2
]
/
gDonnees
.
geometrie
.
B
[
1
])
<
pres
)
{
//int i2 = 2; //numéro de la plaque sur laquelle on calcule les forces
tmpG
=
(
gDonnees
.
corde
.
xs
-
gDonnees
.
corde
.
x
[
1
])
/
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
])
*
(
gDonnees
.
corde
.
x
[
2
]
-
(
gDonnees
.
corde
.
xs
+
gDonnees
.
corde
.
x
[
1
])
/
2
);
//variable temporaire
...
...
@@ -549,7 +549,7 @@ void calculForceMatlab()
}
else
{
//i2 = 2; //numéro de la plaque sur laquelle on calcule les forces
tmpG
=
(
gDonnees
.
corde
.
xs
-
gDonnees
.
corde
.
x
[
1
])
/
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
])
*
(
gDonnees
.
corde
.
x
[
2
]
-
(
gDonnees
.
corde
.
xs
+
gDonnees
.
corde
.
x
[
1
])
/
2
);
//variable temporaire
...
...
@@ -568,13 +568,13 @@ void calculForceMatlab()
{
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
1
]
*
gDonnees
.
corde
.
x
[
2
]
/
gDonnees
.
geometrie
.
B
[
1
])
<
pres
)
//glotte formant un conduit parallèle
{
//i2=2;
//terme de bernoulli
bern
=
tmp1
*
(
1
/
(
pow
(
gDonnees
.
corde
.
h
[
0
],
2
))
-
2
*
(
X_Matlab
(
1
)
-
gDonnees
.
corde
.
x
[
1
]
*
W_Matlab
(
1
))
/
pow
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
],
2
));
}
else
//glotte formant un canal convergent ou divergent avec h2<hs
{
//i2 = 2; //numéro de la plaque sur laquelle on fait le calcul...
//terme de bernoulli
bern
=
tmp1
*
(
1
/
(
pow
(
gDonnees
.
corde
.
h
[
0
],
2
))
-
2
*
(
X_Matlab
(
1
)
-
gDonnees
.
corde
.
x
[
1
]
*
W_Matlab
(
1
))
/
(
pow
((
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
]),
2
)));
}
...
...
@@ -585,14 +585,14 @@ void calculForceMatlab()
{
if
(
fabs
(
gDonnees
.
geometrie
.
A
[
1
]
*
gDonnees
.
corde
.
x
[
2
]
/
gDonnees
.
geometrie
.
B
[
1
])
<
pres
)
//glotte formant un conduit parallèle
{
//i2=2;
tmpH
=
(
gDonnees
.
corde
.
xs
-
gDonnees
.
corde
.
x
[
1
])
/
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
])
*
((
gDonnees
.
corde
.
xs
+
gDonnees
.
corde
.
x
[
1
])
/
2
-
gDonnees
.
corde
.
x
[
1
]);
//variable temporaire
//terme de bernoulli
bern
=
tmp1
*
(
1
/
(
pow
(
gDonnees
.
corde
.
h
[
0
],
2
))
-
(
Xs
-
gDonnees
.
corde
.
x
[
1
]
*
Ws
)
/
(
tmpH
*
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
])));
}
else
{
//i2 = 2; //numéro de la plaque sur laquelle on fait le calcul..
tmpH
=
(
gDonnees
.
corde
.
xs
-
gDonnees
.
corde
.
x
[
1
])
/
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
])
*
((
gDonnees
.
corde
.
xs
+
gDonnees
.
corde
.
x
[
1
])
/
2
-
gDonnees
.
corde
.
x
[
1
]);
//variable temporaire
//terme de bernoulli
bern
=
tmp1
*
(
1
/
(
pow
(
gDonnees
.
corde
.
h
[
0
],
2
))
-
(
Xs
-
gDonnees
.
corde
.
x
[
1
]
*
Ws
)
/
(
tmpH
*
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
])));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment