1 : C CHMION SOURCE CHAT 05/01/12 21:59:14 5004 2 : SUBROUTINE CHMION(IDSCHI,SP2,XMUNEW) 3 : C======================================================================= 4 : C ISSU DE TRIO-EF (TRICAL) 5 : C 6 : C - OBJET: CALCUL DE FORCE IONIQUE 7 : C 8 : C - ARGUMENTS: POINTEURS DES SEGMENTS IDSCHI SP2 9 : C XMUNEW = NOUVELLE FORCE IONIQUE 10 : C 11 : C - METHODES: CALCULE LA FORCE IONIQUE D'APRES LES CHARGES DES COMPOSANTS 12 : C ET LES VALEURS DE CONCENTRATIONS "C" DES ESPECES DISSOUTES DE TYPE I ET 13 : C II 14 : C 15 : C PEUT ETRE UTILISE POUR AFFINER LA CORRECTION DES LOGK AU SEIN D'UNE 16 : C BOUCLE, EN FONCTION D'UN CRITERE: 17 : C 17 : C 10 CALL CHMKMD() 18 : C ... 18 : C CALL CHMION() 19 : C ...CRITERE DE SORTIE DE BOUCLE 20 : C GOTO 10 21 : C 22 : C====================================================================== 23 : IMPLICIT INTEGER(I-N) 24 : IMPLICIT REAL*8(A-H,O-Z) 25 : SEGMENT IDSCHI 26 : REAL*8 GK(NYDIM),AA(NYDIM,NXDIM),FF(NZDIM,NPDIM) 27 : INTEGER IDX(NXDIM),IDY(NYDIM),IDZ(NZDIM),IDP(NPDIM),NN(6) 28 : INTEGER IDECY(NYDIM),IONZ(NXDIM) 29 : CHARACTER*32 NAME(NXDIM),NAMESP(NYDIM) 30 : ENDSEGMENT 31 : SEGMENT SP2 32 : REAL*8 GX(NXDIM),XX(NXDIM),GS(NZDIM),SS(NZDIM) 33 : REAL*8 TOT(NXDIM),TOTAQ(NXDIM),TOTFIX(NXDIM),GKS(NZDIM) 34 : REAL*8 YY(NXDIM),ZZ(NXDIM,NXDIM),CC(NYDIM),GC(NYDIM) 35 : ENDSEGMENT 36 : C 37 : I1=NN(1)+1 38 : I2=NN(1)+NN(2) 39 : NXDIM=IDX(/1) 40 : XMUNEW=0.D0 41 : DO 50 I=I1,I2 42 : VI=0.D0 43 : DO 51 J=1,NXDIM 44 : VI=VI+AA(I,J)*IONZ(J) 45 : 51 CONTINUE 46 : XMUNEW=XMUNEW+VI*VI*CC(I) 47 : 50 CONTINUE 48 : 49 : * 50 : * SEULES LES ESPECES DE TYPE 1 PARTICIPENT A LA FORCE IONIQUE 51 : * L'ESPECE SIMPLE D'UN COMPOSANT MIS EN TYPE 6 N'INTERVIENT PAS 52 : * (CF ELECTRON ,SITE DE SURFACE 53 : DO 54 J=1,NN(1) 54 : IDYJ=IDY(J) 54 : CALL CHIADY(IDX,NXDIM,IDYJ,IYJ) 55 : VI=IONZ( IYJ)*IONZ( IYJ) 56 : XMUNEW=XMUNEW+VI*ABS(CC(J)) 57 : 54 CONTINUE 58 : XMUNEW=XMUNEW/2.D0 59 : RETURN 60 : END 61 : C 62 : C 63 : C 64 : C 65 : 66 : 67 : 68 :
© Cast3M 2003 - All rights reserved.
Disclaimer