--- /dev/null
+A Code_Aster component dynamically loadable
+===============================================
+
+To build this example, modify the files components.py, fcompo/Makefile, myaster/Makefile
+to take into account your configuration.
+
+1- your prerequisite file
+2- your KERNEL_ROOT_DIR
+3- your Code_Aster installation
+
+Then set the environment (including PYTHONPATH for YACGEN, ../.. from here and execute components.py ::
+
+ source <your prerequisite file>
+
+Build the fcompo library ::
+
+ cd fcompo
+ make
+
+Build the Code_Aster library ::
+
+ cd myaster
+ make
+
+process components.py ::
+
+ python components.py
+
+You should get a SALOME module in source form (pycompos_SRC), its installation (install) and
+a SALOME application (appli) composed of modules KERNEL, GUI, YACS and pycompos.
+
+To run a coupling:
+
+ 1. start SALOME in background : ./appli/runAppli -t
+ 2. start a SALOME session : ./appli/runSession
+ 3. start YACS coupler with coupling file : driver coupling.xml
+ 4. examine output files in /tmp
+ 5. shutdown SALOME : shutdowSalome.py
+ 6. exit session : CTRL-D (or exit)
--- /dev/null
+"""
+ Example with one Code_Aster component and one fortran component
+"""
+import os
+from module_generator import Generator,Module,ASTERComponent,Service,F77Component
+
+context={'update':1,"prerequisites":"/local/cchris/.packages.d/envSalome50",
+ "kernel":"/local/chris/SALOME2/RELEASES/Install/KERNEL_V5"}
+aster_root="/local/chris/ASTER/instals/NEW9"
+
+libfcompodir=os.path.join(os.getcwd(),"fcompo")
+myasterdir=os.path.join(os.getcwd(),"myaster","bibpyt")
+install_prefix="./install"
+appli_dir="appli"
+
+c1=ASTERComponent("caster",services=[
+ Service("s1",inport=[("argv","string"),("a","double"),("b","long"),("c","string")],
+ outport=[("d","double")],
+ instream=[("aa","CALCIUM_double","T"),("ab","CALCIUM_double","I"),
+ ("ac","CALCIUM_integer","I"),("ad","CALCIUM_real","I"),
+ ("ae","CALCIUM_string","I"),("af","CALCIUM_complex","I"),
+ ("ag","CALCIUM_logical","I"),
+ ],
+ outstream=[("ba","CALCIUM_double","T"),("bb","CALCIUM_double","I")],
+ ),
+ ],
+ aster_dir=aster_root,
+ python_path=[myasterdir],
+ argv=["-memjeveux","4",'-rep_outils','/local/chris/ASTER/instals/outils'],
+ )
+
+c2=F77Component("cfort",services=[
+ Service("s1",inport=[("a","double"),("b","long"),("c","string")],
+ outport=[("d","double"),("e","long"),("f","string")],
+ instream=[("a","CALCIUM_double","T"),("b","CALCIUM_double","I")],
+ outstream=[("ba","CALCIUM_double","T"),("bb","CALCIUM_double","I"),
+ ("bc","CALCIUM_integer","I"),("bd","CALCIUM_real","I"),
+ ("be","CALCIUM_string","I"),("bf","CALCIUM_complex","I"),
+ ("bg","CALCIUM_logical","I"),
+ ],
+ defs="",body="",
+ ),
+ ],libs="-L%s -lfcompo" % libfcompodir,
+ rlibs="-Wl,--rpath -Wl,%s" % libfcompodir)
+
+g=Generator(Module("astmod",components=[c1,c2],prefix=install_prefix),context)
+g.generate()
+g.bootstrap()
+g.configure()
+g.make()
+g.install()
+g.make_appli(appli_dir,restrict=["KERNEL","GUI","YACS"])
--- /dev/null
+<proc>
+
+<container name="A">
+ <property name="workingdir" value="diro1"/>
+</container>
+
+<container name="B">
+</container>
+
+<datanode name="datain">
+ <parameter name="f1" type="double">
+ <value><double>23</double> </value>
+ </parameter>
+</datanode>
+
+<service name="node1" >
+ <component>caster</component>
+ <method>s1</method>
+ <load container="A"/>
+ <inport name="jdc" type="string"/>
+ <inport name="argv" type="string"/>
+ <inport name="a" type="double"/>
+ <inport name="b" type="int"/>
+ <inport name="c" type="string"/>
+ <outport name="fort:8" type="file"/>
+ <outport name="d" type="double"/>
+ <instream name="aa" type="CALCIUM_double"/>
+ <instream name="ab" type="CALCIUM_double"/>
+ <instream name="ac" type="CALCIUM_integer"/>
+ <instream name="ad" type="CALCIUM_real"/>
+ <instream name="ae" type="CALCIUM_string"/>
+ <instream name="af" type="CALCIUM_complex"/>
+ <instream name="ag" type="CALCIUM_logical"/>
+ <outstream name="ba" type="CALCIUM_double"/>
+ <outstream name="bb" type="CALCIUM_double"/>
+</service>
+
+<service name="node2" >
+ <component>cfort</component>
+ <method>s1</method>
+ <load container="B"/>
+ <inport name="a" type="double"/>
+ <inport name="b" type="int"/>
+ <inport name="c" type="string"/>
+ <outport name="d" type="double"/>
+ <outport name="e" type="int"/>
+ <outport name="f" type="string"/>
+ <instream name="a" type="CALCIUM_double"/>
+ <instream name="b" type="CALCIUM_double"/>
+ <outstream name="ba" type="CALCIUM_double"/>
+ <outstream name="bb" type="CALCIUM_double"/>
+ <outstream name="bc" type="CALCIUM_integer"/>
+ <outstream name="bd" type="CALCIUM_real"/>
+ <outstream name="be" type="CALCIUM_string"/>
+ <outstream name="bf" type="CALCIUM_complex"/>
+ <outstream name="bg" type="CALCIUM_logical"/>
+</service>
+
+<inline name="node98" >
+ <script>
+ <code>print "dans python node:",p1</code>
+ </script>
+ <inport name="p1" type="double"/>
+</inline>
+
+<inline name="ljdc" >
+ <script>
+ <code>f=open(comm)</code>
+ <code>jdc=f.read()</code>
+ <code>f.close()</code>
+ </script>
+ <inport name="comm" type="string"/>
+ <outport name="jdc" type="string"/>
+</inline>
+
+<outnode name="dataout" >
+ <parameter name="f1" type="file" ref="monfichier"/>
+</outnode>
+
+<!--datalinks -->
+<stream>
+<fromnode>node1</fromnode><fromport>ba</fromport>
+<tonode>node2</tonode><toport>a</toport>
+</stream>
+<stream>
+<fromnode>node1</fromnode><fromport>bb</fromport>
+<tonode>node2</tonode><toport>b</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>ba</fromport>
+<tonode>node1</tonode><toport>aa</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bb</fromport>
+<tonode>node1</tonode><toport>ab</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bc</fromport>
+<tonode>node1</tonode><toport>ac</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bd</fromport>
+<tonode>node1</tonode><toport>ad</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>be</fromport>
+<tonode>node1</tonode><toport>ae</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bf</fromport>
+<tonode>node1</tonode><toport>af</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bg</fromport>
+<tonode>node1</tonode><toport>ag</toport>
+</stream>
+
+<datalink>
+ <fromnode>node1</fromnode><fromport>fort:8</fromport>
+ <tonode>dataout</tonode> <toport>f1</toport>
+</datalink>
+<datalink>
+ <fromnode>node1</fromnode><fromport>d</fromport>
+ <tonode>node98</tonode> <toport>p1</toport>
+</datalink>
+<datalink>
+ <fromnode>datain</fromnode><fromport>f1</fromport>
+ <tonode>node2</tonode> <toport>a</toport>
+</datalink>
+<datalink>
+ <fromnode>ljdc</fromnode><fromport>jdc</fromport>
+ <tonode>node1</tonode> <toport>jdc</toport>
+</datalink>
+
+<parameter>
+ <tonode>node1</tonode> <toport>a</toport>
+ <value><double>23</double> </value>
+</parameter>
+<parameter>
+ <tonode>node1</tonode> <toport>b</toport>
+ <value><int>23</int> </value>
+</parameter>
+<parameter>
+ <tonode>node1</tonode> <toport>c</toport>
+ <value><string>hello</string> </value>
+</parameter>
+
+<parameter>
+ <tonode>node2</tonode> <toport>b</toport>
+ <value><int>23</int> </value>
+</parameter>
+<parameter>
+ <tonode>node2</tonode> <toport>c</toport>
+ <value><string>hello</string> </value>
+</parameter>
+
+<parameter>
+ <tonode>ljdc</tonode> <toport>comm</toport>
+ <value><string>f.comm</string> </value>
+</parameter>
+
+<parameter>
+ <tonode>node1</tonode> <toport>argv</toport>
+ <value><string>-memjeveux 4 </string> </value>
+</parameter>
+
+</proc>
+
--- /dev/null
+print a,b,c
+DEBUT(PAR_LOT="NON")
+YACS_INIT(COMPO=component)
+
+ECRIRE_MAILLAGE()
+LECTURE_FORCE()
+
+d=36.5
+
--- /dev/null
+FC=g77
+
+KERNEL_ROOT_DIR=/local/chris/SALOME2/RELEASES/Install/KERNEL_V5
+
+KERNEL_LIBS= -L$(KERNEL_ROOT_DIR)/lib/salome -lCalciumC -lSalomeDSCSuperv -lSalomeDSCContainer -lSalomeDatastream -lSalomeDSCSupervBasic
+
+all: libfcompo.so
+
+libfcompo.so:compo.o
+ $(FC) -shared -o libfcompo.so compo.o ${KERNEL_LIBS} -Wl,--rpath -Wl,$(KERNEL_ROOT_DIR)/lib/salome -fexceptions
+compo.o:compo.f
+ $(FC) -c compo.f -I$(KERNEL_ROOT_DIR)/include/salome -fexceptions
+
+clean:
+ rm -f *.o *.so
+
--- /dev/null
+ SUBROUTINE S1(compo,A,B,C,D,E,F)
+ include 'calcium.hf'
+ integer compo
+ real*8 a,d(*),tt,tp,t0,t1,ss,zz
+ integer b,e,dep,np
+ character*(*) c,f
+ character*8 tch(2)
+ real yd
+ real tcp(2)
+ integer tlo(3)
+
+ open(UNIT=22,FILE='SORTIES')
+ write(6,*)a,b,c,compo
+ call flush(6)
+
+ t0=0.
+ t1=1.
+ iter=1
+
+ tt=1.5
+ tp=2.3
+ np=12
+ yd=4.3
+ tch(1)="coucou"
+ tcp(1)=2.
+ tcp(2)=4.
+ tlo(1)=0
+ tlo(2)=1
+ tlo(3)=0
+ CALL cpeDB(compo,CP_TEMPS,t0,1,'ba',1,tt,info)
+ CALL cpeDB(compo,CP_ITERATION,t0,1,'bb',1,tp,info)
+ CALL cpeen(compo,CP_ITERATION,t0,1,'bc',1,np,info)
+ CALL cpere(compo,CP_ITERATION,t0,1,'bd',1,yd,info)
+ CALL cpech(compo,CP_ITERATION,t0,1,'be',1,tch,info)
+ CALL cpecp(compo,CP_ITERATION,t0,1,'bf',1,tcp,info)
+ CALL cpelo(compo,CP_ITERATION,t0,1,'bg',3,tlo,info)
+
+ ss=0.
+ CALL cpldb(compo,CP_TEMPS,t0,t1,iter,'a',1,n,ss,info)
+ write(6,*)"apres cpldb(a) ",info,ss
+ call flush(6)
+
+ zz=0.
+ CALL cpldb(compo,CP_ITERATION,t0,t1,iter,'b',1,n,zz,info)
+ write(6,*)"apres cpldb(b) ",info,zz
+ call flush(6)
+
+ d(1)=4.5
+ e=3
+ f="zzzzzzzzzzzzzzz"
+ write(6,*)d(1),e,f
+ call flush(6)
+ write(22,*)d(1),e,f
+ call flush(22)
+ END
+
+ SUBROUTINE S2(compo,A,B,C)
+ integer compo
+ real*8 a,b,c
+ write(6,*)a,b
+ call flush(6)
+ c=a*b
+ write(6,*)c
+ call flush(6)
+ END
+
+ SUBROUTINE S3(compo)
+ include 'calcium.hf'
+ integer compo
+ real*8 tt,tp,t0,t1,ss,zz
+ integer iter,n,info,zn
+ CHARACTER*8 tch(2)
+ real tcp(2)
+ integer tlo(3)
+
+ t0=0.
+ t1=1.
+ tt=1.5
+ tp=2.3
+
+ CALL cpeDB(compo,CP_TEMPS,t0,1,'ba',1,tt,info)
+ CALL cpeDB(compo,CP_ITERATION,t0,1,'bb',1,tp,info)
+ call flush(6)
+ t0=0.
+ t1=1.
+ iter=1
+
+
+ ss=0.
+ CALL cpldb(compo,CP_TEMPS,t0,t1,iter,'aa',1,n,ss,info)
+ write(6,*)"apres cpldb(aa) ",info,ss
+ call flush(6)
+
+ zz=0.
+ CALL cpldb(compo,CP_ITERATION,t0,t1,iter,'ab',1,n,zz,info)
+ write(6,*)"apres cpldb(ab) ",info,zz
+ call flush(6)
+
+ CALL cplen(compo,CP_ITERATION,t0,t1,iter,'ac',1,n,zn,info)
+ write(6,*)"apres cplen(ac) ",info,zn
+ call flush(6)
+ CALL cplre(compo,CP_ITERATION,t0,t1,iter,'ad',1,n,yr,info)
+ write(6,*)"apres cplre(ad) ",info,yr
+ call flush(6)
+ CALL cplch(compo,CP_ITERATION,t0,t1,iter,'ae',1,n,tch,info)
+ write(6,*)"apres cplch(ae) ",info,tch(1)
+ call flush(6)
+ CALL cplcp(compo,CP_ITERATION,t0,t1,iter,'af',1,n,tcp,info)
+ write(6,*)"apres cplcp(af) ",info,tcp(1),tcp(2)
+ call flush(6)
+ CALL cpllo(compo,CP_ITERATION,t0,t1,iter,'ag',3,n,tlo,info)
+ write(6,*)"apres cpllo(ag) ",info,tlo(1),tlo(2),tlo(3)
+ call flush(6)
+
+ END
+
--- /dev/null
+#ASTER
+ASTER_ROOT=/local/chris/ASTER/instals
+#SALOME
+KERNEL_ROOT_DIR=/local/chris/SALOME2/RELEASES/Install/KERNEL_V5
+
+
+ASTER_INSTALL=$(ASTER_ROOT)/NEW9
+ASTER_PUB=$(ASTER_ROOT)/public
+ASTER_OUTILS=$(ASTER_ROOT)/outils
+
+ASTER_LIBS = -L$(ASTER_INSTALL)/lib -laster \
+ -L$(ASTER_PUB)/scotch_4.0/bin -lscotch -lscotcherr \
+ -L/local/chris/pkg/med23/install/lib -lmed \
+ -lferm -llapack -lhdf5
+
+KERNEL_INCLUDES=-I$(KERNEL_ROOT_DIR)/include/salome
+KERNEL_LIBS= -L$(KERNEL_ROOT_DIR)/lib/salome -lCalciumC -lSalomeDSCSuperv -lSalomeDSCContainer \
+ -lSalomeDatastream -lSalomeDSCSupervBasic -Wl,--rpath -Wl,$(KERNEL_ROOT_DIR)/lib/salome
+
+FC=g77
+LD=g77
+FFLAGS=
+CC=gcc
+SOURCES= src/op0078.f src/op0189.f src/op0181.f
+OBJETS=op0078.o op0189.o op0181.o
+
+CATAPY=catalo/ecrire_maillage.capy catalo/lecture_force.capy catalo/yacs_init.capy
+
+all:pyth cata astermodule
+
+pyth:
+ cp -rf $(ASTER_INSTALL)/bibpyt .
+
+cata: commande/cata.py
+ cp -rf commande/cata.py* bibpyt/Cata
+
+commande/cata.py:$(CATAPY)
+ ./make_cata $(ASTER_ROOT)/ASTK/ASTK_SERV/bin/as_run
+
+astermodule:astermodule.so pyth
+ cp -rf astermodule.so bibpyt
+
+op0078.o:src/op0078.f
+ $(FC) -c -fpic $(FFLAGS) $(KERNEL_INCLUDES) src/op0078.f
+op0189.o:src/op0189.f
+ $(FC) -c -fpic $(FFLAGS) $(KERNEL_INCLUDES) src/op0189.f
+op0181.o:src/op0181.f
+ $(FC) -c -fpic $(FFLAGS) $(KERNEL_INCLUDES) src/op0181.f
+astermodule.so: $(OBJETS)
+ $(LD) -shared -o $@ $(OBJETS) $(KERNEL_LIBS) $(ASTER_LIBS)
+clean:
+ rm -rf *.o *.so bibpyt commande/cata.py*
--- /dev/null
+#& MODIF COMMANDE DATE 24/06/2002 AUTEUR F1BHHAJ J.ANGLES
+ECRIRE_MAILLAGE=PROC(nom="ECRIRE_MAILLAGE",op=78,
+ fr="Ecriture du maillage",
+ )
--- /dev/null
+#& MODIF COMMANDE DATE 24/06/2002 AUTEUR F1BHHAJ J.ANGLES
+LECTURE_FORCE=PROC(nom="LECTURE_FORCE",op=189,
+ fr="Lecture de la force",
+ )
+
--- /dev/null
+#& MODIF COMMANDE DATE 24/06/2002 AUTEUR F1BHHAJ J.ANGLES
+YACS_INIT=PROC(nom="YACS_INIT",op=181,
+ fr="Initialisation YACS",
+ COMPO=SIMP(statut='o',typ='I'),
+ )
+
--- /dev/null
+#!/bin/sh
+cat >make-cmd << END
+P debug nodebug
+P mode interactif
+P version NEW9
+P ncpus 1
+A args
+A memjeveux 16.0
+A tpmax 300
+P facmtps 1
+P corefilesize unlimited
+R capy ${PWD}/catalo D 0
+R cmde ${PWD}/commande DR 0
+P consbtc oui
+P soumbtc oui
+P actions make_cmde
+END
+
+
+$1 make-cmd
--- /dev/null
+ SUBROUTINE OP0078 ( IER )
+C ----------------------------------------------------------------------
+C CONFIGURATION MANAGEMENT OF EDF VERSION
+C MODIF ALGORITH DATE 17/06/2002 AUTEUR GNICOLAS G.NICOLAS
+C ======================================================================
+C COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
+C THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+C IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+C THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+C (AT YOUR OPTION) ANY LATER VERSION.
+C
+C THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+C WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+C MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+C GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+C
+C YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+C ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+C 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+C ======================================================================
+C COMMANDE: ECRIRE_MAILLAGE
+C
+ IMPLICIT NONE
+C
+ INTEGER IER
+C
+C --------- DEBUT COMMUNS NORMALISES JEVEUX --------------------------
+ INTEGER ZI
+ COMMON /IVARJE/ZI(1)
+ REAL*8 ZR
+ COMMON /RVARJE/ZR(1)
+ COMPLEX*16 ZC
+ COMMON /CVARJE/ZC(1)
+ LOGICAL ZL
+ COMMON /LVARJE/ZL(1)
+ CHARACTER*8 ZK8
+ CHARACTER*16 ZK16
+ CHARACTER*24 ZK24
+ CHARACTER*32 ZK32
+ CHARACTER*80 ZK80
+ COMMON /KVARJE/ZK8(1),ZK16(1),ZK24(1),ZK32(1),ZK80(1)
+C
+C -------------- FIN DECLARATIONS NORMALISEES JEVEUX ----------------
+C 0.3. ==> VARIABLES LOCALES
+C
+ CHARACTER*6 NOMPRO
+ PARAMETER ( NOMPRO = 'OP0078' )
+C
+ CHARACTER*8 MA
+C
+ INTEGER*4 info
+ INTEGER IFL,IAUX
+ COMMON/YACS/IFL
+ include 'calcium.hf'
+ real*8 tt,tp,t0,t1
+
+C
+C-----------------------------------------------------------------------
+C 1) ==> NOM DES STRUCTURES
+C-----------------------------------------------------------------------
+ write(6,*) '--> OP078 :',IFL
+C
+ t0=0.
+ t1=1.
+ tt=1.5
+ tp=2.3
+
+ CALL cpeDB(IFL,CP_TEMPS,t0,1,'ba',1,tt,info)
+ CALL cpeDB(IFL,CP_ITERATION,t0,1,'bb',1,tp,info)
+
+ call flush(6)
+
+ END
+
--- /dev/null
+ SUBROUTINE OP0181 ( IER )
+C ----------------------------------------------------------------------
+C CONFIGURATION MANAGEMENT OF EDF VERSION
+C MODIF ALGORITH DATE 17/06/2002 AUTEUR GNICOLAS G.NICOLAS
+C ======================================================================
+C COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
+C THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+C IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+C THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+C (AT YOUR OPTION) ANY LATER VERSION.
+C
+C THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+C WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+C MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+C GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+C
+C YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+C ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+C 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+C ======================================================================
+C COMMANDE: YACS_INIT
+C
+ IMPLICIT NONE
+C
+ INTEGER IER
+C
+
+C --------- DEBUT COMMUNS NORMALISES JEVEUX --------------------------
+ INTEGER ZI
+ COMMON /IVARJE/ZI(1)
+ REAL*8 ZR
+ COMMON /RVARJE/ZR(1)
+ COMPLEX*16 ZC
+ COMMON /CVARJE/ZC(1)
+ LOGICAL ZL
+ COMMON /LVARJE/ZL(1)
+ CHARACTER*8 ZK8
+ CHARACTER*16 ZK16
+ CHARACTER*24 ZK24
+ CHARACTER*32 ZK32
+ CHARACTER*80 ZK80
+ COMMON /KVARJE/ZK8(1),ZK16(1),ZK24(1),ZK32(1),ZK80(1)
+C
+C -------------- FIN DECLARATIONS NORMALISEES JEVEUX ----------------
+C 0.3. ==> VARIABLES LOCALES
+C
+ CHARACTER*6 NOMPRO
+ PARAMETER ( NOMPRO = 'OP0181' )
+C
+ CHARACTER*8 MA,DM,NOMG,MODELE, NOMA
+C
+ INTEGER N1,NDIM
+ CHARACTER*8 CHAR
+ CHARACTER*16 GROUPE
+ CHARACTER*16 TYPE, OPER
+ CHARACTER*4 FONREE
+ CHARACTER*19 LIGRCH, LIGRMO
+ INTEGER IGREL, INEMA, IRET, IATYPE,NBVAL
+ LOGICAL LIMPR, LINFO, GETEXM
+ INTEGER IAUX,IFL
+ COMMON/YACS/IFL
+ include 'calcium.hf'
+
+ CALL GETVIS(' ','COMPO',0,1,1,IFL,IAUX)
+ write(6,*)IFL
+C
+ END
+
--- /dev/null
+ SUBROUTINE OP0189 ( IER )
+C ----------------------------------------------------------------------
+C CONFIGURATION MANAGEMENT OF EDF VERSION
+C MODIF ALGORITH DATE 17/06/2002 AUTEUR GNICOLAS G.NICOLAS
+C ======================================================================
+C COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
+C THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+C IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+C THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+C (AT YOUR OPTION) ANY LATER VERSION.
+C
+C THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+C WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+C MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+C GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+C
+C YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+C ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+C 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+C ======================================================================
+C COMMANDE: LECTURE_FORCE
+C
+ IMPLICIT NONE
+C
+ INTEGER IER
+C
+
+C --------- DEBUT COMMUNS NORMALISES JEVEUX --------------------------
+ INTEGER ZI
+ COMMON /IVARJE/ZI(1)
+ REAL*8 ZR
+ COMMON /RVARJE/ZR(1)
+ COMPLEX*16 ZC
+ COMMON /CVARJE/ZC(1)
+ LOGICAL ZL
+ COMMON /LVARJE/ZL(1)
+ CHARACTER*8 ZK8
+ CHARACTER*16 ZK16
+ CHARACTER*24 ZK24
+ CHARACTER*32 ZK32
+ CHARACTER*80 ZK80
+ COMMON /KVARJE/ZK8(1),ZK16(1),ZK24(1),ZK32(1),ZK80(1)
+C
+C -------------- FIN DECLARATIONS NORMALISEES JEVEUX ----------------
+C 0.3. ==> VARIABLES LOCALES
+C
+ CHARACTER*6 NOMPRO
+ PARAMETER ( NOMPRO = 'OP0198' )
+C
+ CHARACTER*8 MA,DM,NOMG,MODELE, NOMA
+C
+ INTEGER N1,NDIM
+ CHARACTER*8 CHAR
+ CHARACTER*16 GROUPE
+ CHARACTER*16 TYPE, OPER
+ CHARACTER*4 FONREE
+ CHARACTER*19 LIGRCH, LIGRMO
+ INTEGER IGREL, INEMA, IRET, IATYPE,NBVAL
+ LOGICAL LIMPR, LINFO, GETEXM
+ INTEGER*4 NIV,IFM,iter,info,n,zn
+ INTEGER IAUX,IFL
+ COMMON/YACS/IFL
+ include 'calcium.hf'
+ real*8 tt,tp,t0,t1,ss,zz
+ real yr
+ CHARACTER*8 tch(2)
+ real tcp(2)
+ integer*4 tlo(3)
+
+ write(6,*) '--> OP196 '
+ write(6,*)IFL
+C
+ t0=0.
+ t1=1.
+ iter=1
+
+
+ ss=0.
+ CALL cpldb(IFL,CP_TEMPS,t0,t1,iter,'aa',1,n,ss,info)
+ write(6,*)"apres cpldb(aa) ",info,ss
+ call flush(6)
+
+ zz=0.
+ CALL cpldb(IFL,CP_ITERATION,t0,t1,iter,'ab',1,n,zz,info)
+ write(6,*)"apres cpldb(ab) ",info,zz
+ call flush(6)
+ CALL cplen(IFL,CP_ITERATION,t0,t1,iter,'ac',1,n,zn,info)
+ write(6,*)"apres cplen(ac) ",info,zn
+ call flush(6)
+ CALL cplre(IFL,CP_ITERATION,t0,t1,iter,'ad',1,n,yr,info)
+ write(6,*)"apres cplre(ad) ",info,yr
+ call flush(6)
+ CALL cplch(IFL,CP_ITERATION,t0,t1,iter,'ae',1,n,tch,info)
+ write(6,*)"apres cplch(ae) ",info,tch(1)
+ call flush(6)
+ CALL cplcp(IFL,CP_ITERATION,t0,t1,iter,'af',1,n,tcp,info)
+ write(6,*)"apres cplcp(af) ",info,tcp(1),tcp(2)
+ call flush(6)
+ CALL cpllo(IFL,CP_ITERATION,t0,t1,iter,'ag',3,n,tlo,info)
+ write(6,*)"apres cpllo(ag) ",info,tlo(1),tlo(2),tlo(3)
+ call flush(6)
+
+C-----------------------------------------------------------------------
+ END
+
--- /dev/null
+A Code_Aster standalone component (in executable form)
+===========================================================
+
+To build this example, modify the files components.py, fcompo/Makefile, myaster/config.txt, myaster/Makefile
+to take into account your configuration.
+
+1- your prerequisite file
+2- your KERNEL_ROOT_DIR
+3- your Code_Aster installation
+
+Then set the environment (including PYTHONPATH for YACGEN, ../.. from here and execute components.py ::
+
+ source <your prerequisite file>
+
+process components.py ::
+
+ python components.py
+
+You should get a SALOME module in source form (pycompos_SRC), its installation (install) and
+a SALOME application (appli) composed of modules KERNEL, GUI, YACS and pycompos.
+
+Build the fcompo library ::
+
+ cd fcompo
+ make
+
+Build the Code_Aster library ::
+
+ cd myaster
+ make
+
+To run a coupling:
+
+ 1. start SALOME in background : ./appli/runAppli -t
+ 2. start a SALOME session : ./appli/runSession
+ 3. start YACS coupler with coupling file : driver coupling.xml
+ 4. examine output files in /tmp
+ 5. shutdown SALOME : shutdowSalome.py
+ 6. exit session : CTRL-D (or exit)
--- /dev/null
+"""
+ Example with one Code_Aster component and one fortran component
+"""
+import os
+from module_generator import Generator,Module,ASTERComponent,Service,F77Component
+
+context={'update':1,"prerequisites":"/local/cchris/.packages.d/envSalome50",
+ "kernel":"/local/chris/SALOME2/RELEASES/Install/KERNEL_V5"}
+aster_home="/local/chris/ASTER/instals"
+aster_root=os.path.join(aster_home,"NEW9")
+asrun=os.path.join(aster_home,"ASTK/ASTK_SERV/bin/as_run")
+
+fcompodir=os.path.join(os.getcwd(),"fcompo")
+myasterdir=os.path.join(os.getcwd(),"myaster","bibpyt")
+install_prefix="./install"
+appli_dir="appli"
+export="""F exec %s D 0
+R cmde %s D 0
+""" % (os.path.join(os.getcwd(),"myaster","aster.exe"),os.path.join(os.getcwd(),"myaster","commande"))
+
+c1=ASTERComponent("caster",services=[
+ Service("s1",inport=[("argv","string"),("a","double"),("b","long"),("c","string")],
+ outport=[("d","double")],
+ instream=[("aa","CALCIUM_double","T"),("ab","CALCIUM_double","I"),
+ ("ac","CALCIUM_integer","I"),("ad","CALCIUM_real","I"),
+ ("ae","CALCIUM_string","I"),("af","CALCIUM_complex","I"),
+ ("ag","CALCIUM_logical","I"),
+ ],
+ outstream=[("ba","CALCIUM_double","T"),("bb","CALCIUM_double","I")],
+ ),
+ ],
+ aster_dir=aster_root,
+ exe_path=os.path.join(os.getcwd(),"exeaster"),
+ asrun=asrun,
+ kind="exe",
+ export_extras=export,
+ )
+
+c2=F77Component("cfort",services=[
+ Service("s1",inport=[("a","double"),("b","long"),("c","string")],
+ outport=[("d","double"),("e","long"),("f","string")],
+ instream=[("a","CALCIUM_double","T"),("b","CALCIUM_double","I")],
+ outstream=[("ba","CALCIUM_double","T"),("bb","CALCIUM_double","I"),
+ ("bc","CALCIUM_integer","I"),("bd","CALCIUM_real","I"),
+ ("be","CALCIUM_string","I"),("bf","CALCIUM_complex","I"),
+ ("bg","CALCIUM_logical","I"),
+ ],
+ defs="",body="",
+ ),
+ ],
+ kind="exe",
+ exe_path=os.path.join(fcompodir,"prog"),
+ )
+
+g=Generator(Module("astmod",components=[c1,c2],prefix=install_prefix),context)
+g.generate()
+g.bootstrap()
+g.configure()
+g.make()
+g.install()
+g.make_appli(appli_dir,restrict=["KERNEL","GUI","YACS"])
--- /dev/null
+<proc>
+
+<container name="A">
+</container>
+
+<container name="B">
+</container>
+
+<datanode name="datain">
+ <parameter name="f1" type="double">
+ <value><double>23</double> </value>
+ </parameter>
+</datanode>
+
+<service name="node1" >
+ <component>caster</component>
+ <method>s1</method>
+ <load container="A"/>
+ <inport name="jdc" type="string"/>
+ <inport name="argv" type="string"/>
+ <inport name="a" type="double"/>
+ <inport name="b" type="int"/>
+ <inport name="c" type="string"/>
+ <outport name="fort:8" type="file"/>
+ <outport name="d" type="double"/>
+ <instream name="aa" type="CALCIUM_double"/>
+ <instream name="ab" type="CALCIUM_double"/>
+ <instream name="ac" type="CALCIUM_integer"/>
+ <instream name="ad" type="CALCIUM_real"/>
+ <instream name="ae" type="CALCIUM_string"/>
+ <instream name="af" type="CALCIUM_complex"/>
+ <instream name="ag" type="CALCIUM_logical"/>
+ <outstream name="ba" type="CALCIUM_double"/>
+ <outstream name="bb" type="CALCIUM_double"/>
+</service>
+
+<service name="node2" >
+ <component>cfort</component>
+ <method>s1</method>
+ <load container="B"/>
+ <inport name="a" type="double"/>
+ <inport name="b" type="int"/>
+ <inport name="c" type="string"/>
+ <outport name="d" type="double"/>
+ <outport name="e" type="int"/>
+ <outport name="f" type="string"/>
+ <instream name="a" type="CALCIUM_double"/>
+ <instream name="b" type="CALCIUM_double"/>
+ <outstream name="ba" type="CALCIUM_double"/>
+ <outstream name="bb" type="CALCIUM_double"/>
+ <outstream name="bc" type="CALCIUM_integer"/>
+ <outstream name="bd" type="CALCIUM_real"/>
+ <outstream name="be" type="CALCIUM_string"/>
+ <outstream name="bf" type="CALCIUM_complex"/>
+ <outstream name="bg" type="CALCIUM_logical"/>
+</service>
+
+<inline name="node98" >
+ <script>
+ <code>print "dans python node:",p1</code>
+ </script>
+ <inport name="p1" type="double"/>
+</inline>
+
+<inline name="ljdc" >
+ <script>
+ <code>f=open(comm)</code>
+ <code>jdc=f.read()</code>
+ <code>f.close()</code>
+ </script>
+ <inport name="comm" type="string"/>
+ <outport name="jdc" type="string"/>
+</inline>
+
+<outnode name="dataout" >
+ <parameter name="f1" type="file" ref="monfichier"/>
+</outnode>
+
+<!--datalinks -->
+<stream>
+<fromnode>node1</fromnode><fromport>ba</fromport>
+<tonode>node2</tonode><toport>a</toport>
+</stream>
+<stream>
+<fromnode>node1</fromnode><fromport>bb</fromport>
+<tonode>node2</tonode><toport>b</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>ba</fromport>
+<tonode>node1</tonode><toport>aa</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bb</fromport>
+<tonode>node1</tonode><toport>ab</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bc</fromport>
+<tonode>node1</tonode><toport>ac</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bd</fromport>
+<tonode>node1</tonode><toport>ad</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>be</fromport>
+<tonode>node1</tonode><toport>ae</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bf</fromport>
+<tonode>node1</tonode><toport>af</toport>
+</stream>
+<stream>
+<fromnode>node2</fromnode><fromport>bg</fromport>
+<tonode>node1</tonode><toport>ag</toport>
+</stream>
+
+<datalink>
+ <fromnode>node1</fromnode><fromport>fort:8</fromport>
+ <tonode>dataout</tonode> <toport>f1</toport>
+</datalink>
+<datalink>
+ <fromnode>node1</fromnode><fromport>d</fromport>
+ <tonode>node98</tonode> <toport>p1</toport>
+</datalink>
+<datalink>
+ <fromnode>datain</fromnode><fromport>f1</fromport>
+ <tonode>node2</tonode> <toport>a</toport>
+</datalink>
+<datalink>
+ <fromnode>ljdc</fromnode><fromport>jdc</fromport>
+ <tonode>node1</tonode> <toport>jdc</toport>
+</datalink>
+
+<parameter>
+ <tonode>node1</tonode> <toport>a</toport>
+ <value><double>23</double> </value>
+</parameter>
+<parameter>
+ <tonode>node1</tonode> <toport>b</toport>
+ <value><int>23</int> </value>
+</parameter>
+<parameter>
+ <tonode>node1</tonode> <toport>c</toport>
+ <value><string>hello</string> </value>
+</parameter>
+
+<parameter>
+ <tonode>node2</tonode> <toport>b</toport>
+ <value><int>23</int> </value>
+</parameter>
+<parameter>
+ <tonode>node2</tonode> <toport>c</toport>
+ <value><string>hello</string> </value>
+</parameter>
+
+<parameter>
+ <tonode>ljdc</tonode> <toport>comm</toport>
+ <value><string>f.comm</string> </value>
+</parameter>
+
+<parameter>
+ <tonode>node1</tonode> <toport>argv</toport>
+ <value><string>-memjeveux 4 </string> </value>
+</parameter>
+
+</proc>
+
--- /dev/null
+print a,b,c
+YACS_INIT(COMPO=component)
+
+ECRIRE_MAILLAGE()
+LECTURE_FORCE()
+
+d=36.5
+
--- /dev/null
+
+FC=g77
+
+KERNEL_ROOT_DIR=/local/chris/SALOME2/RELEASES/Install/KERNEL_V5
+
+all:prog
+prog:compo.o
+ $(FC) -o prog compo.o -L../install/lib/salome -lcfortExelib
+compo.o:compo.f
+ $(FC) -c compo.f -I$(KERNEL_ROOT_DIR)/include/salome -fexceptions
+
+clean:
+ rm -rf *.o prog
+
--- /dev/null
+ PROGRAM P
+ CALL YACSINIT()
+ END
+
+ SUBROUTINE S1(compo,A,B,C,D,E,F)
+ include 'calcium.hf'
+ integer compo
+ real*8 a,d(*),tt,tp,t0,t1,ss,zz
+ integer b,e,dep,np
+ character*(*) c,f
+ character*8 tch(2)
+ real yd
+ real tcp(2)
+ integer tlo(3)
+
+ open(UNIT=22,FILE='SORTIES')
+ write(6,*)a,b,c,compo
+ call flush(6)
+
+ t0=0.
+ t1=1.
+ iter=1
+
+ tt=1.5
+ tp=2.3
+ np=12
+ yd=4.3
+ tch(1)="coucou"
+ tcp(1)=2.
+ tcp(2)=4.
+ tlo(1)=0
+ tlo(2)=1
+ tlo(3)=0
+ CALL cpeDB(compo,CP_TEMPS,t0,1,'ba',1,tt,info)
+ CALL cpeDB(compo,CP_ITERATION,t0,1,'bb',1,tp,info)
+ CALL cpeen(compo,CP_ITERATION,t0,1,'bc',1,np,info)
+ CALL cpere(compo,CP_ITERATION,t0,1,'bd',1,yd,info)
+ CALL cpech(compo,CP_ITERATION,t0,1,'be',1,tch,info)
+ CALL cpecp(compo,CP_ITERATION,t0,1,'bf',1,tcp,info)
+ CALL cpelo(compo,CP_ITERATION,t0,1,'bg',3,tlo,info)
+
+ ss=0.
+ CALL cpldb(compo,CP_TEMPS,t0,t1,iter,'a',1,n,ss,info)
+ write(6,*)"apres cpldb(a) ",info,ss
+ call flush(6)
+
+ zz=0.
+ CALL cpldb(compo,CP_ITERATION,t0,t1,iter,'b',1,n,zz,info)
+ write(6,*)"apres cpldb(b) ",info,zz
+ call flush(6)
+
+ d(1)=4.5
+ e=3
+ f="zzzzzzzzzzzzzzz"
+ write(6,*)d(1),e,f
+ call flush(6)
+ write(22,*)d(1),e,f
+ call flush(22)
+ END
+
+ SUBROUTINE S2(compo,A,B,C)
+ integer compo
+ real*8 a,b,c
+ write(6,*)a,b
+ call flush(6)
+ c=a*b
+ write(6,*)c
+ call flush(6)
+ END
+
+ SUBROUTINE S3(compo)
+ include 'calcium.hf'
+ integer compo
+ real*8 tt,tp,t0,t1,ss,zz
+ integer iter,n,info,zn
+ CHARACTER*8 tch(2)
+ real tcp(2)
+ integer tlo(3)
+
+ t0=0.
+ t1=1.
+ tt=1.5
+ tp=2.3
+
+ CALL cpeDB(compo,CP_TEMPS,t0,1,'ba',1,tt,info)
+ CALL cpeDB(compo,CP_ITERATION,t0,1,'bb',1,tp,info)
+ call flush(6)
+ t0=0.
+ t1=1.
+ iter=1
+
+
+ ss=0.
+ CALL cpldb(compo,CP_TEMPS,t0,t1,iter,'aa',1,n,ss,info)
+ write(6,*)"apres cpldb(aa) ",info,ss
+ call flush(6)
+
+ zz=0.
+ CALL cpldb(compo,CP_ITERATION,t0,t1,iter,'ab',1,n,zz,info)
+ write(6,*)"apres cpldb(ab) ",info,zz
+ call flush(6)
+
+ CALL cplen(compo,CP_ITERATION,t0,t1,iter,'ac',1,n,zn,info)
+ write(6,*)"apres cplen(ac) ",info,zn
+ call flush(6)
+ CALL cplre(compo,CP_ITERATION,t0,t1,iter,'ad',1,n,yr,info)
+ write(6,*)"apres cplre(ad) ",info,yr
+ call flush(6)
+ CALL cplch(compo,CP_ITERATION,t0,t1,iter,'ae',1,n,tch,info)
+ write(6,*)"apres cplch(ae) ",info,tch(1)
+ call flush(6)
+ CALL cplcp(compo,CP_ITERATION,t0,t1,iter,'af',1,n,tcp,info)
+ write(6,*)"apres cplcp(af) ",info,tcp(1),tcp(2)
+ call flush(6)
+ CALL cpllo(compo,CP_ITERATION,t0,t1,iter,'ag',3,n,tlo,info)
+ write(6,*)"apres cpllo(ag) ",info,tlo(1),tlo(2),tlo(3)
+ call flush(6)
+
+ END
+
--- /dev/null
+
+#ASTER
+ASTER_ROOT=/local/chris/ASTER/instals
+
+aster.exe:
+ ./make_exec $(ASTER_ROOT)/ASTK/ASTK_SERV/bin/as_run
+
--- /dev/null
+#& MODIF COMMANDE DATE 24/06/2002 AUTEUR F1BHHAJ J.ANGLES
+ECRIRE_MAILLAGE=PROC(nom="ECRIRE_MAILLAGE",op=78,
+ fr="Ecriture du maillage",
+ )
--- /dev/null
+#& MODIF COMMANDE DATE 24/06/2002 AUTEUR F1BHHAJ J.ANGLES
+LECTURE_FORCE=PROC(nom="LECTURE_FORCE",op=189,
+ fr="Lecture de la force",
+ )
+
--- /dev/null
+#& MODIF COMMANDE DATE 24/06/2002 AUTEUR F1BHHAJ J.ANGLES
+YACS_INIT=PROC(nom="YACS_INIT",op=181,
+ fr="Initialisation YACS",
+ COMPO=SIMP(statut='o',typ='I'),
+ )
+
--- /dev/null
+# Configuration file
+# $Id$
+# $Name$
+#
+# Fields are separated by a " | " (the space is significative)
+#
+# Keywords :
+# ENV_SH : environment script (absolute filename or relative to current directory)
+# LIB : archiver
+# BIBL : librairies linked with Code_Aster (with options -L/-l eventually)
+# PYTHON : Python binary
+# LINK : linker command
+# OPTL : linker options
+# CC : C compiler command
+# OPTC_D : C compiler options using DEBUG mode
+# OPTC_O : C compiler options using NODEBUG mode
+# INCL : C include flags
+# F77 : Fortran compiler command
+# OPTF_D : Fortran compiler options using DEBUG mode
+# OPTF_O : Fortran compiler options using NODEBUG mode
+# INCLF : Fortran include flags
+# F90 : Fortran 90 compiler command
+# OPTF90_D : Fortran 90 compiler options using DEBUG mode
+# OPTF90_O : Fortran 90 compiler options using NODEBUG mode
+# INCLF90 : Fortran 90 include flags
+# G77_AGLA : used only for configuration management of EDF version
+# SUPERV : Code_Aster Python packages
+# REPPY : name of 'bibpyt' in the temporary execution directory
+# ARGPYT : main python module
+# ARGEXE : arguments passed to Code_Aster executable
+# REPOUT : tools directory
+# MAKE_SURCH_OFFI/MAKE_CAPY_OFFI : Python modules to compiling elements catalogs
+# CRP / CRS : tools to check source files and programming rules
+#
+ENV_SH | env | - | /local/chris/ASTER/instals/NEW9/profile.sh
+#
+LIB | ar | ? | /usr/bin/ar -rv
+#
+#BIBL | python | 2.4 | -L/usr/lib/python2.4/config -lpython2.4
+BIBL | python | 2.4 | -lpython2.4
+BIBL | med | 2.3.5 | -Wl,-R -Wl,/local/chris/pkg/med235/install/lib -L/local/chris/pkg/med235/install/lib -lmed
+BIBL | hdf5 | 1.6.5 | -lhdf5
+BIBL | sys | ? | -Wl,--allow-multiple-definition -Wl,--export-dynamic -lieee -ldl -lpthread -lutil -lm /usr/lib/libz.a
+BIBL | mpi | 2 | -lmpi
+BIBL | zmat | 8.3 |
+BIBL | mumps | 4.3.2 |
+BIBL | scotch | 4.0 | -L/local/chris/ASTER/instals/public/scotch_4.0/bin -lscotch -lcommon -lscotcherr -lscotcherrcom
+BIBL | math | ? | /usr/lib/liblapack.a /usr/lib/libblas.a /usr/lib/libg2c.a
+BIBL | salome | ? | -L/local/chris/SALOME2/RELEASES/Install/KERNEL_V5/lib/salome -lCalciumC -lSalomeDSCSuperv -lSalomeDSCContainer -lSalomeDatastream -lSalomeDSCSupervBasic -Wl,--rpath -Wl,/local/chris/SALOME2/RELEASES/Install/KERNEL_V5/lib/salome
+#
+NOBUILD | option | ? | bibfor/from_c
+#
+PYTHON | python | 2.4 | /usr/bin/python
+#
+LINK | link | ? | /usr/bin/g77
+OPTL | link | ? | -v
+#
+CC | cc | ? | /usr/bin/gcc
+#OPTC_D | cc | ? | -c -g -DP_LINUX -D_USE_MPI
+OPTC_D | cc | ? | -c -g -DP_LINUX
+#OPTC_O | cc | ? | -c -O2 -DP_LINUX -D_USE_MPI
+OPTC_O | cc | ? | -c -O2 -DP_LINUX
+INCL | include | ? | -I/local/chris/ASTER/instals/NEW9/bibc/include -I/usr/include/python2.4 -I/usr/include -I/usr/include/lam -I/local/chris/ASTER/instals/public/scotch_4.0/bin
+#
+F77 | f77 | ? | /usr/bin/g77
+OPTF_D | f77 | ? | -c -g
+OPTF_O | f77 | ? | -c -O2 -I/usr/include/lam
+INCLF | include | ? | -I/local/chris/SALOME2/RELEASES/Install/KERNEL_V5/include/salome
+#
+F90 | f90 | ? |
+OPTF90_D | f90 | ? | -c -g
+OPTF90_O | f90 | ? | -c -O2
+INCLF90 | include | ? |
+#
+G77_AGLA | g77 | ? | unused
+#
+SRCFOR | src | 11-04 | bibfor
+#SRCF90 | src | 11-04 | bibf90
+SRCFERM | src | 11-04 | fermetur
+SRCC | src | 11-04 | bibc
+SRCPY | src | 11-04 | bibpyt
+SRCCATA | src | 11-04 | catalo
+SRCCAPY | src | 11-04 | catapy
+SRCTEST | src | 11-04 | astest
+SRCMAT | src | 11-04 | materiau
+SRCHIST | src | 11-04 | histor
+#
+MAKE | build | - | debug nodebug
+BIN_NODBG | bin | 11-04 | asteru
+BIN_DBG | bin | 11-04 | asterd
+BINCMDE | bin | 11-04 | commande
+BINELE | bin | 11-04 | elements
+BINPICKLED | bin | 11-04 | cata_ele.pickled
+BINLIB_NODBG | bin | 11-04 | lib/libaster.a
+BINLIB_DBG | bin | 11-04 | lib/libasterd.a
+BINLIBF_NODBG | bin | 02-05 | lib/libferm.a
+BINLIBF_DBG | bin | 02-05 | lib/libfermd.a
+BINOBJ_NODBG | bin | 11-04 | obj/aster
+BINOBJF_NODBG | bin | 11-04 | obj/ferm
+BINOBJ_DBG | bin | 11-04 | obj/asterd
+BINOBJF_DBG | bin | 11-04 | obj/fermd
+#
+REPPY | exec | 11-04 | Python
+ARGPYT | exec | 03-02 | Execution/E_SUPERV.py
+ARGEXE | exec | 03-02 | -eficas_path ./Python
+#
+MAKE_SURCH_OFFI | build | 11-04 | Lecture_Cata_Ele/make_surch_offi.py
+MAKE_CAPY_OFFI | build | 11-04 | Lecture_Cata_Ele/make_capy_offi.py
+#
+REPOUT | exec | 11-04 | /local/chris/ASTER/instals/outils
+REPMAT | exec | 02-05 | /local/chris/ASTER/instals/NEW9/materiau
+REPDEX | exec | 02-05 | /local/chris/ASTER/instals/NEW9/datg
+#
+SUPERV | exec | 03-02 | Accas
+SUPERV | exec | 03-02 | Build
+SUPERV | exec | 03-02 | Execution
+SUPERV | exec | 03-02 | Macro
+SUPERV | exec | 03-02 | Messages
+SUPERV | exec | 03-02 | Noyau
+SUPERV | exec | 03-02 | Stanley
+SUPERV | exec | 03-02 | Utilitai
+SUPERV | exec | 03-02 | Validation
+#
+GZIP | tool | ? | ?GZIP?
+CRP | tool | ? | /local/chris/ASTER/instals/outils/CRPCRS/crp_aster.sh
+CRS | tool | ? | /local/chris/ASTER/instals/outils/CRPCRS/crs.sh
+#
+I18N | i18n | - |
--- /dev/null
+#!/bin/sh
+cat >make-exe << END
+P actions make_exec
+P actions make_cmde
+P version NEW9
+P nomjob forma01a
+P ncpus 1
+A memjeveux 4.000000
+P mem_aster 100
+A tpmax 60
+P memjob 32768
+P mpi_nbcpu 1
+P mpi_nbnoeud 1
+P tpsjob 1
+P mode batch
+P soumbtc oui
+P consbtc oui
+
+R f ${PWD}/src D 0
+F exec ${PWD}/aster.exe DR 0
+F conf ${PWD}/config.txt D 0
+R capy ${PWD}/catalo D 0
+R cmde ${PWD}/commande DR 0
+END
+
+
+$1 make-exe
--- /dev/null
+ SUBROUTINE OP0078 ( IER )
+C ----------------------------------------------------------------------
+C CONFIGURATION MANAGEMENT OF EDF VERSION
+C MODIF ALGORITH DATE 17/06/2002 AUTEUR GNICOLAS G.NICOLAS
+C ======================================================================
+C COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
+C THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+C IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+C THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+C (AT YOUR OPTION) ANY LATER VERSION.
+C
+C THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+C WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+C MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+C GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+C
+C YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+C ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+C 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+C ======================================================================
+C COMMANDE: ECRIRE_MAILLAGE
+C
+ IMPLICIT NONE
+C
+ INTEGER IER
+C
+C --------- DEBUT COMMUNS NORMALISES JEVEUX --------------------------
+ INTEGER ZI
+ COMMON /IVARJE/ZI(1)
+ REAL*8 ZR
+ COMMON /RVARJE/ZR(1)
+ COMPLEX*16 ZC
+ COMMON /CVARJE/ZC(1)
+ LOGICAL ZL
+ COMMON /LVARJE/ZL(1)
+ CHARACTER*8 ZK8
+ CHARACTER*16 ZK16
+ CHARACTER*24 ZK24
+ CHARACTER*32 ZK32
+ CHARACTER*80 ZK80
+ COMMON /KVARJE/ZK8(1),ZK16(1),ZK24(1),ZK32(1),ZK80(1)
+C
+C -------------- FIN DECLARATIONS NORMALISEES JEVEUX ----------------
+C 0.3. ==> VARIABLES LOCALES
+C
+ CHARACTER*6 NOMPRO
+ PARAMETER ( NOMPRO = 'OP0078' )
+C
+ CHARACTER*8 MA
+C
+ INTEGER*4 info
+ INTEGER IFL,IAUX
+ COMMON/YACS/IFL
+ include 'calcium.hf'
+ real*8 tt,tp,t0,t1
+
+C
+C-----------------------------------------------------------------------
+C 1) ==> NOM DES STRUCTURES
+C-----------------------------------------------------------------------
+ write(6,*) '--> OP078 :',IFL
+C
+ t0=0.
+ t1=1.
+ tt=1.5
+ tp=2.3
+
+ CALL cpeDB(IFL,CP_TEMPS,t0,1,'ba',1,tt,info)
+ CALL cpeDB(IFL,CP_ITERATION,t0,1,'bb',1,tp,info)
+
+ call flush(6)
+
+ END
+
--- /dev/null
+ SUBROUTINE OP0181 ( IER )
+C ----------------------------------------------------------------------
+C CONFIGURATION MANAGEMENT OF EDF VERSION
+C MODIF ALGORITH DATE 17/06/2002 AUTEUR GNICOLAS G.NICOLAS
+C ======================================================================
+C COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
+C THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+C IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+C THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+C (AT YOUR OPTION) ANY LATER VERSION.
+C
+C THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+C WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+C MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+C GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+C
+C YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+C ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+C 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+C ======================================================================
+C COMMANDE: YACS_INIT
+C
+ IMPLICIT NONE
+C
+ INTEGER IER
+C
+
+C --------- DEBUT COMMUNS NORMALISES JEVEUX --------------------------
+ INTEGER ZI
+ COMMON /IVARJE/ZI(1)
+ REAL*8 ZR
+ COMMON /RVARJE/ZR(1)
+ COMPLEX*16 ZC
+ COMMON /CVARJE/ZC(1)
+ LOGICAL ZL
+ COMMON /LVARJE/ZL(1)
+ CHARACTER*8 ZK8
+ CHARACTER*16 ZK16
+ CHARACTER*24 ZK24
+ CHARACTER*32 ZK32
+ CHARACTER*80 ZK80
+ COMMON /KVARJE/ZK8(1),ZK16(1),ZK24(1),ZK32(1),ZK80(1)
+C
+C -------------- FIN DECLARATIONS NORMALISEES JEVEUX ----------------
+C 0.3. ==> VARIABLES LOCALES
+C
+ CHARACTER*6 NOMPRO
+ PARAMETER ( NOMPRO = 'OP0181' )
+C
+ CHARACTER*8 MA,DM,NOMG,MODELE, NOMA
+C
+ INTEGER N1,NDIM
+ CHARACTER*8 CHAR
+ CHARACTER*16 GROUPE
+ CHARACTER*16 TYPE, OPER
+ CHARACTER*4 FONREE
+ CHARACTER*19 LIGRCH, LIGRMO
+ INTEGER IGREL, INEMA, IRET, IATYPE,NBVAL
+ LOGICAL LIMPR, LINFO, GETEXM
+ INTEGER IAUX,IFL
+ COMMON/YACS/IFL
+ include 'calcium.hf'
+
+ CALL GETVIS(' ','COMPO',0,1,1,IFL,IAUX)
+ write(6,*)IFL
+C
+ END
+
--- /dev/null
+ SUBROUTINE OP0189 ( IER )
+C ----------------------------------------------------------------------
+C CONFIGURATION MANAGEMENT OF EDF VERSION
+C MODIF ALGORITH DATE 17/06/2002 AUTEUR GNICOLAS G.NICOLAS
+C ======================================================================
+C COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
+C THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+C IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+C THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+C (AT YOUR OPTION) ANY LATER VERSION.
+C
+C THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+C WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+C MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+C GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+C
+C YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+C ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+C 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+C ======================================================================
+C COMMANDE: LECTURE_FORCE
+C
+ IMPLICIT NONE
+C
+ INTEGER IER
+C
+
+C --------- DEBUT COMMUNS NORMALISES JEVEUX --------------------------
+ INTEGER ZI
+ COMMON /IVARJE/ZI(1)
+ REAL*8 ZR
+ COMMON /RVARJE/ZR(1)
+ COMPLEX*16 ZC
+ COMMON /CVARJE/ZC(1)
+ LOGICAL ZL
+ COMMON /LVARJE/ZL(1)
+ CHARACTER*8 ZK8
+ CHARACTER*16 ZK16
+ CHARACTER*24 ZK24
+ CHARACTER*32 ZK32
+ CHARACTER*80 ZK80
+ COMMON /KVARJE/ZK8(1),ZK16(1),ZK24(1),ZK32(1),ZK80(1)
+C
+C -------------- FIN DECLARATIONS NORMALISEES JEVEUX ----------------
+C 0.3. ==> VARIABLES LOCALES
+C
+ CHARACTER*6 NOMPRO
+ PARAMETER ( NOMPRO = 'OP0198' )
+C
+ CHARACTER*8 MA,DM,NOMG,MODELE, NOMA
+C
+ INTEGER N1,NDIM
+ CHARACTER*8 CHAR
+ CHARACTER*16 GROUPE
+ CHARACTER*16 TYPE, OPER
+ CHARACTER*4 FONREE
+ CHARACTER*19 LIGRCH, LIGRMO
+ INTEGER IGREL, INEMA, IRET, IATYPE,NBVAL
+ LOGICAL LIMPR, LINFO, GETEXM
+ INTEGER*4 NIV,IFM,iter,info,n,zn
+ INTEGER IAUX,IFL
+ COMMON/YACS/IFL
+ include 'calcium.hf'
+ real*8 tt,tp,t0,t1,ss,zz
+ real yr
+ CHARACTER*8 tch(2)
+ real tcp(2)
+ integer*4 tlo(3)
+
+ write(6,*) '--> OP196 '
+ write(6,*)IFL
+C
+ t0=0.
+ t1=1.
+ iter=1
+
+
+ ss=0.
+ CALL cpldb(IFL,CP_TEMPS,t0,t1,iter,'aa',1,n,ss,info)
+ write(6,*)"apres cpldb(aa) ",info,ss
+ call flush(6)
+
+ zz=0.
+ CALL cpldb(IFL,CP_ITERATION,t0,t1,iter,'ab',1,n,zz,info)
+ write(6,*)"apres cpldb(ab) ",info,zz
+ call flush(6)
+ CALL cplen(IFL,CP_ITERATION,t0,t1,iter,'ac',1,n,zn,info)
+ write(6,*)"apres cplen(ac) ",info,zn
+ call flush(6)
+ CALL cplre(IFL,CP_ITERATION,t0,t1,iter,'ad',1,n,yr,info)
+ write(6,*)"apres cplre(ad) ",info,yr
+ call flush(6)
+ CALL cplch(IFL,CP_ITERATION,t0,t1,iter,'ae',1,n,tch,info)
+ write(6,*)"apres cplch(ae) ",info,tch(1)
+ call flush(6)
+ CALL cplcp(IFL,CP_ITERATION,t0,t1,iter,'af',1,n,tcp,info)
+ write(6,*)"apres cplcp(af) ",info,tcp(1),tcp(2)
+ call flush(6)
+ CALL cpllo(IFL,CP_ITERATION,t0,t1,iter,'ag',3,n,tlo,info)
+ write(6,*)"apres cpllo(ag) ",info,tlo(1),tlo(2),tlo(3)
+ call flush(6)
+
+C-----------------------------------------------------------------------
+ END
+
+A C++ component dynamically loadable
+=========================================
+
To build this example, modify the components.py file
to take into account your configuration.
-To build this example, modify the components.py file
+A C++ standalone component (executable form)
+=================================================
+
+To build this example, modify the components.py and Makefile files
to take into account your configuration.
1- your prerequisite file
You should get a SALOME module in source form (cppcompos_SRC), its installation (install) and
a SALOME application (appli) composed of modules KERNEL, GUI, YACS and cppcompos.
+To build the standalone component, run::
+
+ make
+
To run a coupling:
1. start SALOME in background : ./appli/runAppli -t
-A Fortran component
-======================
+A Fortran component dynamically loadable
+=============================================
To build this example, modify the components.py and Makefile files
to take into account your configuration.
python components.py
-You should get a SALOME module in source form (fcompos_SRC), its installation (Installfort) and
+You should get a SALOME module in source form (fcompos_SRC), its installation (install) and
a SALOME application (appli) composed of modules KERNEL, GUI, YACS and fcompos.
To run a coupling:
-A Fortran component
-======================
+A Fortran standalone component
+=================================
To build this example, modify the components.py and Makefile files
to take into account your configuration.
source <your prerequisite file>
-Build the code1 et code2 libraries ::
-
- make
-
and process components.py ::
python components.py
-You should get a SALOME module in source form (fcompos_SRC), its installation (Installfort) and
+You should get a SALOME module in source form (fcompos_SRC), its installation (install) and
a SALOME application (appli) composed of modules KERNEL, GUI, YACS and fcompos.
+Build the code1 et code2 executables ::
+
+ make
+
To run a coupling:
1. start SALOME in background : ./appli/runAppli -t
-A Python component
-====================
+A Python component dynamically loadable
+===============================================
To build this example, modify the components.py file
to take into account your configuration.
-A Python component
-====================
+A Python standalone component (in executable form)
+=======================================================
To build this example, modify the components.py file
to take into account your configuration.
-include Examples/fort1/code1.f Examples/fort1/code2.f Examples/fort1/components.py Examples/fort1/coupling.xml Examples/fort1/Makefile Examples/fort1/README.txt
-include Examples/cpp1/components.py Examples/cpp1/coupling.xml Examples/cpp1/README.txt
-include Examples/pyth1/components.py Examples/pyth1/coupling.xml Examples/pyth1/README.txt
-include Examples/fort2/code1.f Examples/fort2/code2.f Examples/fort2/components.py Examples/fort2/coupling.xml Examples/fort2/Makefile Examples/fort2/README.txt
-include Examples/cpp2/components.py Examples/cpp2/coupling.xml Examples/cpp2/README.txt Examples/cpp2/Makefile Examples/cpp2/prog.cxx
-include Examples/pyth2/components.py Examples/pyth2/coupling.xml Examples/pyth2/README.txt
-
+recursive-include Examples/fort1 *.f components.py coupling.xml Makefile README.txt
+recursive-include Examples/cpp1 components.py coupling.xml README.txt
+recursive-include Examples/pyth1 *.py coupling.xml README.txt
+recursive-include Examples/fort2 *.f components.py coupling.xml Makefile README.txt
+recursive-include Examples/cpp2 components.py coupling.xml README.txt Makefile prog.cxx
+recursive-include Examples/pyth2 components.py coupling.xml README.txt
+recursive-include Examples/ast1 components.py coupling.xml f.comm README.txt
+recursive-include Examples/ast1/fcompo compo.f Makefile
+recursive-include Examples/ast1/myaster Makefile make_cata src/*.f catalo/*.capy
+recursive-include Examples/ast2 components.py coupling.xml f.comm README.txt
+recursive-include Examples/ast2/fcompo compo.f Makefile
+recursive-include Examples/ast2/myaster Makefile make_exec config.txt src/*.f catalo/*.capy