[updated 8.Sep.2008]
SUBROUTINE M2NOPO (M,RM,LM,IST,RST,CST,MAXIST,AST,MAXAST
& ,NUFIN,NUFOUT,NOFOUT)
Auteur : D.Martin
Derniere modification : D.Martin (13 Juin 2003)
Version 1.0.6
Creer une structure de donnees NOPO de Modulef a partir d'un fichier
de maillage de Melina
-- Arguments d'entree --
M super-tableau version entiere de l'allocation dynamique Modulef
RM super-tableau version reelle Modulef
LM longueur du super-tableau de Modulef
IST super-tableau version entiere de l'allocation dynamique Melina
RST super-tableau version reelle Melina
CST super-tableau version complexe Melina
MAXIST longueur du super-tableau scalaire Melina (IST,RST,CST)
AST super-tableau de caracteres de Melina
MAXAST longueur du super-tableau caractere de Melina
NUFIN numero d'unite logique du fichier de maillage Melina
NUFOUT numero d'unite logique du fichier contenant la S.D.E. NOPO
NOFOUT nom du fichier de la NOPO Modulef
IMPLICIT NONE
CHARACTER AST(*)
CHARACTER*(*) NOFOUT
INTEGER M(*),LM,IST(*),MAXIST,MAXAST,NUFIN,NUFOUT
REAL RM(*),RST(*)
COMPLEX CST(*)
INCLUDE 'CONTEX'
INTEGER ISOR,NIVIMP
INTEGER LGBUF,NBENRX,IMPALO,IMPERR,NBTBMX
& ,ISEUIL,NBBUF,NBUTMX,NBUNIT,STDIN,STDOUT
& ,NUM,NUMOLD,LECOLD,LCANTE,LECACT,LASAPL,NIVEGE
INTEGER NRAN,LEC,IMP,IECR,KNUM,IRWD,NOCO,IRET,NAVANT
COMMON/REDCA1/ NUM,NRAN,LEC,IMP,IECR,KNUM,IRWD,NOCO,IRET,NAVANT
COMMON/REDLST/ LECOLD,LCANTE,NUMOLD /LASAPL/LASAPL
Nombre initial maximum d'inconnues, de donnees, de domaines, de termes
de constantes entieres, reelles, complexes, chaines de caracteres
INTEGER NBINCI,NCINCI,NBDONI,NCDONI,NBDOMI,NCDOMI,NBTRMI,NCTRMI
& ,NBCSEI,NBCSRI,NBCSCI,NBCSDI,NBCSAI,NCCSAI
DATA NBINCI,NCINCI,NBDONI,NCDONI,NBDOMI,NCDOMI,NBTRMI,NCTRMI
& /0 ,0 ,0 ,0 ,10 ,6 ,0 ,0/
& ,NBCSEI,NBCSRI,NBCSCI,NBCSDI,NBCSAI,NCCSAI/5*0,0/
CALL PRFXMJ (1,'*M2Nopo*')
-- Initialisation de l'allocation dynamique de Modulef
CALL INITIS (M,LM,0,0) !utii
-- Initialisation et Valeurs par defaut
CALL INITIA (MAXIST,LGBUF,NBENRX,IMPALO,IMPERR,NBTBMX
& ,ISEUIL,NBBUF,NBUTMX,NBUNIT,STDIN,STDOUT
& ,NUM,NUMOLD,LECACT,LECOLD,LCANTE,LASAPL) !initial
-- Initialisation de la gestion des tables de l'allocation dynamique
CALL STINIT (MAXAST,MAXIST,NBTBMX,ISEUIL,LGBUF,NBENRX,NBBUF
& ,NBUTMX,NBUNIT,INTMAX,IMPALO,IMPERR)
-- Initialisation du systeme d'unites logiques
CALL INIFIC (LASNUF,STDOUT,IMPPAL,IMPSDR,IMPMES,ABS(IMPALO)
& ,IMPERR) !initial
-- Creation de tableaux recepteurs des structures d'entree
CALL CREESD (NBINCI,NCINCI,NBDONI,NCDONI,NBDOMI,NCDOMI
& ,NBTRMI,NCTRMI,NBCSEI,NBCSRI,NBCSCI,NBCSDI
& ,NBCSAI,NCCSAI) !initial
ISOR=0
CALL REDINI (NUFIN,ISOR) !redlec
CALL REDLE !redlec
-- Lecture du fichier de maillage Melina
NIVIMP=0
CALL LCGMAI (NIVIMP) !lecgeom
-- Tranfert sous format Modulef et appel a CONOPO de Modulef
NIVEGE=0
CALL ME2NOP (NDIM,NBDOMG,NBPTEX,NBTPTG,NBTEL,NBBBLK
& ,NIVEGE,NIVENG,NUFOUT,M,RM,AST,IST,RST,CST)
CLOSE (NUFOUT,STATUS='KEEP')
CALL PRFXMJ (-1,'*M2Nopo*')
END !M2Nopo
m2nopo est appelé dans (3 procédures)