~ubuntu-branches/ubuntu/precise/code-saturne/precise

« back to all changes in this revision

Viewing changes to extras/salome/fsi_yacs_scheme.xml

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2011-11-01 17:43:32 UTC
  • mto: (6.1.7 sid)
  • mto: This revision was merged to the branch mainline in revision 11.
  • Revision ID: package-import@ubuntu.com-20111101174332-tl4vk45no0x3emc3
Tags: upstream-2.1.0
ImportĀ upstreamĀ versionĀ 2.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!-- XML file defining the YACS coupling scheme for Code_Aster / Code_Saturne coupling -->
 
2
<proc>
 
3
  <!-- =========================================================== -->
 
4
  <!-- Declaration of types used (seems to be useless since 2008)  -->
 
5
  <!-- =========================================================== -->
 
6
 
 
7
  <!-- <objref name="CALCIUM_integer"/> -->
 
8
  <!-- <objref name="CALCIUM_double"/> -->
 
9
  <!-- <objref name="CALCIUM_string"/> -->
 
10
 
 
11
  <!-- =========================================================== -->
 
12
  <!-- Container creation - one per component                      -->
 
13
  <!-- =========================================================== -->
 
14
 
 
15
  <container name="FSI_ASTER">
 
16
    <property name="workingdir" value= "@AST_WORKINGDIR@"/>
 
17
  </container>
 
18
 
 
19
  <container name="FSI_MILIEU">
 
20
    <property name="workingdir" value= "@COCAS_WORKINGDIR@"/>
 
21
  </container>
 
22
 
 
23
  <container name="FSI_SATURNE">
 
24
    <property name="workingdir" value= "@CFD_WORKINGDIR@"/>
 
25
  </container>
 
26
 
 
27
  <!-- =========================================================== -->
 
28
  <!-- Service creation for the supervisor                         -->
 
29
  <!-- =========================================================== -->
 
30
 
 
31
  <service name="inter_service" >
 
32
    <component>FSI_MILIEU</component>
 
33
    <method>inter_run</method>
 
34
    <load container="FSI_MILIEU"/>
 
35
 
 
36
    <!-- Declare input parameters -->
 
37
    <inport name="NBPDTM" type="int"/>    <!-- maximum iteration number -->
 
38
    <inport name="NBSSIT" type="int"/>    <!-- number of sub-iterations -->
 
39
    <inport name="ISYNCP" type="int"/>    <!-- fluid-structure post-treatment synchronisation -->
 
40
    <inport name="NTCHR" type="int"/>     <!-- output frequency -->
 
41
    <inport name="DTREF" type="double"/>  <!-- reference time-step -->
 
42
    <inport name="TTINIT" type="double"/> <!-- initial time -->
 
43
    <inport name="EPSILO" type="double"/> <!-- convergence threshold -->
 
44
 
 
45
    <!-- Declare I/O -->
 
46
    <outstream name="DTCALC" type="CALCIUM_double"/>  <!-- current time-step (given by supervisor) -->
 
47
    <outstream name="EPSILO" type="CALCIUM_double"/>  <!-- convergence threshold -->
 
48
    <outstream name="TTINIT" type="CALCIUM_double"/>  <!-- initial time -->
 
49
    <outstream name="PDTREF" type="CALCIUM_double"/>  <!-- reference time-step -->
 
50
    <outstream name="DEPSAT" type="CALCIUM_double"/>  <!-- structure displacement (supervisor->Saturne) -->
 
51
    <outstream name="FORAST" type="CALCIUM_double"/>  <!-- structure load (supervisor->Aster) -->
 
52
    <outstream name="NBPDTM" type="CALCIUM_integer"/> <!-- maximum iteration number -->
 
53
    <outstream name="NBSSIT" type="CALCIUM_integer"/> <!-- number of sub-iterations -->
 
54
    <outstream name="ISYNCP" type="CALCIUM_integer"/> <!-- fluid-structure post-treatment synchronisation -->
 
55
    <outstream name="NTCHRO" type="CALCIUM_integer"/> <!-- output frequency -->
 
56
    <outstream name="ICVEXT" type="CALCIUM_integer"/> <!-- convergence indicator send to Saturne -->
 
57
    <outstream name="ICVAST" type="CALCIUM_integer"/> <!-- convergence indicator send to Aster -->
 
58
    <outstream name="NB_DYN" type="CALCIUM_integer"/> <!-- number of coupled nodes (Aster->supervisor) -->
 
59
    <outstream name="NB_FOR" type="CALCIUM_integer"/> <!-- number of coupled faces (Aster->supervisor) -->
 
60
 
 
61
    <instream name="ALMAXI" type="CALCIUM_double"/>  <!-- characteristic length (given by Saturne) -->
 
62
    <instream name="DTSAT" type="CALCIUM_double"/>   <!-- Saturne time step -->
 
63
    <instream name="DTAST" type="CALCIUM_double"/>   <!-- Aster time step -->
 
64
    <instream name="DEPAST" type="CALCIUM_double"/>  <!-- structure displacement (Aster->supervisor) -->
 
65
    <instream name="VITAST" type="CALCIUM_double"/>  <!-- structure velocity (Aster->supervisor) -->
 
66
    <instream name="FORSAT" type="CALCIUM_double"/>  <!-- structure load (Saturne->supervisor) -->
 
67
    <instream name="DONGEO" type="CALCIUM_integer"/> <!-- array containing number of coupled [faces,nodes] (Saturne->supervisor) -->
 
68
    <instream name="ICV" type="CALCIUM_integer"/>    <!-- convergence indicator received from Saturne -->
 
69
  </service>
 
70
 
 
71
  <!-- =========================================================== -->
 
72
  <!-- Service creation for Code_Saturne                           -->
 
73
  <!-- =========================================================== -->
 
74
 
 
75
  <service name="fluid_service" >
 
76
    <component>FSI_SATURNE</component>
 
77
    <method>run</method>
 
78
    <load container="FSI_SATURNE"/>
 
79
 
 
80
    <!-- Declare input parameters -->
 
81
    <inport name="app_name" type="string"/>
 
82
    <inport name="verbosity" type='long' />
 
83
    <outport name="retval" type='long' />            <!-- return value -->
 
84
 
 
85
    <!-- Declare I/O -->
 
86
    <outstream name="DTSAT" type="CALCIUM_double"/>   <!-- Saturne time step -->
 
87
    <outstream name="FORSAT" type="CALCIUM_double"/>  <!-- structure load (Saturne->supervisor) -->
 
88
    <outstream name="ALMAXI" type="CALCIUM_double"/>  <!-- characteristic length (given by Saturne) -->
 
89
    <outstream name="COONOD" type="CALCIUM_double"/>  <!-- coupled node coordinates -->
 
90
    <outstream name="COOFAC" type="CALCIUM_double"/>  <!-- coupled face coordinates -->
 
91
    <outstream name="ICV" type="CALCIUM_integer"/>    <!-- convergence indicator received from Saturne -->
 
92
    <outstream name="DONGEO" type="CALCIUM_integer"/> <!-- array containing number of coupled [faces,nodes] (Saturne->supervisor) -->
 
93
    <outstream name="COLNOD" type="CALCIUM_integer"/> <!-- coupled node colors -->
 
94
    <outstream name="COLFAC" type="CALCIUM_integer"/> <!-- coupled face colors -->
 
95
 
 
96
    <instream name="DEPSAT" type="CALCIUM_double"/>  <!-- structure displacement (supervisor->Saturne) -->
 
97
    <instream name="EPSILO" type="CALCIUM_double"/>  <!-- convergence threshold -->
 
98
    <instream name="DTCALC" type="CALCIUM_double"/>  <!-- current time-step (given by supervisor) -->
 
99
    <instream name="TTINIT" type="CALCIUM_double"/>  <!-- initial time -->
 
100
    <instream name="PDTREF" type="CALCIUM_double"/>  <!-- reference time-step -->
 
101
    <instream name="NBPDTM" type="CALCIUM_integer"/> <!-- maximum iteration number -->
 
102
    <instream name="NBSSIT" type="CALCIUM_integer"/> <!-- number of sub-iterations -->
 
103
    <instream name="ICVEXT" type="CALCIUM_integer"/> <!-- convergence indicator send to supervisor -->
 
104
  </service>
 
105
 
 
106
  <!-- ====================================================== -->
 
107
  <!-- Service creation for Code_Aster                        -->
 
108
  <!-- ====================================================== -->
 
109
 
 
110
  <!-- Remark: the keyword 'aster' cannot be used since it is -->
 
111
  <!-- already used for some other purposes by Salome         -->
 
112
 
 
113
  <service name="solid_service" >
 
114
    <component>FSI_ASTER</component>
 
115
 
 
116
    <!-- The subroutine 'op0117' is the entry point in Code_Aster -->
 
117
    <method>op0117</method>
 
118
    <load container="FSI_ASTER"/>
 
119
 
 
120
    <!-- Declare input parameters -->
 
121
    <inport name="jdc" type="string"/>   <!-- command file -->
 
122
    <inport name="fort:20" type="file"/> <!-- mesh file -->
 
123
 
 
124
    <!-- Declare I/O -->
 
125
    <outstream name="DEPAST" type="CALCIUM_double"/> <!-- structure displacement (Aster->supervisor) -->
 
126
    <outstream name="VITAST" type="CALCIUM_double"/> <!-- structure velocity (Aster->supervisor) -->
 
127
    <outstream name="DTAST" type="CALCIUM_double"/>  <!-- Aster time step -->
 
128
 
 
129
    <instream name="DTCALC" type="CALCIUM_double"/>  <!-- current time-step (given by supervisor) -->
 
130
    <instream name="NB_DYN" type="CALCIUM_integer"/> <!-- number of coupled nodes (Aster->supervisor) -->
 
131
    <instream name="NB_FOR" type="CALCIUM_integer"/> <!-- number of coupled faces (Aster->supervisor) -->
 
132
    <instream name="COONOD" type="CALCIUM_double"/>  <!-- coupled node coordinates -->
 
133
    <instream name="COOFAC" type="CALCIUM_double"/>  <!-- coupled face coordinates -->
 
134
    <instream name="COLNOD" type="CALCIUM_integer"/> <!-- coupled node colors -->
 
135
    <instream name="COLFAC" type="CALCIUM_integer"/> <!-- coupled face colors -->
 
136
    <instream name="NBPDTM" type="CALCIUM_integer"/> <!-- maximum iteration number -->
 
137
    <instream name="NBSSIT" type="CALCIUM_integer"/> <!-- number of sub-iterations -->
 
138
    <instream name="EPSILO" type="CALCIUM_double"/>  <!-- convergence threshold -->
 
139
    <instream name="ISYNCP" type="CALCIUM_integer"/> <!-- fluid-structure post-treatment synchronisation -->
 
140
    <instream name="NTCHRO" type="CALCIUM_integer"/> <!-- output frequency -->
 
141
    <instream name="TTINIT" type="CALCIUM_double"/>  <!-- initial time -->
 
142
    <instream name="PDTREF" type="CALCIUM_double"/>  <!-- reference time-step -->
 
143
    <instream name="FORAST" type="CALCIUM_double"/>  <!-- structure load (supervisor->Aster) -->
 
144
    <instream name="ICVAST" type="CALCIUM_integer"/> <!-- convergence indicator send to supervisor -->
 
145
  </service>
 
146
 
 
147
  <!-- =========================================================== -->
 
148
  <!-- Component used to load Code_Aster command file              -->
 
149
  <!-- =========================================================== -->
 
150
 
 
151
  <!-- A small Python script that loads the Aster command file,    -->
 
152
  <!-- taking as input the name of the command file and whose      -->
 
153
  <!-- output is linked to the Code_Aster component                -->
 
154
 
 
155
  <inline name="ljdc" >
 
156
    <script>
 
157
      <!-- open and read the Code_Aster command file -->
 
158
      <code>f=open(comm)</code>
 
159
      <code>jdc=f.read()</code>
 
160
      <code>f.close()</code>
 
161
    </script>
 
162
    <inport name="comm" type="string"/> <!-- Code_Aster command file name -->
 
163
    <outport name="jdc" type="string"/> <!-- Code_Aster command listing -->
 
164
  </inline>
 
165
 
 
166
  <!-- =========================================================== -->
 
167
  <!-- Declare the connections between the components              -->
 
168
  <!-- =========================================================== -->
 
169
 
 
170
  <!-- Supervisor -->
 
171
  <stream>
 
172
    <fromnode>inter_service</fromnode><fromport>DTCALC</fromport>
 
173
    <tonode>solid_service</tonode><toport>DTCALC</toport>
 
174
    <property name="StorageLevel" value="10"/>
 
175
  </stream>
 
176
 
 
177
  <stream>
 
178
    <fromnode>inter_service</fromnode><fromport>DTCALC</fromport>
 
179
    <tonode>fluid_service</tonode><toport>DTCALC</toport>
 
180
    <property name="StorageLevel" value="10"/>
 
181
  </stream>
 
182
 
 
183
  <stream>
 
184
    <fromnode>inter_service</fromnode><fromport>EPSILO</fromport>
 
185
    <tonode>solid_service</tonode><toport>EPSILO</toport>
 
186
    <property name="StorageLevel" value="10"/>
 
187
  </stream>
 
188
 
 
189
  <stream>
 
190
    <fromnode>inter_service</fromnode><fromport>EPSILO</fromport>
 
191
    <tonode>fluid_service</tonode><toport>EPSILO</toport>
 
192
    <property name="StorageLevel" value="10"/>
 
193
  </stream>
 
194
 
 
195
  <stream>
 
196
    <fromnode>inter_service</fromnode><fromport>TTINIT</fromport>
 
197
    <tonode>solid_service</tonode><toport>TTINIT</toport>
 
198
    <property name="StorageLevel" value="10"/>
 
199
  </stream>
 
200
 
 
201
  <stream>
 
202
    <fromnode>inter_service</fromnode><fromport>TTINIT</fromport>
 
203
    <tonode>fluid_service</tonode><toport>TTINIT</toport>
 
204
    <property name="StorageLevel" value="10"/>
 
205
  </stream>
 
206
 
 
207
  <stream>
 
208
    <fromnode>inter_service</fromnode><fromport>PDTREF</fromport>
 
209
    <tonode>solid_service</tonode><toport>PDTREF</toport>
 
210
    <property name="StorageLevel" value="10"/>
 
211
  </stream>
 
212
 
 
213
  <stream>
 
214
    <fromnode>inter_service</fromnode><fromport>PDTREF</fromport>
 
215
    <tonode>fluid_service</tonode><toport>PDTREF</toport>
 
216
    <property name="StorageLevel" value="10"/>
 
217
  </stream>
 
218
 
 
219
  <stream>
 
220
    <fromnode>inter_service</fromnode><fromport>DEPSAT</fromport>
 
221
    <tonode>fluid_service</tonode><toport>DEPSAT</toport>
 
222
    <property name="StorageLevel" value="10"/>
 
223
  </stream>
 
224
 
 
225
  <stream>
 
226
    <fromnode>inter_service</fromnode><fromport>FORAST</fromport>
 
227
    <tonode>solid_service</tonode><toport>FORAST</toport>
 
228
    <property name="StorageLevel" value="10"/>
 
229
  </stream>
 
230
 
 
231
  <stream>
 
232
    <fromnode>inter_service</fromnode><fromport>NBPDTM</fromport>
 
233
    <tonode>solid_service</tonode><toport>NBPDTM</toport>
 
234
    <property name="StorageLevel" value="10"/>
 
235
  </stream>
 
236
  <stream>
 
237
    <fromnode>inter_service</fromnode><fromport>NBPDTM</fromport>
 
238
    <tonode>fluid_service</tonode><toport>NBPDTM</toport>
 
239
    <property name="StorageLevel" value="10"/>
 
240
  </stream>
 
241
 
 
242
  <stream>
 
243
    <fromnode>inter_service</fromnode><fromport>NBSSIT</fromport>
 
244
    <tonode>solid_service</tonode><toport>NBSSIT</toport>
 
245
    <property name="StorageLevel" value="10"/>
 
246
  </stream>
 
247
  <stream>
 
248
    <fromnode>inter_service</fromnode><fromport>NBSSIT</fromport>
 
249
    <tonode>fluid_service</tonode><toport>NBSSIT</toport>
 
250
    <property name="StorageLevel" value="10"/>
 
251
  </stream>
 
252
 
 
253
  <stream>
 
254
    <fromnode>inter_service</fromnode><fromport>ISYNCP</fromport>
 
255
    <tonode>solid_service</tonode><toport>ISYNCP</toport>
 
256
    <property name="StorageLevel" value="10"/>
 
257
  </stream>
 
258
 
 
259
  <stream>
 
260
    <fromnode>inter_service</fromnode><fromport>NTCHRO</fromport>
 
261
    <tonode>solid_service</tonode><toport>NTCHRO</toport>
 
262
    <property name="StorageLevel" value="10"/>
 
263
  </stream>
 
264
 
 
265
  <stream>
 
266
    <fromnode>inter_service</fromnode><fromport>ICVEXT</fromport>
 
267
    <tonode>fluid_service</tonode><toport>ICVEXT</toport>
 
268
    <property name="StorageLevel" value="10"/>
 
269
  </stream>
 
270
 
 
271
  <stream>
 
272
    <fromnode>inter_service</fromnode><fromport>ICVAST</fromport>
 
273
    <tonode>solid_service</tonode><toport>ICVAST</toport>
 
274
    <property name="StorageLevel" value="10"/>
 
275
  </stream>
 
276
 
 
277
  <stream>
 
278
    <fromnode>inter_service</fromnode><fromport>NB_DYN</fromport>
 
279
    <tonode>solid_service</tonode><toport>NB_DYN</toport>
 
280
    <property name="StorageLevel" value="10"/>
 
281
  </stream>
 
282
 
 
283
  <stream>
 
284
    <fromnode>inter_service</fromnode><fromport>NB_FOR</fromport>
 
285
    <tonode>solid_service</tonode><toport>NB_FOR</toport>
 
286
    <property name="StorageLevel" value="10"/>
 
287
  </stream>
 
288
 
 
289
  <!-- Code_Saturne -->
 
290
   <stream>
 
291
    <fromnode>fluid_service</fromnode><fromport>DTSAT</fromport>
 
292
    <tonode>inter_service</tonode><toport>DTSAT</toport>
 
293
    <property name="StorageLevel" value="10"/>
 
294
  </stream>
 
295
 
 
296
  <stream>
 
297
    <fromnode>fluid_service</fromnode><fromport>FORSAT</fromport>
 
298
    <tonode>inter_service</tonode><toport>FORSAT</toport>
 
299
    <property name="StorageLevel" value="10"/>
 
300
  </stream>
 
301
 
 
302
  <stream>
 
303
    <fromnode>fluid_service</fromnode><fromport>ALMAXI</fromport>
 
304
    <tonode>inter_service</tonode><toport>ALMAXI</toport>
 
305
    <property name="StorageLevel" value="10"/>
 
306
  </stream>
 
307
 
 
308
  <stream>
 
309
    <fromnode>fluid_service</fromnode><fromport>COONOD</fromport>
 
310
    <tonode>solid_service</tonode><toport>COONOD</toport>
 
311
    <property name="StorageLevel" value="10"/>
 
312
  </stream>
 
313
 
 
314
  <stream>
 
315
    <fromnode>fluid_service</fromnode><fromport>COOFAC</fromport>
 
316
    <tonode>solid_service</tonode><toport>COOFAC</toport>
 
317
    <property name="StorageLevel" value="10"/>
 
318
  </stream>
 
319
 
 
320
  <stream>
 
321
    <fromnode>fluid_service</fromnode><fromport>ICV</fromport>
 
322
    <tonode>inter_service</tonode><toport>ICV</toport>
 
323
    <property name="StorageLevel" value="10"/>
 
324
  </stream>
 
325
 
 
326
  <stream>
 
327
    <fromnode>fluid_service</fromnode><fromport>DONGEO</fromport>
 
328
    <tonode>inter_service</tonode><toport>DONGEO</toport>
 
329
    <property name="StorageLevel" value="10"/>
 
330
  </stream>
 
331
 
 
332
  <stream>
 
333
    <fromnode>fluid_service</fromnode><fromport>COLNOD</fromport>
 
334
    <tonode>solid_service</tonode><toport>COLNOD</toport>
 
335
    <property name="StorageLevel" value="10"/>
 
336
  </stream>
 
337
 
 
338
  <stream>
 
339
    <fromnode>fluid_service</fromnode><fromport>COLFAC</fromport>
 
340
    <tonode>solid_service</tonode><toport>COLFAC</toport>
 
341
    <property name="StorageLevel" value="10"/>
 
342
  </stream>
 
343
 
 
344
  <!-- Code_Aster -->
 
345
   <stream>
 
346
    <fromnode>solid_service</fromnode><fromport>DEPAST</fromport>
 
347
    <tonode>inter_service</tonode><toport>DEPAST</toport>
 
348
    <property name="StorageLevel" value="10"/>
 
349
  </stream>
 
350
 
 
351
  <stream>
 
352
    <fromnode>solid_service</fromnode><fromport>VITAST</fromport>
 
353
    <tonode>inter_service</tonode><toport>VITAST</toport>
 
354
    <property name="StorageLevel" value="10"/>
 
355
  </stream>
 
356
 
 
357
  <stream>
 
358
    <fromnode>solid_service</fromnode><fromport>DTAST</fromport>
 
359
    <tonode>inter_service</tonode><toport>DTAST</toport>
 
360
    <property name="StorageLevel" value="10"/>
 
361
  </stream>
 
362
 
 
363
  <!-- Code_Aster command file loader -->
 
364
  <datalink>
 
365
    <fromnode>ljdc</fromnode><fromport>jdc</fromport>
 
366
    <tonode>solid_service</tonode><toport>jdc</toport>
 
367
  </datalink>
 
368
 
 
369
  <!-- =========================================================== -->
 
370
  <!-- Define the various parameters of the coupling scheme        -->
 
371
  <!-- =========================================================== -->
 
372
 
 
373
  <!-- Code_Aster parameters -->
 
374
  <parameter>
 
375
    <tonode>solid_service</tonode> <toport>fort:20</toport>
 
376
    <value><objref>@AST_MAIL@</objref> </value>
 
377
  </parameter>
 
378
 
 
379
  <!-- Code_Saturne parameters -->
 
380
  <parameter>
 
381
    <tonode>fluid_service</tonode> <toport>app_name</toport>
 
382
    <value><string>Fluid Domain</string></value>
 
383
  </parameter>
 
384
  <parameter>
 
385
    <tonode>fluid_service</tonode> <toport>verbosity</toport>
 
386
    <value><int>2</int></value>
 
387
  </parameter>
 
388
 
 
389
  <!-- Supervisor parameters -->
 
390
  <parameter>
 
391
    <tonode>inter_service</tonode> <toport>NBPDTM</toport>
 
392
    <value><int>@NBPDTM@</int></value>
 
393
  </parameter>
 
394
  <parameter>
 
395
    <tonode>inter_service</tonode> <toport>NBSSIT</toport>
 
396
    <value><int>@NBSSIT@</int></value>
 
397
  </parameter>
 
398
  <parameter>
 
399
    <tonode>inter_service</tonode> <toport>ISYNCP</toport>
 
400
    <value><int>0</int></value>
 
401
  </parameter>
 
402
  <parameter>
 
403
    <tonode>inter_service</tonode> <toport>NTCHR</toport>
 
404
    <value><int>-1</int></value>
 
405
  </parameter>
 
406
  <parameter>
 
407
    <tonode>inter_service</tonode> <toport>DTREF</toport>
 
408
    <value><double>@DTREF@</double></value>
 
409
  </parameter>
 
410
  <parameter>
 
411
    <tonode>inter_service</tonode> <toport>TTINIT</toport>
 
412
    <value><double>@TTINIT@</double></value>
 
413
  </parameter>
 
414
  <parameter>
 
415
    <tonode>inter_service</tonode> <toport>EPSILO</toport>
 
416
    <value><double>@EPSILO@</double></value>
 
417
  </parameter>
 
418
 
 
419
  <!-- Code_Aster command file loader parameters -->
 
420
  <parameter>
 
421
    <tonode>ljdc</tonode><toport>comm</toport>
 
422
    <value><string>@COMM_FNAME@</string> </value>
 
423
  </parameter>
 
424
 
 
425
</proc>