





![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Suiv.: 1.3 Les algorithmes
Sup.: Liste des méthodes directes
Préc.: 1.1 Introduction
Index
Table des matières
Cette partie est une présentation des différents modules
actuellement disponibles dans le code, avec le cadre de leur utilisation
et leurs paramètres. Des exemples concrets de calcul sont rassemblés au chapitre 6.
But : assemble les seconds membres élémentaires
(efforts, pressions, contraintes, flux, ...) par paquets,
pour utiliser au mieux les
possibilités de parallélisation ou de vectorisation de l'ordinateur.
Utilisation :
- dimensionner le tableau M (dans le common blanc),
- appeler INITI,
- créer la structure de données d'entrée TAE (et éventuellement NDL1).
Appel du module :
CALL ASEMBV(M,NOT,NDSM,NCODSB,NFTAE,NITAE,
+ NFNDL1,NINDL1,NFB,NIB,NTB)
avec
- M : le super-tableau
- NOT : le numéro du tableau à assembler parmi les tableaux élémentaires
de la structure TAE
- NDSM : le nombre de seconds membres
- NCODSB : le code de stockage de la structure de données de sortie B
(toujours non symétrique, soit NCODSB = -1)
- NFTAE : le numéro du fichier support de la SDE TAE
- NITAE : son numéro de niveau
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFB : le numéro du fichier support de la SDS B
- NIB : son numéro de niveau
- NTB : le nombre de tableaux associés à la SDS B (à fournir en données si NTB > 0)
But : assemble les matrices élémentaires symétriques ou
non, sous la forme d'une matrice A profil (matrice de raideur, matrice de
masse, ...) avec mémoire secondaire.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée TAE (et éventuellement NDL1)
- exécuter le module PREPAC qui initialise la structure MUA, et crée le pointeur MUA4
Appel du module :
CALL ASMAPS(M,NOT,NFTAE,NITAE,NFNDL1,NINDL1,
+ NFMUAE,NIMUAE,NFMUAS,NIMUAS)
avec
- M : le super-tableau
- NOT : le numéro du tableau à assembler parmi les tableaux élémentaires
de la structure TAE
- NFTAE : le numéro du fichier support de la SDE TAE (toujours > 0)
- NITAE : son numéro de niveau
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA,
fichier en accès direct (toujours < 0)
- NIMUAE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA,
fichier en accès direct (toujours < 0)
- NIMUAS : son numéro de niveau. La SDS peut être identique à la SDE (NIMUAS = NIMUAE)
ou distincte (NIMUAS
NIMUAE)
But : assemble les seconds membres élémentaires
(efforts, pressions, contraintes, flux, ...) en mémoire secondaire.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée TAE (et éventuellement NDL1)
Appel du module :
CALL ASMBMS(M,NOT,NDSM,NCODSB,NFTAE,NITAE,
+ NFNDL1,NINDL1,NFB,NIB,NTB)
avec
- M : le super-tableau
- NOT : le numéro du tableau à assembler parmi les tableaux élémentaires
de la structure TAE
- NDSM : le nombre de seconds membres
- NCODSB : le code de stockage de la structure de données de sortie B
(toujours non symétrique, soit NCODSB = -1)
- NFTAE : le numéro du fichier support de la SDE TAE
- NITAE : son numéro de niveau
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFB : le numéro du fichier support de la SDS B,
fichier en accès direct (toujours < 0)
- NIB : son numéro de niveau
- NTB : le nombre de tableaux associés à la SDS B
(à fournir en données si NTB > 0)
But : assemble les matrices élémentaires par paquets,
sous la forme d'une matrice A profil (matrice de raideur, matrice de
masse, ...) pour utiliser au mieux les
possibilités de parallélisation ou de vectorisation de l'ordinateur.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée TAE (et éventuellement NDL1)
- exécuter le module PREPAC qui initialise la structure MUA, et crée le pointeur MUA4
Appel du module :
CALL ASSMUA(M,NOT,NFTAE,NITAE,NFNDL1,NINDL1,
+ NFMUAE,NIMUAE,NFMUAS,NIMUAS)
avec
- M : le super-tableau
- NOT : le numéro du tableau à assembler parmi les tableaux élémentaires
de la structure TAE
- NFTAE : le numéro du fichier support de la SDE TAE
- NITAE : son numéro de niveau
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA (incomplète)
- NIMUAE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA
- NIMUAS : son numéro de niveau . La SDS peut être identique à la SDE (NIMUAS = NIMUAE)
ou distincte (NIMUAS
NIMUAE)
But : effectue la factorisation de
Cholesky, en mémoire centrale, d'une matrice A symétrique définie
positive , déjà assemblée dans la structure MUA.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée MUA (et éventuellement NDL1)
- exécuter le module PREPAC, puis le module ASSMUA qui créent la structure de données
d'entrée MUA, et éventuellement le module CLIMPC pour la prise en compte des
conditions aux limites
Appel du module :
CALL CHOLPC(M,EPS,NENTRE,NFNDL1,NINDL1,
+ NFMUAE,NIMUAE,NFMUAS,NIMUAS,NRETOU)
avec
- M : le super-tableau
- EPS : la valeur minimale acceptée pour un pivot
suivant le critère
- NENTRE : si NENTRE = 0 le module retourne au programme appelant
dès qu'un pivot est inférieur à EPS, ou continue les calculs si NENTRE = 1
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA
- NIMUAE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA
- NIMUAS : son numéro de niveau (la SDS peut être distincte de la SDE ;
par exemple si on veut
assembler de manière indépendante plusieurs tableaux élémentaires de la structure TAE).
- NRETOU : paramètre de sortie : NRETOU = 1 si au moins un pivot a été jugé trop petit,
NRETOU = 0 sinon
But : effectue la factorisation de
Cholesky, avec mémoire secondaire en accès direct , d'une matrice A symétrique définie
positive , déjà assemblée dans la structure MUA.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée MUA (et éventuellement NDL1)
- exécuter le module PREPAC, puis le module ASMAPS qui créent la structure
de données d'entrée MUA, et éventuellement le module CLIMPS pour la prise en compte des
conditions aux limites
Appel du module :
CALL CHOLPS(M,EPS,NENTRE,NFNDL1,NINDL1,
+ NFMUAE,NIMUAE,NFMUAS,NIMUAS,NRETOU)
avec
- M : le super-tableau
- EPS : la valeur minimale acceptée pour un pivot
suivant le critère
- NENTRE : si NENTRE = 0 le module retourne au programme appelant
dès qu'un pivot est inférieur à EPS, ou continue les calculs si NENTRE = 1
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA,
fichier en accès direct (toujours < 0)
- NIMUAE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA,
fichier en accès direct (toujours < 0)
- NIMUAS : son numéro de niveau . La SDS peut être identique à la SDE (NIMUAS = NIMUAE)
ou distincte (NIMUAS
NIMUAE)
Attention : si NFMUAE et NFMUAS sont distincts, les nombres de mots de leurs pages doivent
être égaux !
- NRETOU : paramètre de sortie : NRETOU = 1 si au moins un pivot a été jugé trop petit,
NRETOU = 0 sinon
But : prend en compte les conditions aux
limites de type valeur imposée, ou relation linéaire.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer les structures de données d'entrée MUA et B (et éventuellement NDL1)
(exécuter le module PREPAC, puis les modules ASSMUA et ASEMBV, qui créent les
structures MUA et B)
Appel du module :
CALL CLIMPC(M,NIVO,VTG,NFNDL1,NINDL1,
+ NFMUAE,NIMUAE,NFBE,NIBE,NFBDCL,NIBDCL,
+ NFMUAS,NIMUAS,NFBS,NIBS)
avec
- M : le super-tableau
- NIVO : le type de conditions aux limites imposées :
- si NIVO = 0, les conditions aux limites
portent sur la matrice A uniquement, et sont de la forme
= VTG
- si NIVO = 1, les conditions aux limites
portent uniquement sur le second membre, et sont de la forme
= VTG
V.
- si NIVO = 2, les conditions aux limites
portent sur A et B, et sont de la forme
=
VTG
et
VTG
V
- si NIVO = 3, les conditions aux limites
portent sur A et B, et sont effectuées suivant
= VTG et
=VTG
V pour tout degré
de liberté i bloqué, puis pour tout
tel que
0,
V et enfin
= 0
- si NIVO = 4, les conditions aux limites
portent sur A seulement, et sont de la forme
= VTG
- VTG : valeur de multiplication des coefficients diagonaux des degrés de liberté bloqués
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA
- NIMUAE : son numéro de niveau
- NFBDCL : le numéro du fichier support de la SDE BDCL
- NIBDCL : son numéro de niveau
- NFBE : le numéro du fichier support de la SDE B
- NIBE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA
- NIMUAS : son numéro de niveau (la SDS peut être distincte de la SDE)
But : prend en compte les conditions aux
limites de type valeur imposée, ou relation linéaire.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer les structures de données d'entrée MUA et B (et éventuellement NDL1)
(exécuter le module PREPAC, puis les modules ASMAPS et ASMBMS, qui créent les
structures MUA et B)
Appel du module :
CALL CLIMPS(M,NIVO,VTG,NFNDL1,NINDL1,
+ NFMUAE,NIMUAE,NFBE,NIBE,NFBDCL,NIBDCL,
+ NFMUAS,NIMUAS,NFBS,NIBS)
avec
- M : le super-tableau
- NIVO : le type de conditions aux limites imposées :
- si NIVO = 0, les conditions aux limites
portent sur la matrice A uniquement, et sont de la forme
= VTG
- si NIVO = 1, les conditions aux limites
portent uniquement sur le second membre, et sont de la forme
V.
- si NIVO = 2, les conditions aux limites
portent sur A et B, et sont de la forme
VTG
et
VTG
V
- si NIVO = 3, les conditions aux limites
portent sur A et B, et sont effectuées suivant
=VTG
V pour tout degré
de liberté i bloqué, puis pour tout k
i tel que 
0,
V et enfin
= 0
- si NIVO = 4, les conditions aux limites
portent sur A seulement, et sont de la forme
=VTG
- VTG : valeur de multiplication des coefficients diagonaux des degrés de liberté bloqués
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA (toujours < 0)
- NIMUAE : son numéro de niveau
- NFBDCL : le numéro du fichier support de la SDE BDCL
- NIBDCL : son numéro de niveau
- NFBE : le numéro du fichier support de la SDE B (toujours < 0)
- NIBE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA (toujours < 0)
- NIMUAS : son numéro de niveau (la SDS peut être distincte de la SDE)
Attention : si NFMUAE et NFMUAS (resp. NFBE et NFBS) sont distincts,
les nombres de mots de leurs pages doivent être égaux !
But : construit la SD NDL1 à partir de la SD MAIL. Les algorithmes décrits
dans ce guide font appel à la fonction NDL , qui affecte à NDL(I+1)
le numéro du dernier degrés de liberté associé au noeud I (avec la convention NDL(1)=0).
Pour initialiser cette fonction, le module fait un appel à la fonction LRNDL1, et ensuite
- si le nombre de degré de liberté en chaque noeud ND est constant,
NDL(I+1) = I * ND
- sinon NDL(I+1), le numéro du dernier degré de liberté associé au
noeud I, est lu dans la S.D NDL1
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
Appel du module :
CALL CONDL1(M,NNSEG,NFMAIL,NIMAIL,NFNDL1,NINDL1,LNOET,
+ NNOMAX,ND,NDLMAX)
avec
- M : le super-tableau
- NNSEG : le nombre de noeuds par segment de NDL1 (Si il est initialisé à une très
grande valeur, en sortie il vaut le nombre de noeuds + 1)
- NFMAIL : le numéro du fichier support de la SDE MAIL
- NIMAIL : son numéro de niveau
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
le module donne en sortie :
- LNOET : le nombre total de noeuds des types d'élément
- NNOMAX : le nombre maximum de noeuds parmi tous les types d'éléments
- ND : le nombre de degré de liberté en chaque noeud, s'il est constant (0 sinon)
- NDLMAX : le nombre maximal de degrés de liberté en un noeud
But : effectue la factorisation de Crout, en
mémoire centrale, d'une matrice A symétrique , déjà
assemblée dans la structure MUA.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée MUA (et éventuellement NDL1)
(exécuter le module PREPAC, puis le module ASSMUA qui créent la structure de données
d'entrée MUA)
Appel du module :
CALL CROUPC(M,EPS,NENTRE,NFNDL1,NINDL1,NFMUAE,
+ NIMUAE,NFMUAS,NIMUAS,NRETOU)
avec
- M : le super-tableau
- EPS :
la valeur minimale acceptée pour un pivot
suivant le critère
- NENTRE : si NENTRE = 0 le module retourne au programme appelant
dès qu'un pivot est inférieur en valeur absolue à EPS, ou continue les calculs si NENTRE = 1
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA
- NIMUAE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA
- NIMUAS : son numéro de niveau (la SDS peut être distincte de la SDE, ou confondue).
- NRETOU : paramètre de sortie : NRETOU = 1 si au moins un pivot a été jugé trop petit,
NRETOU = 0 sinon
But : effectue la résolution du système
linéaire en mémoire centrale , après factorisation de Cholesky. La
matrice L triangulaire inférieure est déjà stockée dans la
structure MUA.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer les structures de données d'entrée MUA et B (et éventuellement NDL1)
- exécuter le module CHOLPC, qui effectue la factorisation de Cholesky de la matrice A :
A = L
Appel du module :
CALL DRCHPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1,
+ NFMUA,NIMUA,NFBE,NIBE,
+ NFBDCL,NIBDCL,NFBS,NIBS)
avec
- M : le super-tableau
- NIVEAU : le type de résolution choisie :
- si NIVEAU = 0, seule la remontée
x = B est effectuée
- si NIVEAU = 1, seule la descente
x = B est effectuée
- si NIVEAU > 1, la résolution complète L
x = B est effectuée
- NCLRL : nombre de conditions aux limites en relation linéaire
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUA : le numéro du fichier support de la SDE MUA
- NIMUA : son numéro de niveau
- NFBDCL : le numéro du fichier support de la SDE BDCL
- NIBDCL : son numéro de niveau
- NFBE : le numéro du fichier support de la SDE B (contient le second membre)
- NIBE : son numéro de niveau
- NFBS : le numéro du fichier support de la SDS B (contient la solution)
- NIBS : son numéro de niveau.
Attention : si NIBS = NIBE, la solution écrase le second membre !
But : effectue la résolution du système
linéaire en mémoire centrale , après factorisation de Crout. La
matrice triangulaire inférieure L et la diagonale D sont déjà
stockées dans la structure MUA.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer les structures de données d'entrée MUA et B (et éventuellement NDL1)
- exécuter le module CROUPC, qui effectue la factorisation de Crout de la matrice A :
A = L
D
Appel du module :
CALL DRCRPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1,
+ NFMUA,NIMUA,NFBE,NIBE,
+ NFBDCL,NIBDCL,NFBS,NIBS)
avec
- M : le super-tableau
- NIVEAU : le type de résolution choisie :
- si NIVEAU = 0, seule la remontée
x = B est effectuée
- si NIVEAU = 1, seule la descente
x = B est effectuée
- si NIVEAU = 2, la descente L
D
x = B est effectuée
- si NIVEAU = 3, la résolution complète L
D
x = B
est effectuée
- si NIVEAU = 4, la remontée D
x = B est effectuée
- NCLRL : nombre de conditions aux limites en relation linéaire
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUA : le numéro du fichier support de la SDE MUA
- NIMUA : son numéro de niveau
- NFBDCL : le numéro du fichier support de la SDE BDCL
- NIBDCL : son numéro de niveau
- NFBE : le numéro du fichier support de la SDE B (contient le second membre)
- NIBE : son numéro de niveau
- NFBS : le numéro du fichier support de la SDS B (contient la solution)
- NIBS : son numéro de niveau
Attention : si NIBE = NIBS, la solution écrase le second membre !
But : effectue la résolution du système
linéaire en mémoire centrale , après factorisation de Gauss. La
matrice triangulaire inférieure L et la matrice triangulaire supérieure
U sont déjà stockées dans la structure MUA.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer les structures de données d'entrée MUA et B (et éventuellement NDL1)
- exécuter le module GAUSPC, qui effectue la factorisation de Gauss de la matrice A :
A = L * U
Appel du module :
CALL DRGAPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1,
+ NFMUA,NIMUA,NFBE,NIBE,
+ NFBDCL,NIBDCL,NFBS,NIBS)
avec
- M : le super-tableau
- NIVEAU : le type de résolution choisie :
- si NIVEAU = 0, seule la remontée U
x = B est effectuée
- si NIVEAU = 1, seule la descente L
x = B est effectuée
- si NIVEAU = 2, la résolution complète L
U
x = B
est effectuée
- NCLRL : nombre de conditions aux limites en relation linéaire
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUA : le numéro du fichier support de la SDE MUA
- NIMUA : son numéro de niveau
- NFBDCL : le numéro du fichier support de la SDE BDCL
- NIBDCL : son numéro de niveau
- NFBE : le numéro du fichier support de la SDE B (contient le second membre)
- NIBE : son numéro de niveau
- NFBS : le numéro du fichier support de la SDS B (contient la solution)
- NIBS : son numéro de niveau
Attention : si NIBS = NIBE, la solution écrase le second membre !
But : effectue l'assemblage du système linéaire,
la prise en compte des conditions aux limites, et la résolution en
mémoire centrale par la méthode frontale.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer le fichier NFFRON à l'aide du module PREPAF
Appel du module :
CALL FRONT(M,NFFRON,NFTAEM,NITAEM,NFTAES,NITAES,
+ NFGAUS,NFBDCL,NIBDCL,NFB,NIB,NTB,
+ NFNDL1,NINDL1,NTYPFR,LF,
+ NOT1,NOT2,NDSM,EPS,VTG)
avec
- M : le super-tableau
- NFFRON : le numéro du fichier support des données de la méthode frontale
(créé par le module PREPAF, toujours >0)
- NFTAEM : le numéro du fichier support de la structure TAE des matrices élémentaires
- NITAEM : son numéro de niveau
- NFTAES : le numéro du fichier support de la structure TAE des seconds membres élémentaires
(peut être égal à NFTAEM)
- NITAES : son numéro de niveau
(peut être égal à NITAEM)
- NFGAUS : le numéro du fichier support des résultats de la méthode frontale
(créé par le module FRONT)
- NFBDCL : le numéro du fichier support de la SDE BDCL
- NIBDCL : son numéro de niveau
- NFB : le numéro du fichier support de la SDE B (contient le second membre)
- NIB : son numéro de niveau
- NTB : le nombre de tableaux associés
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NTYPFR : le nombre de type de fronts
- LF : tableau entier de longueur NTYPFR, (créé par PREPAF)
- NOT1 : le numéro du tableau matrice élémentaire de la structure TAE
- NOT2 : le numéro du tableau second membre élémentaire de la structure TAE
- NDSM : le nombre de seconds membres
- EPS : la valeur minimale admise pour un élément de la matrice frontale
(en valeur absolue)
- VTG : valeur de multiplication des coefficients diagonaux des degrés de liberté bloqués
Attention :
Les paramètres NTYPFR et LF (tableau de longueur NTYPFR) doivent
être donnés par l'utilisateur si les modules
PREPAF et FRONT ne sont pas exécutés dans le même job.
But : effectue la factorisation de Gauss, en
mémoire centrale, d'une matrice A non singulière, déjà
assemblée dans la structure MUA.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée MUA (et éventuellement NDL1)
(exécuter le module PREPAC, puis le module ASSMUA qui créent la structure de données
d'entrée MUA)
Appel du module :
CALL GAUSPC(M,EPS,NENTRE,NFNDL1,NINDL1,
+ NFMUAE,NIMUAE,NFMUAS,NIMUAS,NRETOU)
avec
- M : le super-tableau
- EPS :
la valeur minimale acceptée pour un pivot
suivant le critère
- NENTRE : si NENTRE = 0 le module retourne au programme appelant
dès qu'un pivot est inférieur à EPS, ou continue les calculs si NENTRE = 1
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFMUAE : le numéro du fichier support de la SDE MUA
- NIMUAE : son numéro de niveau
- NFMUAS : le numéro du fichier support de la SDS MUA
- NIMUAS : son numéro de niveau (la SDS peut être distincte de la SDE, ou confondue).
- NRETOU : paramètre de sortie : NRETOU = 1 si au moins un pivot a été jugé trop petit,
NRETOU = 0 sinon
But : détermine les pointeurs de la matrice A,
et calcule les tailles des structures de données MUA et B.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer les structures de données d'entrée MAIL et éventuellement
NDL1 et BDCL
Appel du module :
CALL PREPAC(M,NNOMAX,ND,NDSM,NCLRL,NCODSA,NTY,
+ NFMAIL,NIMAIL,NFNDL1,NINDL1,
+ NFBDCL,NIBDCL,NFMUA,NIMUA,NTMUA,
+ LBDP,LBDPDL,MCNDL1,MCMUA,MCB)
avec
- M : le super-tableau
- NNOMAX : le nombre maximum de noeuds parmi tous les types d'éléments
- ND : le nombre de degrés de liberté en chaque noeud, s'il est constant (0 sinon)
- NDSM : le nombre de seconds membres
- NCLRL : le nombre de conditions aux limites en relation linéaire
- NCODSA : le code de stockage de la matrice
- NCODSA > 0 : stockage symétrique de la partie triangulaire inférieure
- NCODSA = 0 : stockage diagonal
- NCODSA < 0 : stockage non symétrique de la matrice complète
- NTY : le type des tableaux MUA5 et B4 à assembler
- NFMAIL : le numéro du fichier support de la SDE MAIL
- NIMAIL : son numéro de niveau
- NFNDL1 : le numéro du fichier support de la SDE NDL1
- NINDL1 : son numéro de niveau
- NFBDCL : le numéro du fichier support de la SDE BDCL
- NIBDCL : son numéro de niveau
- NFMUA : le numéro du fichier support de la SDS MUA
- NIMUA : son numéro de niveau
- NTMUA : le nombre de tableaux associés
- LBDP : paramètre de sortie : plus grande différence entre les numéros des
noeuds d'un même élément
- LBDPL : paramètre de sortie : plus grande différence entre les numéros des
degrés de liberté d'un même élément
- MCNDL1 : le nombre de mots de la structure NDL1
- MCMUA : le nombre de mots de la structure MUA
- MCB : le nombre de mots de la structure B
But : détermine les pointeurs de la matrice A et des seconds
membres B, et calcule la place mémoire nécessaire à la résolution
d'un système linéaire par la méthode frontale.
Utilisation :
- dimensionner le tableau M (dans le common blanc)
- appeler INITI
- créer la structure de données d'entrée MAIL
Appel du module :
CALL PREPAF(M,NFMAIL,NIMAIL,NFFRON,LFRON,NTYPFR,LF)
avec
- M : le super-tableau
- NFMAIL : le numéro du fichier support de la SDE MAIL
- NIMAIL : son numéro de niveau
- NFFRON : le numéro du fichier support des résultats (toujours > 0)
- LFRON : la longueur du front prévue par l'utilisateur
- NTYFR : le nombre de types de front (i.e. de type de noeuds dans le maillage)
- LF : tableau entier de longueur NTYFR
- LF(I) contient en sortie la longueur du I-ème front. Si en cours d'exécution
une de ces valeurs dépasse LFRON, le programme s'arrête avec impression d'un message






![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Suiv.: 1.3 Les algorithmes
Sup.: Liste des méthodes directes
Préc.: 1.1 Introduction
Index
Table des matières