Bonjour, je débute en Fortran, et j'ai une erreur lors de la compilation (je m'excuse par avance, mais la balise CODE ne marche pas sur mon PC...) :
:\EssaiTSS\ajuste.f90(69) : Error: Conflicting attributes or multiple declaration of name. [VAR_EXPLI]
common /AJUST/ var_expli, var_a_expli, val_par_ini, compteur
-----------------^
D:\EssaiTSS\ajuste.f90(69) : Error: Conflicting attributes or multiple declaration of name. [VAR_A_EXPLI]
common /AJUST/ var_expli, var_a_expli, val_par_ini, compteur
----------------------------^
D:\EssaiTSS\ajuste.f90(69) : Error: Conflicting attributes or multiple declaration of name. [COMPTEUR]
common /AJUST/ var_expli, var_a_expli, val_par_ini, compteur
Voici la déclarations des variables dans ma subroutine ajuste.f90
et voici les déclarations dans ma subroutine fcout.f90 (qui utilise aussi ce common) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 implicit none ! Declarations integer :: compteur, VLA(3) double precision :: var_expli(NbMaxEl), var_a_expli(NbMaxEl) double precision :: val_par(6), qualite(4) integer :: i, compteurDFI, ier, nbvar, maxfn, compteurMATYP, err double precision :: pente, ordonnee, var_mod(NbMaxEl) double precision :: DFI, val_par_ini(4), w(NbMaxEl) double precision :: v(8), ec_type(4), a(16) double precision :: residu(NbMaxEl), ETR, TED, TEG double precision :: EM, ETM, x(NbMaxEl), y(NbMaxEl) double precision :: parlin, ERmat, ERlin, energie ! Declarations des variables appelees par la fonction d'ajustement lmdif.f integer, parameter :: nbfct=1 ! nombre de fonctions cout integer, parameter :: nbparam=4 ! nombre de parametres a ajuster integer maxfev,mode,nprint,info,nfev integer, parameter :: ldfjac=4 integer ipvt(nbparam) double precision ftol,xtol,gtol,epsfcn,factor double precision ci(nbparam) ! estimation initiale des parametres double precision fvec(nbfct),diag(nbparam),fjac(ldfjac,nbparam),qtf(nbparam) double precision wa1(nbparam),wa2(nbparam),wa3(nbparam),wa4(nbfct) external fcout ! fonction cout common /AJUST/ var_expli, var_a_expli, val_par_ini, compteur
Pouvez-vous m'expliquer la cause de mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 implicit none ! Declarations integer nbfct ! nombre de fonction cout integer nbparam ! nombre de parametres a ajuster double precision val_param(nbparam) double precision fvec(nbfct) integer iflag double precision var_expli(NbMaxEl), var_a_expli(NbMaxEl) double precision var_mod, ymod, val_par_ini(4) double precision m1, a1, p12, m2, a2, d1, d2, s double precision var_mod0 integer i, compteur ! var_expli : La variable explicative : Deformation de Green-Lagrange ! var_a_expli : La variable a expliquer : !ontrainte de Piola-Kirchoff en daN/mm2 mesuree ! ymod : Contrainte de Piola-Kirchoff en daN/mm2 modelisee ! compteur : nombre de points de mesure common /AJUST/ var_expli, var_a_expli, val_par_ini, compteur
Merci d'avance
Partager