Sie sind auf Seite 1von 62

Rapport de Bureau dEtude

Hydrodynamique
Calcul de la trajectoire dune torpille
par la mthode des singularits

Guilherme Loureno Mejia


Marco Batista Xand de Oliveira
2011 - 2012

NDEX
1. Introduction .............................................................................................................................................. 1
2. Equations du mouvement ......................................................................................................................... 2
3. Forces sexerant sur la torpille ................................................................................................................ 3
4. Calcul de la vitesse du fluide en tout point de la surface de la torpille par la mthode de singularit ... 5
5. Calcul des efforts hydrodynamiques ...................................................................................................... 11
6. Calcul de la trajectoire ............................................................................................................................ 15
7. Droulement du BE ................................................................................................................................. 16
7.1. Maillage de la torpille ...................................................................................................................... 16
7.2. Trois problmes lmentaires ......................................................................................................... 19
7.3. Champ de vitesse pour un mouvement quelconque....................................................................... 23
7.4. Calcul des coefficients de pressions  et  ............................................................................ 24
7.5. Calcul de la vitesse critique .............................................................................................................. 27
7.6. Calcul des coefficients hydrodynamiques........................................................................................ 27
7.7. Dtermination de la trajectoire ....................................................................................................... 29
7.8. Dtermination du domaine de fonctionnement ............................................................................. 32
7.9. Dtermination de la trajectoire avec propulsion et pilotage .......................................................... 36
8. Conclusions ............................................................................................................................................. 41
Annexe 1: Prsentation du site Astrium Space Transportation Les Mureaux ......................................... 42
Annexe 2: Fortran ....................................................................................................................................... 44
Annexe 3: Organigrammes (mthode, fortran) .......................................................................................... 57
Annexe 4: Table pour lapplication numerique du calcul de la trajectoire dune torpille .......................... 59

Figures
Figure 1: Missile balistique M51 .................................................................................................................. 1
Figure 2: Repres utiliss .............................................................................................................................. 2
Figure 3: Forces sur la torpille ...................................................................................................................... 4
Figure 4: Hypothses simplificatrices ........................................................................................................... 6
Figure 5: Facette triangulaire lmentaire de densit  constante .............................................................. 10
Figure 6: Relation entre les repres fixe et sur la torpille rotation dun angle  ..................................... 16
Figure 7: Corps fictif Condition de Kutta Joukovcski respecte ............................................................. 17
Figure 8: Maillages moins et plus affins, respectivement ......................................................................... 18
Figure 9: Numration des points et triangles du maillage........................................................................... 19
Figure 10: Normales ................................................................................................................................... 20
Figure 11: Problme lmentaire:  = 
/ ........................................................................................ 20
Figure 12: Problme lmentaire:  = / ........................................................................................... 21
Figure 13: Problme lmentaire:  = / ........................................................................................... 22
Figure 14: Champ de vitesse pour un mouvement quelconque:  =  = / ,  = 
/ ............. 23
Figure 15: Variation de  sur une corde de la torpille ........................................................................... 24
Figure 16: Coefficient  ....................................................................................................................... 25
Figure 17: Variation de  sur une tranche du maillage (au milieude la torpille); la courbe bleu
rprsente la fonction  (
) .................................................................................................. 26
Figure 18: Coefficient  ......................................................................................................................... 26
Figure 19: Rpartition du coefficient de portance sur la torpille maillage: n = 10, nc = 10, nl = 10 ....... 28
Figure 20: Rpartition du coefficient de portance sur la torpille maillage: n = 20, nc = 40, nl = 16 ....... 28
Figure 21: Rpartition du coefficient de trane de pression maillage: n = 20, nc = 40, nl = 16 ............. 29
Figure 22: Cas test - Immersion de la torpille X(m) vs temps t(s).............................................................. 30
Figure 23: Cas test Assiette Theta() vs temps t(s) .................................................................................. 30
Figure 24: Cas test Trajectoire du centre de gravit de la torpille ........................................................... 31
Figure 25: Domaine de tir  = .................................................................................................... 32
Figure 26: Domaine de tir  = .................................................................................................... 33
Figure 27: Domaine de tir  =  ...................................................................................................... 33
Figure 28: Domaine de tir  =  ......................................................................................................... 34
Figure 29: Domaine de tir  =  ......................................................................................................... 34
Figure 30: Domaine de tir  = ....................................................................................................... 35
Figure 31: Domaine de tir  = ....................................................................................................... 35
Figure 32: Cas 1 sans propulsion ............................................................................................................. 37
Figure 33: Cas 2 sans propulsion ............................................................................................................. 37
Figure 34: Cas 3 sans propulsion ............................................................................................................. 38
Figure 35: Cas 4 sans propulsion ............................................................................................................. 38
Figure 36: Cas 1 avec propulsion et pilotage ........................................................................................... 39
Figure 37: Cas 2 avec propulsion et pilotage ........................................................................................... 39
Figure 38: Cas 3 avec propulsion et pilotage ........................................................................................... 40
Figure 39: Cas 4 avec propulsion et pilotage ........................................................................................... 40
Figure 40: Vue arienne du site Astrium Space Transportation Les Mureaux ........................................ 42

1. Introduction
Ils sont peu les pays qui ont dvelopp un systme de tir de missiles balistiques partir
dun sous-marin. France est un de ces pays et lEADS est le responsable pour un des dernires
modles, le M51. Pour le dveloppement du M51, EADS a utilis une approche base sur des
simulations numriques avec pour objectifs de rduire les cots de dveloppement et de mieux
matriser les marges de conceptions. Cest dans le cadre de ce projet que sinscrit ce bureau
dtudes.
Soit une torpille tire depuis un sous-marin en immersion. Une fois lance, la torpille se
dirige afin deffectuer sa mission. Pour cela, la torpille peut, par exemple, actionner des surfaces
portantes, orienter son propulseur, modifier son centrage. Toutes ces actions sont contrles
automatiquement par un programme informatique embarqu qui en temps rel, pilote et guide la
torpille vers son objectif. Le sous-marin possde une vitesse davance qui aussi donne des effets
sur la trajectoire de la torpille.
Donc, le but de ce Bureau dEtudes est de dterminer, en thorie de fluide parfait, la
trajectoire dune torpille, ainsi que les bornes du domaine demploi de la torpille afin quelle
merge de leau dans des conditions qui elle permettent de poursuivre sa mission.
Pour ce travail, on va dans un premier temps dterminer les efforts hydrodynamiques qui
agissent sur le missile puis dans un second temps, on va calculer sa trajectoire connaissant les
efforts extrieurs. Dans une dernire partie, il est fait lintgration dun systme de pilotage et
des efforts de propulsion sur la torpille.

Figure 1: Missile balistique M51

2. Equations du mouvement
Les quations du mouvement de la torpille sont dveloppes en supposant que sa
trajectoire est 2D, de sorte que le problme est 3 degrs de liberts: 2 composantes de vitesse et
1 composante de vitesse angulaire.
Pour dcrire le mouvement de la torpille ils sont utiliss trois repres: le repre fixe RO,
le repre mobile de calcul des efforts RM et le repre mobile de calcul de la gomtrie et des
potentiels RN. Ils sont reprsents dans la Figure 2.
#!, $!% ' = ((, )!, *!, +!) , = (,, )!, *!, +!
 = , ! , "

Figure 2: Repres utiliss

Cest possible reprsenter le vecteur vitesse et le vecteur vitesse angulaire du centre de


gravit G de la torpille comme cest indiqu ci-dessous:
0
0
0
#-!.  /1 3  617  /1 3
0 45
0 48
0 48
0
0
0
##!  607  6 0 7  607

: 45
: 48
: 48

Eq. 1

Eq. 2

Les quations du mouvement sont crit, dans le repre fixe, par le principe fondamental
de la dynamique et par le thorme du moment cintique au centre de gravit, comme cest
indiqu ensuite:

#!
G; <!= >?@  C'D. F I
GH 4J
8

=AB
8

##!= >?@  CKD. F


;'
=AB

##!
G
I
GH 4J

Eq. 3

Eq. 4

Quand les quations Eq. 3 et Eq. 4 sont crit dans le repre mobile RM, les efforts et
moments sont calcules dans RM et les relations font apparatre les efforts dinertie:
8

; <!= >?@  C'D. F


=AB
8

#!
G#! C'D. #!
I L #
GH 45

Eq. 5

##!
G
##! CKD.
##!
I L
GH 45

Eq. 6

##!= >?@  CKD. F


;'
=AB

En utilisant les notations des quations Eq. 1 et Eq. 2, cest possible crire les quations
du mouvement tudi comme suit:
8

; <!= >?@ . )!  N0O  1:


=AB
8

; <!= >?@ . *!  N1O L 0:


=AB

##!= >?@ . +!  K:O


;'
=AB

Eq. 7

Eq. 8

Eq. 9

3. Forces sexerant sur la torpille


Dans la Figure 3, on reprsente les forces sexerant sur la torpille lorsquelle est
submerge.

Figure 3: Forces sur la torpille

Le poids est appliqu au point G (centre de gravit) et il est connu. Dans le repre RM, on
a:

N V WXYZ
!
<PQ=RS T45  U N V Y[\Z
0
##!PQ=RS T  #0!
'
45

Eq. 10

Eq. 11

Les efforts hydrostatiques sont un rsultat de la pousse dArchimde. Donc, ils sont
donns:
c V -Xf WXYZ
<!]^RS@ T45   _`a@b L cVd\#!Ge  Uc V -Xf Y[\Z
0
##!]^RS@ T
'
45

0
#####!
0
 GC <!]^RS@  U
)i c V -Xf sinZ

Eq. 12

Eq. 13

o `a@b est la pression atmosphrique, c est la densit de leau de mer, d est limmersion de la
torpille et -Xf son volume. Les efforts hydrostatiques rsultants sont appliqus au centre
volumtrique C de la torpille, de faon que )i est la distance entre C et G ()i m 0 si C au dessus
de G). Si on connat langle Z pour un point de la trajectoire, donc les efforts hydrostatiques sont
connus dans ce point.
Les efforts hydrodynamiques sont rsultants de lintgration de la pression dynamique sur
la surface de la torpille (torseur hydrodynamique). Soit `R^n lexpression de la pression
dynamique. Les efforts sont donns par les formules suivantes:

<!o T45  

_ `R^n \#!Ge  <o? )! L <o^ *!

pqrstuvvw

##!o T  
'
45

_ ######!
GM `R^n \#!Ge  'oy +!

pqrstuvvw

Eq. 14

Eq. 15

o M est un point sur la surface de la torpille.


Ainsi, il reste dterminer la pression dynamique en tout point de la surface de la
torpille. Pour cela, on va calculer la vitesse du fluide sur la surface de la torpille en fonction de sa
cinmatique. Connaissant la vitesse du fluide, lquation de Bernoulli instationnaire nous
permettra den dduire `R^n .
Avec le calcul des efforts sur la torpille chaque instant, il sera possible dterminer la
trajectoire de la torpille avec les quations Eq. 7, Eq. 8 et Eq. 9, qui peuvent scrire comme:
N0O  1:  c -Xf  NV WXYZ L <o?

N1O L 0:  c -Xf  NV Y[\Z L <o^


K:O  )i c V -Xf sinZ L 'oy

Eq. 16
Eq. 17
Eq. 18

4. Calcul de la vitesse du fluide en tout point de la surface de la torpille


par la mthode de singularit
Pour faire le calcul de la vitesse du fluide en tout point de la surface de la torpille et le
calcul des efforts sur la mme il faut faire des hypothses simplificatrices, qui sont indiqus en
suit:
1.
2.
3.
4.
5.
6.
7.

Pas dinfluence de la surface libre


Pas de houle
Pas daccrochage de bulle
Pas deffort de fluide rel dorigine non potentielle (frottement visqueux, dcollement)
Fluide parfait
Ecoulement incompressible
Ecoulement irrotationnel

Figure 4: Hypothses simplificatrices

Avec ces hypothses, cest possible dcrire des quations suivant:


Le fluide est
parfait et
irrotationnel

#!z  V:{G|
-

Eq. 19

Le fluide est
incompressible

#!z %  0
G[1-

Eq. 20

G[1CV:{G|D  |  0

Eq. 21

o | est le potenciel qui drive la vitesse du fluide.


Des quations Eq. 19 et Eq. 20:

Pour lcoulement sur la torpille, il faut crire la condition de glissement, qui est donn
par:

#!z \#!  #!5 \#!


-

Eq. 22

#! ######!
#!5  #!. L 
GM

Eq. 23

o ' est un point sur la torpille et \#! le vecteur normal la surface de la mme qui contient M.
#!5 peut tre ecrit comme:
Mais -

Ainsi:

#! ######!
#!z \#!  #!5 \#! V:{G| \#!  #!. L 
GM% \#!
|
#! ######!
#!. L 
 GM% \#!
\ S

Eq. 24

Donc, pour dterminer | il faut rsoudre le systme suivant:


|  0
|
#! ######!
#!. L 
 GM% \#!
\ S

dans le domaine fluide D

sur la surface de la torpille S

Cest possible rcrire lquation Eq. 24 comme:

|
#! ######!
#! ######!
#! GM
######! \#!%
#!. L 
#!. \#! L 
#!. \#! L 
 GM% \#!  GM% \#!  \ S

et, par commodit, dans le repre RN lquation scrire comme:

\B '
\ '
0
0 H
|

 1 H \ ' L 6 0 7 \ '


\ S
: H
\ '
\ '
0

et la condition de glissement devient:

|
 0 H\B ' L 1 H\ ' L : H\ '
\ S

Donc, le systme peut tre crit comme:

|  0
|
 0 H\B ' L 1 H\ ' L : H\ '
\ S

Eq. 25

dans D
sur S

Pour rsoudre ce systme, il est dcompos en trois systmes lmentaires:

| est le potentiel de lcoulement autour


de la torpille qui possde une vitesse
lmentaire purement longitudinale
et de valeur 1.
| est le potentiel de lcoulement autour
de la torpille qui possde une vitesse
lmentaire purement transverse
et de valeur 1.
| est le potentiel de lcoulement autour
de la torpille qui possde uniquement une
vitesse angulaire et de valeur 1.

|  0
|
 \B
\ S
|  0
|
 \
\ S
|  0
|
 \
\ S

dans D

Eq. 26

dans D

Eq. 27

dans D

Eq. 28

sur S
sur S

sur S

o la solution du systme global est donn par:

|H, '  0 H| ' L 1 H| ' L : H| '

Eq. 29

Donc, comme a, la vitesse du fluide autour de la torpille drivant du potentiel est donn
par:

#!z H, '  0 H#!z ' L 1 H#!z ' L : H#!z '

Eq. 30

Et le problme gnral instationnaire est pass trois problmes lmentaires stationnaires.


Chaque problme lmentaire peut tre rsolut par la mthode des singularits.

La premire tape pour rsoudre les problmes est diviser la surface de la torpille en ,
facettes (maillage). Chaque facette reprsente une singularit source surfacique induisant un
potentiel et une vitesse 1 (drivant du potentiel) en tout point de lespace. Lexpression

du potentiel et de la vitesse induits en ' par les , facettes scrit pour [  0, 1, : :


8

|= '  ; = '

Eq. 31

###!
-z '  ; = ##1#! '

Eq. 32

AB

AB

Donc, le problme revient dterminer = , et - pour chaque facette et pour les trois
problmes lmentaires.

Dans la thorie, le potentiel induit au point ' par une surface porteuse e de densit
scrit:
'  

1
'Ge
_
L WH
4
T|'|T
p

Eq. 33

Et la vitesse induite au point M par une surface scrit:


' e

#! '  
-

######!Ge
1
''
_

4
T|'|T
p

Eq. 34

' e

#! ' 
-

######!Ge
'
1
''
\#!  lim
_

4
2
T|'|T

Eq. 35

Soit la surface porteuse un triangle (surface e ) avec une densit constante (Figure 5).
Donc, on a:
'  

' e
' e

Ge
_
L WH
4
T|'|T
p

1
' 
;n n L d {n tan n L {n tan n %
4

nAB

1
1! ' 
;1!n n L \#! YV\ {n tan n L {n tan n %
4
nAB

1! ' 

1
\#!
2

Eq. 36

Eq. 37

Eq. 38

Eq. 39

avec des variables indiques dans la Figure 5.

t nj =

Pnj Pn +1 j

r nj = Pnj M

l nj

sgn j = signe n j .Pj M

d nj = h 2j + nj2

nj =

nj anj
d nj + h j rnj

h j = n j .Pj M

bnj = r n +1 j .t nj

anj = r nj .t nj

nj = t nj n j .r nj
nj =

lnj = Pnj Pn +1 j

v nj = t nj n j

nj bnj

r +r +l
nj = ln nj n +1 j nj
rnj + rn +1 j lnj

d nj + h j rn +1 j

Figure 5: Facette triangulaire lmentaire de densit  constante

Avec ces relations, on peut crire |= ' et ###!


-z ' pour chaque problme lmentaire.
=

En utilisant les conditions tablies de la condition de glissement, cest possible obtenir un


systme dquations pour chaque problme lmentaire o les variables dterminer sont les
densits de chaque facette du maillage.

Pour exemplifier, on considre le premier problme lmentaire | . Chaque facette j du


maillage possde une intensit . Donc, lexpression du potentiel et de la vitesse induits en M
par les , facettes scrit:
8

###!
-z '  ; ###!
1 '

| '  ; '

AB

AB

La dtermination des , intensits sobtient en satisfaisant la condition aux limites


au barycentre de chaque facette:
8

|
 ###!
-z \#!   ; ###!
1 ' \#!   \B  

\
AB

Eq. 40

10

r
r
r
r
r
r
1u ' v1 ( M ) n ( P1 ) + 2 u ' v 2 ( M ) n ( P1 ) + ... + Nju ' v Nj ( M ) n ( P1 ) = n1 (P1 )
r
r
r
r
r
r
1u ' v1 ( M ) n ( P2 ) + 2 u ' v 2 ( M ) n ( P2 ) + ... + Nju ' v Nj ( M ) n ( P2 ) = n1 (P2 )
r
r
r
r
r
r
1u ' v1 ( M ) n ( P3 ) + 2u ' v 2 ( M ) n ( P3 ) + ... + Nju ' v Nj ( M ) n ( P3 ) = n1 (P3 )
...
r
r
r
r
r
r
1u ' v1 ( M ) n ( PNj ) + 2 u ' v 2 ( M ) n ( PNj ) + ... + Nju ' v Nj ( M ) n ( PNj ) = n1 (PNj )

Sous forme matricielle:

 \B

Eq. 41

Eq. 42

La matrice dinfluence Akj est une matrice de dimension , ), . Ensuite, les densits de source
sont dtermines par une mthode de Gauss. Par consquent, on calcule aussi le potentiel
###!z .
lmentaire global | et la vitesse lmentaire globale

Suivant le mme principe, il reste rsoudre les deux autres systmes lmentaires.
 \
 \

Eq. 43
Eq. 44

Ainsi, on en dduit les trois potentiels et vitesses lmentaires. Et enfin le potentiel et la


vitesse globale par les quations Eq. 29 et Eq. 30.

5. Calcul des efforts hydrodynamiques


Pour calculer les efforts hydrodynamiques il faut dterminer la pression dynamique sur la
torpille. Pour cela, on utilise lquation dEuler, qui est lquation de conservation de la quantit
de mouvement dans le cas dun fluide parfait (sans viscosit). Comme on considre un
coulement irrotationnel, lintgration de cette quation le long dune ligne de courant fournit
lquation de Bernoulli instationnaire en fonction du potentiel | (Eq. 19):
##########! |
|
V:{G
` L cVd L H  c / L
3
H 4J
2

Eq. 45

C(t) est une constante des grandeurs despace. Elle ne contribue donc pas aux efforts.

ltape prcdente, on a calcul le potentiel | dans le repre RN. Donc, il faut crire
lEq. 45 dans le repre RN.
On a unicit du potentiel de vitesses:

| , ", $4J  |) , * , + 48

Eq. 46
11

Comme le repre RN est mobile par rapport RO, une particule fixe dans RN est en mouvement
#! (#!5 sur la torpille Eq. 23). Donc:
dans R0 et se dplace la vitesse |
|
##########! |
#!5 V:{G

LH 48
H 4J

Do:

c
|
#! GM
######!% ##########!
#!. L 
`  `a@b L cVd L 2 L 2V:{G|  ##########!
V:{G |
2
H 48

Eq. 47

Eq. 48

Avec:
`R^n 

c
|
#! ######!
#!. L 
2 L 2GM% ##########!
V:{G|  ##########!
V:{G |
2
H 48

Dans RN, on a:

0  :*5
 *. 
#! GM
######!  1 L :)  ) 
#!. L 
5
.
0
|
 0O | L 1O | L :O |
H 48

Eq. 49

Eq. 50
Eq. 51

|
|
|
|
0
L 1
L :

)
)
0 - ? L 1- ? L :- ?
) )

|
|
|
|



##########!
V:{G| 
*  0 * L 1 * L : *  0- ^ L 1- ^ L :- ^

0- y L 1- y L :- y
|
|
|
|
+ 0 + L 1 + L : +

Eq. 52

Si on remplace tous les termes et aprs on dveloppe et regroupe en fonction des termes
cinmatiques, lEq. 63 devient:
`R^n

c  20O |  21O |  2:O | L ` 0 L ` 1


2
L ` : L ` 01 L ` 0: L ` 1:

Eq. 53

o les pressions `= , avec i,j = u, v, r, sont donnes:

`  2- ?  - ? L - ^ L - y
`  2- ^  - ? L - ^ L - y

Eq. 54
Eq. 55

12

`  2*  *. - ? L 2)  ). - ^  - ? L - ^ L - y

Eq. 56

`  2- ? L 2- ^  2- ? - ? L - ^ - ^ L - y - y %

Eq. 57

`  2- ?  2*  *. - ? L 2)  ). - ^
2- ? - ? L - ^ - ^ L - y - y %

Eq. 58

`  2- ^  2*  *. - ? L 2)  ). - ^
2- ? - ? L - ^ - ^ L - y - y %

Eq. 59

Ainsi, quel que soit le mouvement de la torpille, la pression dynamique est connue en tout
point de la torpille, puisquon peut dterminer les vitesses et les potentiels avec la mthode
montre prcdemment.
Comme le bilan des efforts est fait dans le repre RM (G,x,y,z),on a:
0 0 1 1 : :

`R^n

c  20O | L 21O |  2:O | L ` 0 L ` 1 L ` :


2
L ` 01  ` 0:  ` 1:

Eq. 60

tant la pression dynamique connue, on peut calculer les efforts hydrodynamiques <!o et

##!o , respectivement, avec les quations Eq. 14 et Eq. 15.


'

Lorsquon injecte lexpression de `R^n dans ces quations, en regroupant en fonction des
termes cinmatiques, on fait apparatre 27 coefficients hydrodynamiques (9 pour chaque
composant <o? , <o^ et 'oy ). Nanmoins, certains coefficients sont ngligeables et on peut
ngliger galement les termes en v,r et vr dans les expressions des efforts. Donc, il reste en tout
10 coefficients hydrodynamiques (sans dimensions) et on crit les efforts comme ci-dessous:

<o^  

'oy  

<o?  

ce>z
0O >z ?P % L 0 ? 
2

ce>z
1O >z nP %  :O >z nP % L 01n   0:>z n %
2

ce>z >z

1O >z bP %  :O >z
bP % L 01b   0:>z b %
2

Eq. 61
Eq. 62
Eq. 63

13

Les coefficients hydrodynamiques sont des formes quadratiques des paramtres


cinmatiques du mouvement coefficients constants ne dpendant que de la gomtrie. Pour la
torpille, ils sont donnent:

Cxup =

1
Sref Dref

Cxuu =
Cnvp =
Cnrp =

facette x '

Cmvp =

Nfacette

uu

S facettenx'

Cmrp =

Nfacette

1
2
Sref Dref
1
Sref

u'

[ p

1
Sref Dref

Cnuv =
Cnur =

1
Sref

[2 S

[2 S
v'

facette y '

Nfacette

[2 S
r'

facette y '

Nfacette

[p

uv

S facetteny '

Nfacette

1
Sref Dref

Cmuv =

[p

ur

S facetteny '

Nfacette

Cmur =

[2 S

1
2
Sref Dref

Nfacette

1
3
Sref Dref

Nfacette

1
Sref Dref

Nfacette

1
2
Sref Dref

Nfacette

v'

[2 S
r'

[ p

uv

[p

ur

facette

facette

((x'x' )n ( y' y' )n )]


G

y'

x'

((x'x' )n ( y' y' )n )]


G

y'

x'

S facette((x' x'G )ny ' ( y' y'G )nx' )

S facette(( x' x'G )ny ' ( y' y'G )nx ' )

\?
1W \#!  6\^ 7 G{\Y (, ), *, +
\y

o e>z et >z sont, respectivement, la surface et le diamtre de base de la torpille.

Chaque coefficient a un sens dans le problme. Par exemple, le coefficient n est un


terme de portance et le coefficient ? est un terme de trane de pression. Pour les autres
coefficients, on a:
?P

Coefficient de masse ajoute longitudinal

Coefficient de couplage

nP
nP

b
bP

bP

Coefficient de masse ajoute transversal

Coefficient damortissement
Coefficient moment de portance
Coefficient dinertie ajoute
Coefficient de couplage
Coefficient damortissement

14

6. Calcul de la trajectoire
En connaissant tous les efforts, maintenant on peut crire les quations du mouvement de
la torpille comme ci-dessous:
N0O  1:  c -Xf  NV WXYZ 

N1O  0:  c -Xf  NV Y[\Z 


K:O  c V -Xf )i Y[\Z 
Donc, on trouve:
0O 

:O 

1O 

ce
 0 L ?P 0O %
2 ?

Eq. 64

ce
 01  n 0: L nP 1O  nP :O % Eq. 65
2 n

ce
b 01  b 0: L bP 1O  bP :O %
2

Eq. 66

ce? 0 L 2N1: L 2WXYZcV-Xf  2WXYZNV


2N L ce?P %

Eq. 67

4NV-Xf)i Y[\Z  2Neb 01 L 2Ne b 0: L ce n 01 bP


L2N0:e bP L 2Y[\ZcV-Xfe bP  2Y[\ZNVe bP

ce n 0:bP  2cenP V-Xf)i Y[\Z  ce nP b 01


Lce nP b 0:

Eq. 68

4NK+  2Nce bP L 2cenP K+  c e nP bP L c e nP bP %


c e bP n 01 L 2ce bP N0: L 2c e bP Y[\ZV-Xf
2ce bP Y[\ZNV  c e bP n 0:  2K+cen 01  4K+N0:
4K+Y[\ZcV-Xf L 4K+Y[\ZNV L 2K+ce 0:  2V-Xf) Y[\Zc e
n
i
nP

e b 01c nP L e b 0:c nP

Eq. 69

4NK+  2Nce bP L 2cenP K+  c e nP bP L c e nP bP %


On ajoute ce systme les quations de O , "O et ZO (lassiette de la torpille):
O   0 WXYZ  1 Y[\Z

Eq. 70

ZO  :

Eq. 72

"O  -  1 WXYZ L 0 Y[\Z


o et - sont les vitesses mesures dans le repre fixe.

Eq. 71

15

Figure 6: Relation entre les repres fixe et sur la torpille rotation dun angle 

Ainsi, on a un systme de 6 quations et il faut lintgrer pour trouver chaque instant la


position de la torpille, sa vitesse et assiette. Donc, en utilisant la mthode de Runge-Kutta
dordre 4 pour lintgration du systme, on dtermine la trajectoire de la torpille

7. Droulement du BE
7.1. Maillage de la torpille
Le programme dvelopp calcule le maillage en utilisant
maillage(r,l,n,nc,nl) donne, o:
r est le rayon de la torpille (0,25m);
l est la longueur de la torpille, sans la coiffe (6m);
nl est le nombre de divisions circulaire;
n est le nombre de divisions de la coiffe dans le sens longitudinal;
nc le nombre de divisions du corps dans le sens longitudinal.

la

fonction

Ici, il faut mentionner que la fonction maillage ajoute la torpille un prolongement,


ou un corps fictif . Cest fait pour viter les effets de contournement des bords de fuite et
respecter la condition de Kutta Joukovski (Figure 7Figure 2).

16

Figure 7: Corps fictif Condition de Kutta Joukovcski respecte

Le maillage sur le corps fictif est moins raffin, puisque les calculs dans cette rgion sont
moins importants.

Une fois que le nombre de divisions du maillage est dfini, triangles sont crs partir
des points fournis pour la fonction maillage . La numration des triangles est faite dans le
sens hlicodal avec le dpart la coiffe. Suivante, ils se trouvent les images du maillage moins
et plus affin, ainsi que de la numration utilise.

17

Figure 8: Maillages moins et plus affins, respectivement

18

Figure 9: Numration des points et triangles du maillage

7.2. Trois problmes lmentaires


Pour rsoudre les problmes lmentaires, il faut appliquer la condition de glissement
pour chaque facette du maillage. Par consquent, il faut aussi dterminer les normales chaque
facette (triangle). La Figure 10 montre les vecteurs normaux surface de la torpille.
Pour chaque problme lmentaire, la vitesse du fluide est calcule sur tous les points de
contrle du maillage (barycentres des facettes triangulaires) en utilisant les sigmas rsultants du
systme linaire (voir partie 4) et de la fonction VSL donne.
Les figures suivantes montrent les champs de vitesse autour de la torpille pour chaque
problme lmentaire. Ces figures ont t valides laide dun fichier contenant les rsultats
attendus.

19

Figure 10: Normales

Figure 11: Problme lmentaire:   


/

20

Figure 12: Problme lmentaire:   /

21

Figure 13: Problme lmentaire:   /

22

7.3. Champ de vitesse pour un mouvement quelconque


Les images suivantes montrent le champ de vitesse pour un exemple de mouvement de la
torpille. Ce champ de vitesses est donn par la somme des trois problmes lmentaires.

Figure 14: Champ de vitesse pour un mouvement quelconque:     / ,   


/

23

7.4. Calcul des coefficients de pressions  et 

Comme on a dit prcdemment, pour le calcul des efforts hydrodynamiques il faut


dterminer la pression dynamique sur la torpille. Par consquent, il faut aussi calculer chaque
coefficient de pression. Dans cette partie, on montre les rsultats des calculs de dois coefficients
de pression: ` et ` . Il faut dire que ces coefficients sont calculs pour chaque facette du
maillage. Tous les rsultats obtenus ont t valids aussi par comparaison avec un fichier
contenant les rsultats attendus.

Le coefficient ` est li au mouvement longitudinal de la torpille. Pour un mouvement


longitudinal sans incidence, le coefficient de pression ` reprsente donc le classique
coefficient Cp dtermin en soufflerie en arodynamique. De la mme faon, on peut dire que le
coefficient ` est li au mouvement latitudinal de la torpille.

Des figures suivantes, on peut noter que le coefficient ` varie de -0,78 1. Le


coefficient est gal 1 dans le centre de la coiffe, o on a donc un point darrt (pour un
mouvement longitudinal). Le fluide acclre sur la coiffe et le coefficient atteint une valeur
minimal presque au fin de la mme. Aprs, le coefficient converge rapidement 0.
Le coefficient ` varie de -3 1. Dans un mouvement latitudinal, le fluide acclre et
aprs dclre en contournant la torpille. Le coulement est symtrique par rapport au plan XY
et la variation de ` sur une tranche du maillage peut tre approche par une fonction de
priode gale .

Figure 15: Variation de  sur une corde de la torpille

24

Figure 16: Coefficient 

25

Figure 17: Variation de  sur une tranche du maillage (au milieude la torpille); la courbe bleu rprsente la fonction
   


Figure 18: Coefficient 

26

7.5. Calcul de la vitesse critique

Le coefficient le plus intressant est le coefficient ` qui, comme on a dit, est gal au
coefficient de pression P pour un mouvement longitudinal sans incidence.
Sous leau, ce coefficient a une grande importance en ce qui concerne les performances
de la torpille: il permet de dterminer la vitesse maximale atteignable en incidence nulle avant
lapparition de la cavitation.
En effet, il y a vaporisation de leau lorsque la pression atteint localement la pression de
vapeur saturante (de lordre de 2000 Pa) sous leffet de la vitesse davance de la torpille.
Cette pression est atteinte en un point de la surface de la torpille vrifiant:
2000  `a@b  cVd
 0 `
c/2

Eq. 73

2000  `a@b  cVd


0i=@ 
Pu c2

Eq. 74

Par consquent une immersion donne, la cavitation apparat au point de Cp minimal (le
plus souvent situ sur la coiffe) pour une vitesse critique 0i=@ de:

On a calcul le Cp minimal sur la torpille pour trois maillages diffrents et pour chaque
Cp on a dtermin les vitesses critiques la surface (d  0).
Maillage

10

20

nc

20

40

nl

16

16

 / 

-0,788614

-0,759118

-0,779949

15,8713

16,1767

15,9592



Tableau 7.5.1 : Valeurs de Pb=n et 0i=@ pour diffrents maillages

7.6. Calcul des coefficients hydrodynamiques


n

Suivante, on montre les rsultats des calculs de dois des coefficients hydrodynamiques:
et ? .
27

Le coefficient n rpresente le coefficient de portance de la torpille. De la littrature,


on sait que pour corps minces comme la torpille le coefficient de portance converges 2 (Ashley
H., Landahl M., Aerodynamics of Wings and Bodies , 1965). Aprs le calcul du coefficient
n pour diffrents maillages, on a vrifi cette information.

Figure 19: Rpartition du coefficient de portance sur la torpille maillage: n = 10, nc = 10, nl = 10

Figure 20: Rpartition du coefficient de portance sur la torpille maillage: n = 20, nc = 40, nl = 16

Le coefficient ? rpresente le coefficient de trane de pression de la torpille. Comme


on peut voir dans la figure suivante, ce coefficient de trane est trs petit. Mais il faut noter
28

quon utilise une hypothse de fluide parfait, de faon que les effets visqueux ne sont pas
considrs, ainsi que la trane de culot qui doit tre dtermine (empiriquement) et ajoute pour
obtenir de meilleurs rsultats.

Figure 21: Rpartition du coefficient de trane de pression sur la torpille maillage: n = 20, nc = 40, nl = 16

En analysant les figures, on constate que les contributions les plus importantes de ces
coefficients se trouvent dans la coiffe de la torpille. a montre que la position du centre
hydrodynamique (arodynamique) de la torpille se trouve dans les proximits de la coiffe.

7.7. Dtermination de la trajectoire


Afin de valider la routine de calcul de la trajectoire, on calcule un cas test en utilisant les
paramtres indiqus dans le tableau figurant lAnnexe 4. Pour ce cas, on considre une
immersion de tir  20N, une vitesse d'jection de la torpille ->  15,7N/Y, une vitesse de
route du sous-marin -  0,1N/Y et une assiette initiale Z  80.

29

Figure 22: Cas test - Immersion de la torpille X(m) vs temps t(s)

Figure 23: Cas test Assiette Theta() vs temps t(s)

30

Figure 24: Cas test Trajectoire du centre de gravit de la torpille

De la Figure 22, on constate que la vitesse verticale de la torpille pendant sa trajectoire


sous leau est presque constante. Cependant, la Figure 23 montre que lassiette de la torpille varie
beaucoup. a vrifie quil faut introduire un mcanisme de pilotage afin de matriser la variation
da lassiette pendant le mouvement de la torpille.
Ici, il est intressant danalyser le processus physique qui agit sur la trajectoire de la
torpille. Dans le dbut de la trajectoire, linertie de leau et les efforts hydrodynamiques et
hydrostatiques font lassiette de la torpille diminuer. La torpille monte mais sa vitesse
longitudinale commence diminuer (trane). Si on regarde la Figure 24, on constate une zone o
la trajectoire est presque linaire. Le dbut de cette zone commence environ linstant lorsque
lassiette de la torpille commence tre ngative, et donc leffort dArchimde agit dans le sens
daccrotre lassiette de la torpille. Quelques instants aprs, la portance passe agir dans le mme
sens. Ces efforts font lassiette commencer accrotre. Comme la vitesse verticale de la torpille
ne varie pas beucoup, on peut dire que les efforts qui agissent dans ce sens sont en quilibre
pendent presque toute la trajectoire. Donc, les variations de la vitesse longitudinale et de
lassiette donnent essentiellement la fome de la trajectoire.

31

7.8. Dtermination du domaine de fonctionnement


Dans ltude de la trajectoire de la torpille, il faut valuer quelles sont les conditions de tir
qui permettent le succs de la mission. Ici, on value linfluence de trois paramtres sur la
trajectoire de la torpille:
la vitesse de route du sous-marin;
limmersion de tir;
la vitesse initiale djection de la torpille.
Pour faire cette analyse, on vrifie les conditions de sortie deau. On considre un succs
lorsqu la sortie deau on a:
le module de lassiette de la torpille infrieure 90;
la vitesse ascensionnelle de la torpille suprieure 5m/s.
Dans les figures suivantes, on fait une tude du domaine de tir. Pour chaque figure, on
utilise une assiette initiale diffrente et on analyse linfluence de limmersion de la torpille et de
la vitesse de route du sous-marin dans le succs de la mission. On utilise toujours une vitesse
djection de la torpille de 15,7N/Y (suffisamment petite pour viter la cavitation). La couleur
bleue reprsente les cas de succs et la couleur rouge les cas dchec; les autres couleurs nont
pas de signification physique. Les calculs utilisent aussi les paramtres indiqus dans le tableau
figurant lAnnexe 4.

Figure 25: Domaine de tir   

32

Figure 26: Domaine de tir    

Figure 27: Domaine de tir   

33

Figure 28: Domaine de tir   

Figure 29: Domaine de tir   

34

Figure 30: Domaine de tir   

Figure 31: Domaine de tir   

Des figures obtenues, on constate que pour les conditions initiales imposes on a chec
seulement lorsque lassiette de la torpille est positive. Dans ces cas, linertie de leau, les efforts
hydrodynamiques et hydrostatiques travaillent ensemble dans le sens de rduire lassiette au
dbut du mouvement de la torpille. Cet effet est plus important si la vitesse de route du sousmarin est plus grande et si lassiette initiale de la torpille est plus positive. a dtermine lchec.
On doit galement mentionner quon considre une trane faible pour ces cas (?  0,2), que
cest essentiel pour expliquer les cas de succs.
35

7.9. Dtermination de la trajectoire avec propulsion et pilotage


Afin damliorer la performance de la torpille et de matriser sa trajectoire, on ajoute la
torpille un systme de propulsion et un systme de pilotage.
Les efforts de propulsion ajouts prsentent les caractristiques suivantes:

<PQP  50 , constant;
Allumage au bout de 5m de parcours sous-marin (en vertical);
Point dapplication : au culot de la torpille;
Orientation: tuyre mobile braquage: 10 10.

Le pilotage est effectu par le braquage tuyre. Lalgorithme de pilotage dtermine le


braquage tuyre de manire :

Orienter la torpille vers une assiette Z=S ;


Annuler la vitesse angulaire :.

La loi du braquage est donn par:

Pour calculer la trajectoire de la torpille avec propulsion et pilotage, il faut ajouter aux
quations du mouvement les efforts de propulsion. Donc, on a:
N0O  1:  c -Xf  NV WXYZ L <o? L <PQP WXY

N1O L 0:  c -Xf  NV Y[\Z L <o^ L <PQP Y[\


K:O  )i c V -Xf sinZ L 'oy  )PQP <PQP Y[\

o )PQP est la distance entre le culot et le centre de gravit de la torpille.

Eq. 75
Eq. 76
Eq. 77

Afin de comparer les trajectoires sans et avec propulsion et pilotage, on montre ensuite 4
cas de trajectoires, en utilisant aussi les paramtres indiqus dans le tableau figurant lAnnexe
4. On utilise ces cas aussi pour comparer les effets dune trane plus grande et dune vitesse
dinjection plus grande sur la trajectoire de la torpille. Les 4 cas sont:
1. ?  0,2 ; ->  16N/Y; Z  90; -  0N/Y;  25N;
2. ?  1,2 ; ->  16N/Y; Z  90; -  0N/Y;  25N;
3. ?  0,2 ; ->  35N/Y; Z  90; -  0N/Y;  25N;

36

4. ?  1,2 ; ->  35N/Y; Z  90; -  0N/Y;  25N;

Figure 32: Cas 1 sans propulsion

Figure 33: Cas 2 sans propulsion

37

Figure 34: Cas 3 sans propulsion

Figure 35: Cas 4 sans propulsion

38

Figure 36: Cas 1 avec propulsion et pilotage

Figure 37: Cas 2 avec propulsion et pilotage

39

Figure 38: Cas 3 avec propulsion et pilotage

Figure 39: Cas 4 avec propulsion et pilotage

Il est vident que les systmes de propulsion et de pilotage augmentent les chances de
succs de la mission, ainsi qui amliorent le matrise de la trajectoire (contrle de lassiette
40

systme plus stable). lexclusion du troisime cas, la performance de la torpille avec les
systmes de propulsion et de pilotage a t beaucoup meilleure que dans cas sans ces systmes.
Dans le troisime cas, il y a des checs pour les deux configurations; lorsquil ny a pas des
systmes de propulsion et de pilotage, le culot de la torpille sort de leau en premier; dans le cas
avec propulsion, les vitesses leves de la torpille et la faible trane produisent une instabilit
dans la trajectoire de la torpille.
En utilisant ces figures, il est possible aussi vrifier linfluence de la trane et de la
vitesse djection sur la trajectoire de la torpille. Si on regarde la Figure 32 et la Figure 33, on
constate la dpendance entre la trane et la trajectoire de la torpille, de faon que dans le cas 2 la
torpille ne peut pas monter (grande trane). Si on regarde la Figure 32 et la Figure 34, cest
possible constater que dans le cas 3 une plus grande vitesse djection permet lmergence de la
torpille (mais les deux sont cas dchec).

8. Conclusions
Le travail ralis comprendre ltude Hydrodynamique et le calcul de la trajectoire
dune torpille par la mthode des singularits. La langue de programmation utilise a t le
Fortran. Le code cre a suivi tape par tape le processus de calcul : depuis la cration de la
gomtrie jusqu la visualisation de diffrentes trajectoires dune torpille.
La mthodologie du travail est proche de celle utilis par un ingnieur dans une entreprise
comme ASTRIUM. L'ingnieur doit comprendre la thorie et bien employer les ressources
informatiques disponibles. De plus, il doit enregistrer son travail sous la forme de rapport, dont
dautres personnes peuvent utiliser dans le futur.
En ce qui concerne ltude de la trajectoire de la torpille, dans ce bureau dtudes il a t
possible danalyser les diffrents paramtres qui influent sur la performance de la torpille, ainsi
que en ce qui concerne le succs ou lchec de la mission. Il a t galement montr limportance
des systmes de propulsion et de pilotage afin daccrotre les possibilits du domaine de tir et
damliorer la stabilit de la torpille durant sa trajectoire.
Il y a des possibilits de continuer le travail. Par exemple: utiliser le code pour tester
diffrentes gomtries (coiffe, corps de la torpille) et identifier entre elles qui sont les plus
adaptes pour une trajectoire souhaite, en respectant les conditions d'mergence de l'eau.

41

Annexe 1: Prsentation du site Astrium Space Transportation Les


Mureaux
Situ 40 km louest de Paris, au cur de ples de comptitivit (Astech et
Systm@tic), ce site hberge la plupart des services centraux de lactivit Space Transportation
dAstrium. La vue arienne est montre dans la Figure 40.

Figure 40: Vue arienne du site Astrium Space Transportation Les Mureaux

Il est spcialis dans la matrise duvre de grands programmes spatiaux et stratgiques


(ex. Ariane, M51). Les principales activits sur le site des Mureaux sont :
Ariane

Direction du programme
Intgration de lEtage principal cryognique (EPC) dAriane 5
Support aux campagnes dintgration lanceur Kourou
Etude et dveloppement des volutions Ariane 5 (ex. Ariane 5 ME)
Plate-forme de simulation et de validation

Dfense

Direction et matrise duvre des programmes


Plates-formes de simulation et de validation

ATV (Automated Transfer Vehicle)

Contribution la direction et matrise duvre du programme situe Brme


42

Contribution lingnierie systme et au support aux vols (quipe intgre entre Brme
et les Mureaux)
Production et maintenance du logiciel de vol, des procdures de vol, et des bases de
donnes associes
Plates-formes de simulation et de validation

Production dquipements et de systmes

Systmes pyrotechniques et fluidiques


Usinage grandes dimensions
Coiffes missiles
SYLDA (Systme de Lancement Double Ariane) pour lemport dun deuxime satellite
lintrieur de la coiffe
Tube central de satellites
Rflecteurs satellites

Plates-formes de simulation et de validation


Les plates-formes des Mureaux, proches des bureaux dtudes sont une tape
indispensable avant lintgration finale pour la validation des quipements, des systmes
lectriques et des actionneurs, des programmes de vol ou la mise au point des moyens sols. Elles
sont utilises pendant tout le cycle de vie des produits pour la validation des volutions ou
lanalyse et expertise des vols.

43

Annexe 2: Fortran
program tt
!********************************************************************
!*
*
!*
Commentaires:
*
!*
Ce programme calcule:
*
!*
-le maillage,
*
!*
-la vitesse du fluide autour de la torpille,
*
!*
-les coefficients de pression,
*
!*
-cavitation,
*
!*
-coefficients hydrodynamiques,
*
!*
-la trajectoire,
*
!*
-domaine de tir,
*
!*
-la trajectoire avec pilotage par propulsion
*
!*
*
!********************************************************************

implicit none
!dimension tableaux
!-----------------integer*4, parameter::ndo=3000

!nombre maxi de donnes

!----------------------------------notations--------------------------------!p: point
!p1: autre point
!aux: vecteur auxiliaire
!triangle: liste de triangles. Chaque triangle est compos de trois points
!(X1,Y1,Z1),(X2,Y2,Z2),(X3,Y3,Z3)
!centre: liste des centres des triangles
!norm: liste des vecteurs normaux chaque triangle
!ma,mb,matab: matrice A, B et la matrice A sous formes de table (colonne)
!ncas: numro de cas tudi
!G: centre de gravite
!sigma: list de sigmas solutions pour les 3 problmes fondamentales
!vf: vitesse du fluide
!vfcas: vitesse du fluide pour le cas=1,2,3 (problmes fondamentales u', v' et r')
!sigmamoy: combinaison linaire des sigmas solutions pour un problme gnral
!n: nombre de divisions longitudinales de la maillage la coiffe
!nc: nombre de divisions longitudinales en corps
!nl: nombre de divisions circulaires de la torpille
!nca: nombre de divisions longitudinales du corps plus l'ajout
!nlignes: nombre de lignes
!nacces: numro tre accd
!ncontr: nombre de contrle
!jrep: j de replace
!rayontorp: rayon de la torpille
!l: longueur de la torpille
!rayon: distance entre le point considr et l'axe de symtrie
!theta: angle de rotation autour l'axe x
!typemaillage: type de maillage (1,2,3) est vite, intermdiaire, lourde.
!cnuvtriangle: cnuv calcule pour un triangle
!dcnuv: cnuv calcule pour une tranche longitudinale
!y: (u,v,r,x,y,theta) o
!u,v,r: sont vitesses suivant le rapport mobile
!x,y,theta: sont paramtres de position et d'angle suivant le rapport fix
!dydt: (dudt,dvdt,drdt,dxdt,dydt,dthetadt)
!ugrand et vgrand: sont vitesses suivant le rapport fix
!xx,yy: position suivant les axes x et y
!xg,yg: position du centre de gravit suivant les axes x et y
!rho: masse volumique
!masse: masse du missile ou torpille
!vol: volume
!iz: inetie suivant l'axe z
!vej: vitesse d'jection
!vr: vitesse de route, cest--dire, vitesse horizontal du sous-marin
!y0,yin,yout,dt: paramtres de la subroutine rk4
!xc: centre de carne
!tabley: table des valeurs de y(6)=(u,v,r,x,y,theta)

44

!imax: numro ditration maximale de i


!jmax: numro ditration maximale de j
!isortieeau: numro ditration jusqu'au le missile ou la torpille sorte de l'eau
!castest: cas de teste missile ou torpille
!reponse: rponse d'utilisateur
!immersiondetir: immersion de tir H
!theta0: angle de rotation autour l'axe x initial
!table_vr_h: table des valeurs (vr,h) vitesse de route et immersion de tir
!tablecritere: table avec les critres dmergence. Il est conforme ou non
!allumage: 0 est sans l'allumage de la propulsion et 1 est avec l'allumage
!fpropu: force de la propulsion, c'est--dire, pousse
!xyallumage: position (vr,h) de la torpille o il y a l'allumage
!caspropulsion: 0 est sans propulsion et 1 est avec propulsion
!animation: 0 est sans animation pour tecplot et 1 est avec animation
!nzone: numro de zones pour tecplot
!nzonemax: numro de la zone maximale pour tecplot
!--------------------------------dclarations-------------------------------real::p(ndo,3),aux(4),p1(ndo,3),triangle(ndo,9),centre(ndo,3),norm(ndo,3),a(3),b(3),c(3)
real::ma(ndo,ndo),mb(ndo),matab(ndo*ndo),vitesse(3),normale(3)
integer::ncas
real::M1(3),M2(3),M3(3),M(3),VST,G(3)=(/4.,0.,0./),sigma(ndo,3),vf(ndo,3),vfcas(ndo,3,3),sigmamoy
integer:: n,nc,nl,nca,nlignes,i,j,nacces,ncontr,k,jrep
real::rayontorp,l,puu(ndo),pvv(ndo),puv(ndo),pur(ndo),rayon,theta,pi=3.14159
integer::typemaillage
real::cpmin,pa=101325,grav=9.8,h=0,rhoeau=1000,ucrit,sfacette,nxligne,nyligne
real::deltax
real::sref,dref,cxup,cxuu,cnvp,cnrp,cnuv,cnur,cmvp,cmrp,cmuv,cmur
real::dcxup(ndo),dcxuu(ndo),dcnvp(ndo),dcrp(ndo),dcnuv(ndo),dcnur(ndo),dcmvp(ndo),dcmrp(ndo),&
&dcmuv(ndo),dcmur(ndo),centretranche(ndo)
real::cxuptriangle(ndo),cxuutriangle(ndo),cnvptriangle(ndo),crptriangle(ndo),&
&cnuvtriangle(ndo),cnurtriangle(ndo)
real::cmvptriangle(ndo),cmrptriangle(ndo),cmuvtriangle(ndo),cmurtriangle(ndo)
real::xx,yy,xg,yg
real::rho,masse,vol,iz
real::vej,vr,y0(6),yin(6),yout(6),dt,xc
real ::tabley(100000,6)
integer::imax=0,isortieeau=0
character casteste*10, reponse*10
real::immersiondetir,theta0
real::table_vr_h(100,100,2),tablecritere(100,100)
integer::jmax=0
real::allumage=0,h0,fpropu=0.0,xyallumage(2)
integer::caspropulsion=0,animation=0,nzone,nzonemax
common/geom_constantes/rho,sref,masse,grav,vol,iz,rayontorp,xc
common/coef_hydro/cxup,cxuu,cnvp,cnrp,cnuv,cnur,cmvp,cmrp,cmuv,cmur
common/pilotage/allumage,h0,fpropu,xyallumage,caspropulsion
casteste='torpille'
print*,casteste
!dimensions de la torpille et du maillage
!-----------------------------------------typemaillage=2
rayontorp=0.25
l=6
if (typemaillage==1) then
n=3
nc=9
nl=6
elseif (typemaillage==2) then
n=10
nc=20
nl=16
elseif (typemaillage==3) then
n=20
nc=40
nl=16
elseif (typemaillage==4) then
rayontorp=0.15
l=1.6
n=20
nc=20

45

nl=16
elseif (typemaillage==5) then
n=10
nc=10
nl=10
end if
!cas teste: torpille
!------------------if (casteste=='torpille') then
rayontorp=0.25
masse=1500
vol=1.211
iz=4900
xc=0.750
cxuu=1.2!il peut tre chang pour faire une analyse
cxup=0.448
cnuv=1.958
cnvp=23.96
cnur=7.82
cnrp=-35.91
cmuv=14.47
cmrp=-341.96
cmur=-75.43
cmvp=36.83
rho=1026
grav=9.81
end if
!calcul des paramtres gomtriques, physiques
!-------------------------------------------sref=pi*rayontorp**2
dref=2*rayontorp

print*,'Voulez-vous calculer tous les suivants? (y/n):'


print*,'-la maillage,'
print*,'-la vitesse du fluide autour de la torpille,'
print*,'-les coefficients de pression,'
print*,'-cavitation,'
print*,'-coefficients hydrodynamiques'
read*,reponse
if (reponse=='y') then
!*************************************
!*
*
!*
maillage de la torpille
*
!*
*
!*************************************
print*,'calcul: maillage de la torpille'
call maillage(rayontorp,l,n,nc,nl)
open(1,file='maillage.d',status='old')
!lire les points du maillage.d
!----------------------------read(1,*) (aux(i), i=1,4)
n=aux(2)
nca=aux(3)
nc=aux(4)
nl=aux(1)-1
nlignes=1+(nl+1)*(n+nca)
do j=1,nlignes-1
read(1,*) (aux(i), i=1,3)
p(j,:)=aux(1:3)
end do
close(1)
!mettre les points en ordre circulaire avec rptition
!----------------------------------------------------do j=1,nl+1
do i=1,n+nca
nacces=(n+nca)*(j-1)+i

46

p1(j+(i-1)*(nl+1),:)=p(nacces,:)
end do
end do
!crer les triangles de la maillage
!---------------------------------ncontr=1
!premier partie: triangles de la coiffe
!-------------------------------------do i=1,nl
triangle(ncontr,1:3)=p1(ncontr,:)
triangle(ncontr,4:6)=p1(ncontr+nl+1,:)
triangle(ncontr,7:9)=p1(ncontr+nl+2,:)
ncontr=ncontr+1
end do
!deuxime partie: diviser les quadrilatres de la coiffe et du cylindre
!en deux triangles pour chacun
!-----------------------------------------------------------------------do j=2,n+nca-1
do i=1,nl
triangle(ncontr,1:3)=p1(i+(j-1)*(nl+1),:)
triangle(ncontr,4:6)=p1(i+(j-1+1)*(nl+1),:)
triangle(ncontr,7:9)=p1(i+1+(j-1+1)*(nl+1),:)
ncontr=ncontr+1
triangle(ncontr,1:3)=p1(i+(j-1)*(nl+1),:)
triangle(ncontr,4:6)=p1(i+1+(j-1+1)*(nl+1),:)
triangle(ncontr,7:9)=p1(i+1+(j-1)*(nl+1),:)
ncontr=ncontr+1
end do
end do
ncontr=ncontr-1
!calculer les centres et les normales de chaque triangle
!------------------------------------------------------do j=1,ncontr
centre(j,:)=(triangle(j,1:3)+triangle(j,4:6)+triangle(j,7:9))/3
a=-triangle(j,1:3)+triangle(j,4:6)
b=-triangle(j,1:3)+triangle(j,7:9)
c=cross(a,b)
norm(j,:)=-c/norm2(c)
end do
!exporter les centres et normales en format lisible par tecplot
!-------------------------------------------------------------open(1,file='torpille_centres_et_normales.dat',status='unknown')
write(1,*)'title="torpille centres et normales"'
write(1,*)'variables="Xc","Yc","Zc","nXc","nYc","nZc"'
do j=1,ncontr
write(1,*) centre(j,:),norm(j,:)
end do
close(1)
!exporter les triangles de la maillage en format lisible par tecplot
!------------------------------------------------------------------open(1,file='torpille_triangles.dat',status='unknown')
write(1,*)'title="torpille triangles"'
write(1,*)'variables="X1","Y1","Z1"'
write(1,*)'ZONE T="Zone Missile", I=3 , J=',ncontr, ' F=POINT'
do j=1,ncontr
write(1,*) triangle(j,1:3)
write(1,*) triangle(j,4:6)
write(1,*) triangle(j,7:9)
end do
close(1)
!*************************************
!*
*
!*
vitesse du fluide
*
!*
*
!*************************************
print*,'calcul: vitesse du fluide'

47

!application de la condition de glissement


!----------------------------------------do ncas=1,3
do j=1,ncontr
normale=norm(j,:)
M=centre(j,:)
do i=1,ncontr
M1=triangle(i,1:3)
M2=triangle(i,4:6)
M3=triangle(i,7:9)
do k=1,3
vitesse(k)=VST(M1,M3,M2,M,k)
end do
ma(j,i)=dot_product(vitesse,normale)
end do
if (ncas==1) then
vitesse=(/1.,0.,0./)
else if (ncas==2) then
vitesse=(/0.,1.,0./)
else if (ncas==3) then
vitesse=cross((/0.,0.,1./),M-G) !V=omega^GM
end if
mb(j)=dot_product(vitesse,normale)
end do
do j=1,ncontr
do i=1,ncontr
matab(i+ncontr*(j-1))=ma(i,j)
end do
end do
!resolution du systeme
call ressys(matab,mb,ncontr)
sigma(:,ncas)=mb
end do
ncas=4
!calcul de la vitesse du fluide vf sur une maillage triangulaire en tour de la torpille
!-------------------------------------------------------------------------do ncas=1,3
do j=1,ncontr
M=centre(j,:)
vitesse=(/0.,0.,0./)
do i=1,ncontr
M1=triangle(i,1:3)
M2=triangle(i,4:6)
M3=triangle(i,7:9)
do k=1,3
sigmamoy=1*sigma(i,1)+1*sigma(i,2)+1*sigma(i,3) !pondration ex:
!1*sigma(i,1)+1*sigma(i,2)+1*sigma(i,3)
vitesse(k)=vitesse(k)+sigmamoy*VST(M1,M3,M2,M,k)
end do
end do
vf(j,:)=vitesse
end do
vfcas(:,:,ncas)=vf
end do
!exporter la vitesse du fluide en format lisible par tecplot
!----------------------------------------------------------open(1,file='vitesse_du_fluide.dat',status='unknown')
write(1,*)'title="vitesse du fluide sur le centres des triangles du torpille"'
write(1,*)'variables="Xf","Yf","Zf","nXf","nYf","nZf"'
do j=1,ncontr
write(1,*) centre(j,:),vf(j,:)
end do
close(1)
!*************************************
!*
*
!*
coefficients de pression
*
!*
*
!*************************************

48

print*,'calcul: coefficients de pression'


!calcul de puu,pvv,puv,pur
!------------------------do j=1,ncontr
puu(j)=2*vfcas(j,1,1)-(vfcas(j,1,1)**2+vfcas(j,2,1)**2+vfcas(j,3,1)**2)
pvv(j)=2*vfcas(j,2,2)-(vfcas(j,1,2)**2+vfcas(j,2,2)**2+vfcas(j,3,2)**2)
puv(j)=2*vfcas(j,1,2)+2*vfcas(j,2,1)
puv(j)=puv(j)2*(vfcas(j,1,1)*vfcas(j,1,2)+vfcas(j,2,1)*vfcas(j,2,2)+vfcas(j,3,1)*vfcas(j,3,2))
xx=centre(j,1)
yy=centre(j,2)
xg=G(1)
yg=G(2)
pur(j)=2*(vfcas(j,1,3)-(yy-yg)*vfcas(j,1,1)+(xx-xg)*vfcas(j,2,1))&
& -2*(vfcas(j,1,1)*vfcas(j,1,3)+vfcas(j,2,1)*vfcas(j,2,3)+vfcas(j,3,1)*vfcas(j,3,3))
end do
!exporter le puu versus x en format lisible par tecplot
!-----------------------------------------------------open(1,file='puu_versus_x.dat',status='unknown')
write(1,*)'title="puu versus x"'
write(1,*)'variables="X","puu"'
do j=1,ncontr
if (j==1 .or. (centre(j,1)>centre(j-1,1) .and. j>jrep+1)) then
jrep=j
write(1,*) centre(j,1),puu(j)
end if
end do
close(1)
!exporter le puu pour chaque triangle de la surface en format lisible par tecplot
!-------------------------------------------------------------------------open(1,file='puu_surface.dat',status='unknown')
write(1,*)'title="puu pour chaque triangle de la surface"'
write(1,*)'variables="X1","Y1","Z1","puu"'
write(1,*)'ZONE T="Zone Missile", I=3 , J=',ncontr, ' F=POINT'
do j=1,ncontr
write(1,*) triangle(j,1:3),puu(j)
write(1,*) triangle(j,7:9),puu(j)
write(1,*) triangle(j,4:6),puu(j)
end do
close(1)
!exporter le pvv versus theta milleu de la torpille en format lisible par tecplot
!-------------------------------------------------------------------------open(1,file='pvv_versus_theta.dat',status='unknown')
write(1,*)'title="pvv versus theta"'
write(1,*)'variables="theta","pvv"'
do j=nl+1+2*nl*floor(nc/1.5),nl+1+2*nl*floor(nc/1.5)+2*nl-1 !1,ncontr!
rayon=norm2((/centre(j,2),centre(j,3),0./))
theta=acos(centre(j,2)/rayon)
if (asin(centre(j,3)/rayon)<0) then
theta=2*pi-theta
end if
write(1,*) theta,pvv(j)
end do
close(1)
open(1,file='pvv_versus_theta_sinus.dat',status='unknown')
write(1,*)'title="pvv versus theta_sinus"'
write(1,*)'variables="theta","y"'
do j=nl+1+2*nl*floor(nc/1.5),nl+1+2*nl*floor(nc/1.5)+2*nl-1 !1,ncontr!
rayon=norm2((/centre(j,2),centre(j,3),0./))
theta=acos(centre(j,2)/rayon)
if (asin(centre(j,3)/rayon)<0) then
theta=2*pi-theta
end if
write(1,*) theta,1-4*sin(theta)**2
end do
close(1)
!exporter le pvv pour chaque triangle de la surface en format lisible par tecplot
!--------------------------------------------------------------------------

49

open(1,file='pvv_surface.dat',status='unknown')
write(1,*)'title="pvv pour chaque triangle de la surface"'
!write(1,*)'variables="X1","Y1","Z1","X2","Y2","Z2","X3","Y3","Z3"'
write(1,*)'variables="X1","Y1","Z1","pvv"'
write(1,*)'ZONE T="Zone Missile", I=3 , J=',ncontr, ' F=POINT'
do j=1,ncontr
write(1,*) triangle(j,1:3),pvv(j)
write(1,*) triangle(j,7:9),pvv(j)
write(1,*) triangle(j,4:6),pvv(j)
end do
close(1)
!*************************************
!*
*
!*
cavitation
*
!*
*
!*************************************
print*,'calcul: cavitation'
!calcul de puu minimale: cpmin
!----------------------------cpmin=puu(1)
do i=1,ncontr
cpmin=min(puu(i),cpmin)
end do
print*, 'cpmin=',cpmin
!calcul de la vitesse de cavitation ucrit
!--------------------------------------ucrit=((2000-pa-rhoeau*grav*h)/(cpmin*rhoeau/2))**0.5!
print*, 'ucrit=',ucrit
!*************************************
!*
*
!*
coefficients hydrodynamiques
*
!*
*
!*************************************
print*,'calcul: coefficients hydrodynamiques'
!calcul de cxuu, cnuv, cnur de la torpille
!---------------------------------------do i=1,ncontr
a=-triangle(i,1:3)+triangle(i,4:6)
b=-triangle(i,1:3)+triangle(i,7:9)
c=cross(a,b)
sfacette=norm2(c)/2
nxligne=norm(i,1)
nyligne=norm(i,2)
cxuutriangle(i)=-1.0/sref*puu(i)*sfacette*nxligne
cnuvtriangle(i)=-1.0/sref*puv(i)*sfacette*nyligne
cnurtriangle(i)=-1.0/sref/dref*pur(i)*sfacette*nyligne
end do
!calcul de dcnuv de la torpille: c'est calcul jusqu' la partie finale
!du corps rel de la torpille
!-------------------------------------------------------------------------deltax=p(2,1)-p(1,1)
dcnuv(1)=sum(cnuvtriangle(1:nl))/deltax
dcxuu(1)=sum(cxuutriangle(1:nl))/deltax
centretranche(1)=centre(1,1)
do j=2,n+nc-1
deltax=p(j+1,1)-p(j,1)
dcxuu(j)=sum(cxuutriangle(nl+1+(j-2)*2*nl:3*nl+(j-2)*2*nl))/deltax
dcnuv(j)=sum(cnuvtriangle(nl+1+(j-2)*2*nl:3*nl+(j-2)*2*nl))/deltax
dcnur(j)=sum(cnurtriangle(nl+1+(j-2)*2*nl:3*nl+(j-2)*2*nl))/deltax
centretranche(j)=sum(centre(nl+1+(j-2)*2*nl:nl+2+(j-2)*2*nl,1))/2
end do
cnuv=sum(cnuvtriangle(1:nl+2*nl*(n+nc-1)))
cxuu=sum(cxuutriangle(1:nl+2*nl*(n+nc-1)))
cnur=sum(cnurtriangle(1:nl+2*nl*(n+nc-1)))
print*, 'cnuv=',cnuv,' cxuu=',cxuu, 'cnur=',cnur

50

!exporter le dcxuu versus x en format lisible par tecplot


!-------------------------------------------------------open(1,file='dcxuu_versus_x.dat',status='unknown')
write(1,*)'title="dcxuu versus x"'
write(1,*)'variables="X","dCxuu"'
do j=1,n+nc-1
write(1,*) centretranche(j),dcxuu(j)
end do
close(1)
!exporter le dcnuv versus x en format lisible par tecplot
!-------------------------------------------------------open(1,file='dcnuv_versus_x.dat',status='unknown')
write(1,*)'title="dcnuv versus x"'
write(1,*)'variables="X","dCnuv"'
do j=1,n+nc-1
write(1,*) centretranche(j),dcnuv(j)
end do
close(1)
!exporter le dcnur versus x en format lisible par tecplot
!-------------------------------------------------------open(1,file='dcnur_versus_x.dat',status='unknown')
write(1,*)'title="dcnur versus x"'
write(1,*)'variables="X","dCnur"'
do j=1,n+nc-1
write(1,*) centretranche(j),dcnur(j)
end do
close(1)
!exporter le r versus x en format lisible par tecplot
!---------------------------------------------------open(1,file='r_versus_x.dat',status='unknown')
write(1,*)'title="r versus x"'
write(1,*)'variables="x","r"'
do j=1,n+nc-1
write(1,*) p(j,1),p(j,2)
end do
close(1)
end if
print*,'Voulez-vous calculer le suivant? (y/n):'
print*,'-trajectoire'
read*,reponse
if(reponse=='y') then
!*************************************
!*
*
!*
calcul de la trajectoire
*
!*
*
!*************************************
print*,'calcul: la trajectoire'
!mthode de Runge-Kutta ordre 4: RK4
!y: (u,v,r,xgrand,ygrand,theta) o
!u,v,r: sont vitesses suivant le rapport mobile
!xgrand,ygrand,theta: sont paramtres de position et d'angle suivant le rapport fix
!cas torpille
!-----------if (casteste=='torpille') then
caspropulsion=1
cxuu=0.2;vej=16.;theta0=90.0/180.0*pi;vr=0.;immersiondetir=-25.0;
!cxuu=1.2;vej=16.;theta0=90.0/180.0*pi;vr=0.;immersiondetir=-25.0;
!cxuu=0.2;vej=35.;theta0=90.0/180.0*pi;vr=0.;immersiondetir=-25.0;
!cxuu=1.2;vej=35.;theta0=90.0/180.0*pi;vr=0.;immersiondetir=-25.0;
h0=immersiondetir
y0=(/vej,vr,0.,immersiondetir,0.,theta0/)
dt=0.0003 !attention 3*10**(-4) ne marche pas
!ici xc=0.75
end if

51

tabley(1,:)=y0
do i=1,26001
yin=tabley(i,:)
call rk4(yin,dt,yout)
tabley(i+1,:)=yout
if (yout(4)>0 .and. isortieeau==0) then
isortieeau=i+1
exit
end if
imax=i
end do
print*,'dt=',dt
!do i=1,imax,1000
! print*, 'tabley(',i,',6)=',tabley(i,1:6),'T=',dt*(i-1),'theta()=',tabley(i,6)/pi*180
!end do
i=isortieeau
print*,'sortie de l''eau ','tabley(',i,',6)=',tabley(i,1:6),'T=',dt*(i1),'theta()=',tabley(i,6)/pi*180.0
!exporter la trajectoire X versus Y en format lisible par tecplot
!---------------------------------------------------------------open(1,file='trajectoireX_versus_Y.dat',status='unknown')
write(1,*)'title="trajectoire:X_versus_Y"'
write(1,*)'variables="Y","X"'
do i=1,imax
write(1,*) tabley(i,5),tabley(i,4)
end do
close(1)
!exporter la trajectoire X versus t en format lisible par tecplot
!---------------------------------------------------------------open(1,file='trajectoireX_versus_t.dat',status='unknown')
write(1,*)'title="trajectoire:X_versus_t"'
write(1,*)'variables="t","X"'
do i=1,imax
write(1,*) dt*(i-1),tabley(i,4)
end do
close(1)
!exporter la trajectoire Theta versus t en format lisible par tecplot
!-------------------------------------------------------------------open(1,file='trajectoireTheta_versus_t.dat',status='unknown')
write(1,*)'title="trajectoire:Theta()_versus_t"'
write(1,*)'variables="t","Theta"'
do i=1,imax
write(1,*) dt*(i-1),tabley(i,6)/pi*180.0
end do
close(1)
animation=0
nzonemax=10
!exporter la trajectoire X versus Y avec dessin de la torpille en format lisible par tecplot
!-----------------------------------------------------------------------if (animation==1) then
open(1,file='animationX_versus_Y.dat',status='unknown')
write(1,*)'variables="Y","X"'
do nzone=1,nzonemax
!write(1,*)'title="animation:X_versus_Y"'
write(1,*) 'ZONE T="',nzone,'",I=',imax*nzone/nzonemax+5,'J=1 F=POINT'
do i=1,imax*nzone/nzonemax
write(1,*) tabley(i,5),tabley(i,4)
end do
i=imax*nzone/nzonemax
i=desstorp((/tabley(i,5),tabley(i,4)/),tabley(i,6))
end do
close(1)
end if
nzonemax=5
!exporter la trajectoire X versus Y avec dessins superposs de la torpille en format lisible
!par tecplot
!-------------------------------------------------------------------------

52

if (animation==0) then
open(1,file='animationX_versus_Y.dat',status='unknown')
write(1,*)'variables="Y","X"'
do nzone=1,nzonemax
do i=imax*(nzone-1)/nzonemax,imax*nzone/nzonemax
write(1,*) tabley(i,5),tabley(i,4)
end do
i=imax*nzone/nzonemax
i=desstorp((/tabley(i,5),tabley(i,4)/),tabley(i,6))
end do
close(1)
end if
end if

print*,'Voulez-vous calculer le suivant? (y/n):'


print*,'-domaine de tir'
read*,reponse
if (reponse=='y') then
!************************************
!*
*
!*
calcul du domaine de tir
*
!*
*
!************************************
print*,'calcul: domaine de tir'
!calcul pour chaque point (vr,H) si les conditions sont respectes ou non
!cas torpille
!-----------vej=15.7
theta0=-10.0/180.0*pi
dt=0.0003 !attention 3*10**(-4) ne marche pas
!j'ai fait ici xc=0.75
imax=11
jmax=11
do i=1,imax
vr=1.0*(i-1)/(imax-1)
do j=1,jmax
immersiondetir=10.0*(j-1)/(jmax-1)-30.0
y0=(/vej,vr,0.,immersiondetir,0.,theta0/)
tabley(1,:)=y0
isortieeau=0
do k=1,60001
yin=tabley(k,:)
call rk4(yin,dt,yout)
tabley(k+1,:)=yout
if (yout(4)>0 .and. isortieeau==0) then
isortieeau=k+1
exit
end if
end do
table_vr_h(i,j,:)=(/vr,immersiondetir/)
!savoir si les conditions de sortie sont respectes ou non
if (isortieeau>0) then
if (abs(tabley(isortieeau,6))>pi/2 .or. norm2(tabley(isortieeau,1:2))<5) then
if (norm2(tabley(isortieeau,1:2))<5) then
tablecritere(i,j)=0 !vitesse U non-conforme
elseif (abs(tabley(isortieeau,6))>pi/2) then
tablecritere(i,j)=0 !theta non-conforme
end if
else
tablecritere(i,j)=1 !emergence conforme
end if
else
tablecritere(i,j)=-1 !numro maximale de iterations a et ultrapass

53

end if
print*, 'isortieeau,abstheta(),U',isortieeau,&
&tabley(isortieeau,6)/pi*180.,norm2(tabley(isortieeau,1:2))
print*, 'i,j,vr,H=,crit=',i,j,table_vr_h(i,j,:),tablecritere(i,j)
end do
end do
!exporter le domaine de tir H versus vr en format lisible par tecplot
!-------------------------------------------------------------------open(1,file='domaine de tir H_versus_vr.dat',status='unknown')
write(1,*)'title="domaine de tir H_versus_vr"'
write(1,*)'variables="vr","H","critere"'
write(1,*)'ZONE T="Zone Missile", I=',imax,'J=',jmax,'F=POINT'
do i=1,imax
do j=1,jmax
write(1,*) table_vr_h(i,j,1),table_vr_h(i,j,2),tablecritere(i,j)
end do
end do
close(1)
end if
stop
contains
!****************************************************
!*
*
!*
fonctions et sous-routines auxiliaires
*
!*
*
!****************************************************
!fonction produit vectorielle: cross
!---------------------------------function cross(a,b) result(d)
implicit none
real, intent(in)::a(3),b(3)
real:: c(3),d(3)
c(1)=a(2)*b(3)-a(3)*b(2)
c(2)=a(3)*b(1)-a(1)*b(3)
c(3)=a(1)*b(2)-a(2)*b(1)
d=c
return
end function cross
!fonction norme d'un vecteur: norm2
!---------------------------------function norm2(a) result(r)
implicit none
real, intent(in)::a(3)
real:: s,r
integer::i
s=0
do i=1,3
s=s+a(i)**2
end do
r=s**0.5
return
end function norm2
!fonction dessiner la torpille: desstorp
!--------------------------------------function desstorp(G,theta) result(res)
implicit none
real, intent(in)::G(2),theta
real:: r(3,100),rr(3,100),rho,sref,masse,grav,vol,iz,rayontorp,xc
integer::i,imax=1,res
real::d,d1,d2,e1(3),e2(3)
common/geom_constantes/rho,sref,masse,grav,vol,iz,rayontorp,xc
!rectangle avec son origine au centre de gravit donn
r(:,1)=(/-rayontorp,-2.,0./)
r(:,2)=(/rayontorp,-2.,0./)
r(:,3)=(/rayontorp,4.,0./)

54

r(:,4)=(/-rayontorp,4.,0./)
r(:,5)=(/-rayontorp,-2.,0./)
imax=5
!rotation autour du centre de gravit avec un angle theta
do i=1,imax
if (norm2(r(:,i))>0.) then
d=2*norm2(r(:,i))*sin(theta/2)
d2=d*sin(theta/2)
d1=d*cos(theta/2)
e2=cross(r(:,i),(/0.,0.,1./))/norm2(cross(r(:,i),(/0.,0.,1./)))
e1=r(:,i)/norm2(r(:,i))
rr(:,i)=r(:,i)-d2*e1+d1*e2
else
rr(:,i)=r(:,i)
end if
end do
!points du dessin
do i=1,imax
write(1,*) rr(1,i)+G(1),rr(2,i)+G(2)
end do
res=imax
return
end function desstorp
!subroutine Runge-Kutta RK4: rk4
!------------------------------subroutine rk4(yin,dt,yout)
real:: yin(6),dt,yout(6)
real:: ya(6),yb(6),yc(6),dydta(6),dydtb(6),dydtc(6),dydt(6)
call derivs(yin,dydt)
ya=yin+dydt*dt/2.
call derivs(ya,dydta)
yb=yin+dydta*dt/2.
call derivs(yb,dydtb)
yc=yin+dydtb*dt
call derivs(yc,dydtc)
yout=yin+(dydt+dydta*2.+dydtb*2.+dydtc)*dt/6.
return
end subroutine rk4
!subroutine derivative dydt en fonction de y dydt=f(y): derivs
!avec pilotage
!------------------------------------------------------------subroutine derivs(y,dydt)
implicit none
real:: y(6),dydt(6),u,v,r,theta,xgrand,ygrand,dudt,dvdt,drdt,ugrand,vgrand,den,num1,num2
real:: rho,s,m,grav,vol,iz,sref,masse,d,xc,rayontorp
real:: cxup,cxuu,cnvp,cnrp,cnuv,cnur,cmvp,cmrp,cmuv,cmur
real:: a5,b5,c5,a4,b4,c4,fpropu,beta,btheta,deltatheta,br,xl
real:: allumage,h0,xyallumage(2)
integer:: caspropulsion
common/geom_constantes/rho,sref,masse,grav,vol,iz,rayontorp,xc
common/coef_hydro/cxup,cxuu,cnvp,cnrp,cnuv,cnur,cmvp,cmrp,cmuv,cmur
common/pilotage/allumage,h0,fpropu,xyallumage,caspropulsion
m=masse
s=sref
d=2*rayontorp
!y: (u,v,r,xgrand,ygrend,theta) o
!u,v,r: sont vitesses suivant le rapport mobile
!xgrand,ygrand,theta: sont paramtres de position et d'angle suivant le rapport fix
!dydt: (dudt,dvdt,drdt,dxdt,dydt,dthetadt)
!ugrand et vgrand: sont vitesses suivant le rapport fix
!NB: rgrande=r
u=y(1)
v=y(2)
r=y(3)
xgrand=y(4)
ygrand=y(5)
theta=y(6)
if (xgrand>0) then
rho=1.2

55

else
rho=1026
end if
xl=2.0
a5=(2*m+rho*s*d*cxup)
c5=4*m*iz-2*m*rho*s*d**3*cmrp+2*rho*s*cnvp*d*iz-rho**2*s**2*cnvp*d**4*cmrp+rho**2*s**2*cnrp&
&*d**4*cmvp
b5=c5/rho
a4=2.0
b4=-2*s*cnvp*d*xl-2*s*d**2*cmvp-4*m*xl/rho
c4=-2*rho*s*d**3*cmrp+4*iz-2*rho*s*d**2*xl*cnrp
!critre de l'allumage
if (allumage==0 .and. caspropulsion==1) then
if (xgrand>=h0+5.0 .or. abs(theta)<=30.0*pi/180.0) then
fpropu=50000.0
xyallumage=(/xgrand,ygrand/)
allumage=1 !il faut mettre la valeur 0 initial pour chaque trajectoire avant les calculs
end if
end if
btheta=1.2
deltatheta=theta-0.0
br=1.45
!deltatheta maximale
deltatheta=min(deltatheta,20.0*pi/180.0)
deltatheta=max(deltatheta,-20.0*pi/180.0)
beta=btheta*deltatheta+br*r
!braquage tuyre maximale
beta=min(beta,10.0*pi/180.0)
beta=max(beta,-10.0*pi/180.0)
!calcul de dudt
num1=-rho*s*cxuu*u**2+2*m*v*r+2*cos(theta)*rho*grav*vol-2*cos(theta)*m*grav
dudt=(num1+a4*fpropu*cos(beta))/a5
!calcul de drdt
num1=-4*m*grav*vol*xc*sin(theta)-2*m*s*d*cmuv*u*v+2*m*s*d**2*cmur*u*r+&
&rho*s**2*cnuv*u*v*d**2*cmvp+2*m*u*r*s*d**2*cmvp+2*sin(theta)*rho*grav*vol*s*d**2*cmvp
num2=-2*sin(theta)*m*grav*s*d**2*cmvp-rho*s**2*cnur*d**3*u*r*cmvp-2*rho*s*cnvp*d*grav*vol*xc*&
&sin(theta)-rho*s**2*cnvp*d**2*cmuv*u*v+rho*s**2*cnvp*d**3*cmur*u*r
drdt=(num1+num2+b4*fpropu*sin(beta))/b5
!calcul de dvdt
num1=rho**2*s**2*d**3*cmrp*cnuv*u*v+2*rho*s*d**3*cmrp*m*u*r+2*rho**2*s*d**3*cmrp*&
&sin(theta)*grav*vol-2*rho*s*d**3*cmrp*sin(theta)*m*grav-&
&rho**2*s**2*d**4*cmrp*cnur*u*r-2*iz*rho*s*cnuv*u*v
num2=-4*iz*m*u*r-4*iz*sin(theta)*rho*grav*vol+4*iz*sin(theta)*m*grav&
&+2*iz*rho*s*cnur*d*u*r-2*grav*vol*xc*sin(theta)*rho**2*s*cnrp*d**2-s**2*d**3*cmuv*u*v*rho**&
&2*cnrp+s**2*d**4*cmur*u*r*rho**2*cnrp
dvdt=(num1+num2+c4*fpropu*sin(beta))/c5
ugrand=u*cos(theta)-v*sin(theta)
vgrand=v*cos(theta)+u*sin(theta)
dydt(1)=dudt
dydt(2)=dvdt
dydt(3)=drdt
dydt(4)=ugrand
dydt(5)=vgrand
dydt(6)=r
return
end subroutine derivs
end program tt

56

Annexe 3: Organigrammes (mthode, fortran)


Mthode de calcul gnrale
Maillage:
gomtrie,
numro de
divisions

Vitesse du fluide

Coefficients de
pression

Cavitation

Coefficients
hydrodynamiques

Trajectoire:
quations
hydrodynamiques

Domaine de tir:
critre de
l'mergence

Sans propulsion

Avec pilotage et
propulsion

57

Mthode de calcul detaille

maillage de la torpille

vitesse du fluide

dimensions de la torpille e de la maillage


calcul des paramtres gomtriques, physiques
mettre les points en ordre circulaire
crer les triangles de la maillage
calculer les centres et les normales de chaque
triangle

application de la condition de glissement


calcul de la vitesse du fluide vf sur une maillage
triangulaire autour de la torpille
rsolution des trois problmes lmentaires

coefficients de pression

cavitation

calcul de puu, pvv, puv, pur

coefficients hydrodynamiques
calcul de cxuu, cnuv, cnur de la torpille
calcul de dcnuv de la torpille: il est calcul
jusqu' la partie finale du corps rel de la
torpille

domaine de tir
calcul pour chaque point (vr,H) si les critres de
l'mergence sont respects ou non

calcul de puu minimale: cpmin


calcul de la vitesse de cavitation ucrit

trajectoire
quations hydrodynamiques rsolus
numriquement
mthode de Runge-Kutta ordre 4: RK4
y: (u,v,r,xgrand,ygrand,theta) o
u,v,r: sont vitesses suivant le rapport mobile
xgrand, ygrand, theta: sont paramtres de
position et d'angle suivant le rapport fix

fonctions et sous-routines auxiliaires


produit vectorielle: cross
norme d'un vecteur: norm2
dessiner la torpille: desstorp
drivative dydt en fonction de y dydt=f(y):
derivs avec pilotage et propulsion

58

Annexe 4: Table pour lapplication numerique du calcul de la trajectoire


dune torpille

Grandeur

Notation

Valeur

Unit

Diamtre de base

0.5

Surface de base

S=.D/4

0.196350

Masse torpille

1500

kg

Volume torpille

Vol

1.211

Inertie en tangage

4900

kg.m

Centre de gravite

xG

4/Nez

Centre de carne

xc - xG

0.750

Coefficient de trane

Cxuu

0.200

Coefficient de masse ajoute longi.

Cxup

0.448

Coefficient de portance

Cnuv

1.958

Coefficient de masse ajoute trans.

Cnvp

23.96

Coefficient de couplage

Cnur

7.82

Coefficient damortissement

Cnrp

-35.91

Coefficient moment de portance

Cmuv

14.47

Coefficient dinertie ajoute

Cmrp

-341.96

Coefficient de couplage

Cmur

-75.43

Coefficient damortissement

Cmvp

36.83

Densit de leau de mer

1026

kg/m

Acclration de la pesanteur

9.81

m/s

Pression atmosphrique

pa

10

Pa

Immersion de tir

-30<H<-20

Vitesse de route du sous-marin

Vr

0<Vr<1

m/s

59

Das könnte Ihnen auch gefallen