]> SALOME platform Git repositories - tools/yacsgen.git/commitdiff
Salome HOME
CCAR: add two examples with Code_Aster : ast1 and ast2
authorcaremoli <caremoli>
Mon, 26 Jan 2009 15:37:58 +0000 (15:37 +0000)
committercaremoli <caremoli>
Mon, 26 Jan 2009 15:37:58 +0000 (15:37 +0000)
36 files changed:
Examples/ast1/README.txt [new file with mode: 0644]
Examples/ast1/components.py [new file with mode: 0644]
Examples/ast1/coupling.xml [new file with mode: 0644]
Examples/ast1/f.comm [new file with mode: 0644]
Examples/ast1/fcompo/Makefile [new file with mode: 0644]
Examples/ast1/fcompo/compo.f [new file with mode: 0644]
Examples/ast1/myaster/Makefile [new file with mode: 0644]
Examples/ast1/myaster/catalo/ecrire_maillage.capy [new file with mode: 0644]
Examples/ast1/myaster/catalo/lecture_force.capy [new file with mode: 0644]
Examples/ast1/myaster/catalo/yacs_init.capy [new file with mode: 0644]
Examples/ast1/myaster/make_cata [new file with mode: 0755]
Examples/ast1/myaster/src/op0078.f [new file with mode: 0644]
Examples/ast1/myaster/src/op0181.f [new file with mode: 0644]
Examples/ast1/myaster/src/op0189.f [new file with mode: 0644]
Examples/ast2/README.txt [new file with mode: 0644]
Examples/ast2/components.py [new file with mode: 0644]
Examples/ast2/coupling.xml [new file with mode: 0644]
Examples/ast2/f.comm [new file with mode: 0644]
Examples/ast2/fcompo/Makefile [new file with mode: 0644]
Examples/ast2/fcompo/compo.f [new file with mode: 0644]
Examples/ast2/myaster/Makefile [new file with mode: 0644]
Examples/ast2/myaster/catalo/ecrire_maillage.capy [new file with mode: 0644]
Examples/ast2/myaster/catalo/lecture_force.capy [new file with mode: 0644]
Examples/ast2/myaster/catalo/yacs_init.capy [new file with mode: 0644]
Examples/ast2/myaster/config.txt [new file with mode: 0644]
Examples/ast2/myaster/make_exec [new file with mode: 0755]
Examples/ast2/myaster/src/op0078.f [new file with mode: 0644]
Examples/ast2/myaster/src/op0181.f [new file with mode: 0644]
Examples/ast2/myaster/src/op0189.f [new file with mode: 0644]
Examples/cpp1/README.txt
Examples/cpp2/README.txt
Examples/fort1/README.txt
Examples/fort2/README.txt
Examples/pyth1/README.txt
Examples/pyth2/README.txt
MANIFEST.in

diff --git a/Examples/ast1/README.txt b/Examples/ast1/README.txt
new file mode 100644 (file)
index 0000000..6feb349
--- /dev/null
@@ -0,0 +1,39 @@
+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)
diff --git a/Examples/ast1/components.py b/Examples/ast1/components.py
new file mode 100644 (file)
index 0000000..9c7847c
--- /dev/null
@@ -0,0 +1,52 @@
+"""
+ 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"])
diff --git a/Examples/ast1/coupling.xml b/Examples/ast1/coupling.xml
new file mode 100644 (file)
index 0000000..080da6e
--- /dev/null
@@ -0,0 +1,168 @@
+<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>
+
diff --git a/Examples/ast1/f.comm b/Examples/ast1/f.comm
new file mode 100644 (file)
index 0000000..d4a4ae6
--- /dev/null
@@ -0,0 +1,9 @@
+print a,b,c
+DEBUT(PAR_LOT="NON")
+YACS_INIT(COMPO=component)
+
+ECRIRE_MAILLAGE()
+LECTURE_FORCE()
+
+d=36.5
+
diff --git a/Examples/ast1/fcompo/Makefile b/Examples/ast1/fcompo/Makefile
new file mode 100644 (file)
index 0000000..ce601fe
--- /dev/null
@@ -0,0 +1,16 @@
+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
+
diff --git a/Examples/ast1/fcompo/compo.f b/Examples/ast1/fcompo/compo.f
new file mode 100644 (file)
index 0000000..7abff52
--- /dev/null
@@ -0,0 +1,116 @@
+       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
+
diff --git a/Examples/ast1/myaster/Makefile b/Examples/ast1/myaster/Makefile
new file mode 100644 (file)
index 0000000..4419fdb
--- /dev/null
@@ -0,0 +1,52 @@
+#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*
diff --git a/Examples/ast1/myaster/catalo/ecrire_maillage.capy b/Examples/ast1/myaster/catalo/ecrire_maillage.capy
new file mode 100644 (file)
index 0000000..ae2de30
--- /dev/null
@@ -0,0 +1,4 @@
+#& MODIF COMMANDE  DATE 24/06/2002   AUTEUR F1BHHAJ J.ANGLES
+ECRIRE_MAILLAGE=PROC(nom="ECRIRE_MAILLAGE",op=78,
+                     fr="Ecriture du maillage",
+                    )
diff --git a/Examples/ast1/myaster/catalo/lecture_force.capy b/Examples/ast1/myaster/catalo/lecture_force.capy
new file mode 100644 (file)
index 0000000..6bdbd0b
--- /dev/null
@@ -0,0 +1,5 @@
+#& MODIF COMMANDE  DATE 24/06/2002   AUTEUR F1BHHAJ J.ANGLES
+LECTURE_FORCE=PROC(nom="LECTURE_FORCE",op=189,
+                   fr="Lecture de la force",
+                  ) 
+
diff --git a/Examples/ast1/myaster/catalo/yacs_init.capy b/Examples/ast1/myaster/catalo/yacs_init.capy
new file mode 100644 (file)
index 0000000..9cb950e
--- /dev/null
@@ -0,0 +1,6 @@
+#& 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'),
+                  ) 
+
diff --git a/Examples/ast1/myaster/make_cata b/Examples/ast1/myaster/make_cata
new file mode 100755 (executable)
index 0000000..37ef2fe
--- /dev/null
@@ -0,0 +1,20 @@
+#!/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
diff --git a/Examples/ast1/myaster/src/op0078.f b/Examples/ast1/myaster/src/op0078.f
new file mode 100644 (file)
index 0000000..f4d950c
--- /dev/null
@@ -0,0 +1,74 @@
+      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
+
diff --git a/Examples/ast1/myaster/src/op0181.f b/Examples/ast1/myaster/src/op0181.f
new file mode 100644 (file)
index 0000000..573617a
--- /dev/null
@@ -0,0 +1,68 @@
+      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
+
diff --git a/Examples/ast1/myaster/src/op0189.f b/Examples/ast1/myaster/src/op0189.f
new file mode 100644 (file)
index 0000000..9c669bd
--- /dev/null
@@ -0,0 +1,105 @@
+      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
+
diff --git a/Examples/ast2/README.txt b/Examples/ast2/README.txt
new file mode 100644 (file)
index 0000000..d117e11
--- /dev/null
@@ -0,0 +1,39 @@
+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)
diff --git a/Examples/ast2/components.py b/Examples/ast2/components.py
new file mode 100644 (file)
index 0000000..5f26dc7
--- /dev/null
@@ -0,0 +1,61 @@
+"""
+ 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"])
diff --git a/Examples/ast2/coupling.xml b/Examples/ast2/coupling.xml
new file mode 100644 (file)
index 0000000..95d944c
--- /dev/null
@@ -0,0 +1,167 @@
+<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>
+
diff --git a/Examples/ast2/f.comm b/Examples/ast2/f.comm
new file mode 100644 (file)
index 0000000..0a8524d
--- /dev/null
@@ -0,0 +1,8 @@
+print a,b,c
+YACS_INIT(COMPO=component)
+
+ECRIRE_MAILLAGE()
+LECTURE_FORCE()
+
+d=36.5
+
diff --git a/Examples/ast2/fcompo/Makefile b/Examples/ast2/fcompo/Makefile
new file mode 100644 (file)
index 0000000..fb7aa91
--- /dev/null
@@ -0,0 +1,14 @@
+
+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
+
diff --git a/Examples/ast2/fcompo/compo.f b/Examples/ast2/fcompo/compo.f
new file mode 100644 (file)
index 0000000..a4423e4
--- /dev/null
@@ -0,0 +1,120 @@
+       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
+
diff --git a/Examples/ast2/myaster/Makefile b/Examples/ast2/myaster/Makefile
new file mode 100644 (file)
index 0000000..7a7ea2c
--- /dev/null
@@ -0,0 +1,7 @@
+
+#ASTER
+ASTER_ROOT=/local/chris/ASTER/instals
+
+aster.exe:
+       ./make_exec $(ASTER_ROOT)/ASTK/ASTK_SERV/bin/as_run
+
diff --git a/Examples/ast2/myaster/catalo/ecrire_maillage.capy b/Examples/ast2/myaster/catalo/ecrire_maillage.capy
new file mode 100644 (file)
index 0000000..ae2de30
--- /dev/null
@@ -0,0 +1,4 @@
+#& MODIF COMMANDE  DATE 24/06/2002   AUTEUR F1BHHAJ J.ANGLES
+ECRIRE_MAILLAGE=PROC(nom="ECRIRE_MAILLAGE",op=78,
+                     fr="Ecriture du maillage",
+                    )
diff --git a/Examples/ast2/myaster/catalo/lecture_force.capy b/Examples/ast2/myaster/catalo/lecture_force.capy
new file mode 100644 (file)
index 0000000..6bdbd0b
--- /dev/null
@@ -0,0 +1,5 @@
+#& MODIF COMMANDE  DATE 24/06/2002   AUTEUR F1BHHAJ J.ANGLES
+LECTURE_FORCE=PROC(nom="LECTURE_FORCE",op=189,
+                   fr="Lecture de la force",
+                  ) 
+
diff --git a/Examples/ast2/myaster/catalo/yacs_init.capy b/Examples/ast2/myaster/catalo/yacs_init.capy
new file mode 100644 (file)
index 0000000..9cb950e
--- /dev/null
@@ -0,0 +1,6 @@
+#& 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'),
+                  ) 
+
diff --git a/Examples/ast2/myaster/config.txt b/Examples/ast2/myaster/config.txt
new file mode 100644 (file)
index 0000000..b7cbc4f
--- /dev/null
@@ -0,0 +1,128 @@
+# 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    | -     | 
diff --git a/Examples/ast2/myaster/make_exec b/Examples/ast2/myaster/make_exec
new file mode 100755 (executable)
index 0000000..351c97a
--- /dev/null
@@ -0,0 +1,27 @@
+#!/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
diff --git a/Examples/ast2/myaster/src/op0078.f b/Examples/ast2/myaster/src/op0078.f
new file mode 100644 (file)
index 0000000..f4d950c
--- /dev/null
@@ -0,0 +1,74 @@
+      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
+
diff --git a/Examples/ast2/myaster/src/op0181.f b/Examples/ast2/myaster/src/op0181.f
new file mode 100644 (file)
index 0000000..573617a
--- /dev/null
@@ -0,0 +1,68 @@
+      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
+
diff --git a/Examples/ast2/myaster/src/op0189.f b/Examples/ast2/myaster/src/op0189.f
new file mode 100644 (file)
index 0000000..9c669bd
--- /dev/null
@@ -0,0 +1,105 @@
+      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
+
index f012293e2eedaca0a50cd76b708cbf7a9790dd4e..efa5554ecce118e2eb631d4d6c693fa95fe7f240 100644 (file)
@@ -1,3 +1,6 @@
+A C++ component dynamically loadable
+=========================================
+
 To build this example, modify the components.py file
 to take into account your configuration.
 
index f012293e2eedaca0a50cd76b708cbf7a9790dd4e..38890cb377891e8619061255267c33908e2e846f 100644 (file)
@@ -1,4 +1,7 @@
-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 
@@ -12,6 +15,10 @@ Then set the environment (including PYTHONPATH for YACGEN, ../.. from here and e
 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
index 5cef309402cfc091fbcf1f4a92a2ce9c3fcf4d92..1d24124d3570cf2ae751ad3972f004c5a25ecc7c 100644 (file)
@@ -1,5 +1,5 @@
-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.
@@ -19,7 +19,7 @@ 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.
 
 To run a coupling:
index 5cef309402cfc091fbcf1f4a92a2ce9c3fcf4d92..f2ae7120b8c3be3333ce28e8216e430274044ee9 100644 (file)
@@ -1,5 +1,5 @@
-A Fortran component
-======================
+A Fortran standalone component
+=================================
 
 To build this example, modify the components.py and Makefile files
 to take into account your configuration.
@@ -11,17 +11,17 @@ Then set the environment (including PYTHONPATH for YACGEN, ../.. from here)::
 
   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
index 2f25931c67536565462f56eda4adc968847f4a29..54d263bd5d67df6c7e071a94fe2ebf3dd5f00079 100644 (file)
@@ -1,5 +1,5 @@
-A Python component
-====================
+A Python component dynamically loadable
+===============================================
 
 To build this example, modify the components.py file
 to take into account your configuration.
index 2f25931c67536565462f56eda4adc968847f4a29..706ee53f4339f1a69eca14e1e951505d3ec89478 100644 (file)
@@ -1,5 +1,5 @@
-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.
index 46117299f2d35a35c6c4e296c98c0fb44acfec69..91bab878122f517ff8cc6cf20959cfb314f557a4 100644 (file)
@@ -1,7 +1,12 @@
-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