~grm08/fluidity/hilbert-for-pyop2

« back to all changes in this revision

Viewing changes to tests_adj_list_error/Stokes_Subduction_VK_Case_1b/Stokes-Subduction-VK-Case-1b.flml

  • Committer: Mark Filipiak
  • Date: 2013-02-01 00:11:23 UTC
  • Revision ID: mjf@staffmail.ed.ac.uk-20130201001123-gdnjwchjd1qd47j9
And more.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version='1.0' encoding='utf-8'?>
2
 
<fluidity_options>
3
 
  <simulation_name>
4
 
    <string_value lines="1">VK_Case_1b</string_value>
5
 
  </simulation_name>
6
 
  <problem_type>
7
 
    <string_value lines="1">stokes</string_value>
8
 
  </problem_type>
9
 
  <geometry>
10
 
    <dimension>
11
 
      <integer_value rank="0">2</integer_value>
12
 
    </dimension>
13
 
    <mesh name="CoordinateMesh">
14
 
      <from_file file_name="Subduction_Mesh">
15
 
        <format name="triangle"/>
16
 
        <stat>
17
 
          <include_in_stat/>
18
 
        </stat>
19
 
      </from_file>
20
 
    </mesh>
21
 
    <mesh name="VelocityMesh">
22
 
      <from_mesh>
23
 
        <mesh name="CoordinateMesh"/>
24
 
        <mesh_shape>
25
 
          <polynomial_degree>
26
 
            <integer_value rank="0">2</integer_value>
27
 
          </polynomial_degree>
28
 
        </mesh_shape>
29
 
        <stat>
30
 
          <exclude_from_stat/>
31
 
        </stat>
32
 
      </from_mesh>
33
 
    </mesh>
34
 
    <quadrature>
35
 
      <degree>
36
 
        <integer_value rank="0">5</integer_value>
37
 
      </degree>
38
 
    </quadrature>
39
 
  </geometry>
40
 
  <io>
41
 
    <dump_format>
42
 
      <string_value>vtk</string_value>
43
 
    </dump_format>
44
 
    <dump_period_in_timesteps>
45
 
      <constant>
46
 
        <integer_value rank="0">0</integer_value>
47
 
      </constant>
48
 
    </dump_period_in_timesteps>
49
 
    <output_mesh name="CoordinateMesh"/>
50
 
    <stat>
51
 
      <output_at_start/>
52
 
    </stat>
53
 
    <detectors>
54
 
      <static_detector name="Temperature6060">
55
 
        <location>
56
 
          <real_value shape="2" dim1="dim" rank="1">60000. -60000.</real_value>
57
 
        </location>
58
 
      </static_detector>
59
 
      <static_detector name="Pressure_up">
60
 
        <location>
61
 
          <real_value shape="2" dim1="dim" rank="1">66000. -54000.</real_value>
62
 
        </location>
63
 
      </static_detector>
64
 
      <static_detector name="Pressure_down">
65
 
        <location>
66
 
          <real_value shape="2" dim1="dim" rank="1">594000. -354000.</real_value>
67
 
        </location>
68
 
      </static_detector>
69
 
      <detector_array name="TSlab">
70
 
        <number_of_detectors>
71
 
          <integer_value rank="0">36</integer_value>
72
 
        </number_of_detectors>
73
 
        <static/>
74
 
        <python>
75
 
          <string_value lines="20" type="code" language="python">def val(t):
76
 
  import numpy
77
 
  start = numpy.array([0, 0])
78
 
  end = numpy.array([210000, -210000])
79
 
  output = []
80
 
  for i in range(36):
81
 
    output.append(start + (float(i)/35) * end)
82
 
  return output</string_value>
83
 
        </python>
84
 
      </detector_array>
85
 
      <detector_array name="TWedge">
86
 
        <number_of_detectors>
87
 
          <integer_value rank="0">78</integer_value>
88
 
        </number_of_detectors>
89
 
        <static/>
90
 
        <python>
91
 
          <string_value lines="20" type="code" language="python">def val(t):
92
 
  output1 = []
93
 
  for i in range(12):
94
 
    for j in range(12):
95
 
        if i &gt;= j:
96
 
           output1.append([54000 + (float(i)/20) * 120000, -54000 + (float(j)/20) * (-120000)])
97
 
  return output1</string_value>
98
 
        </python>
99
 
      </detector_array>
100
 
      <fail_outside_domain/>
101
 
    </detectors>
102
 
  </io>
103
 
  <timestepping>
104
 
    <current_time>
105
 
      <real_value rank="0">0.0</real_value>
106
 
    </current_time>
107
 
    <timestep>
108
 
      <real_value rank="0">1e12</real_value>
109
 
    </timestep>
110
 
    <finish_time>
111
 
      <real_value rank="0">1e16</real_value>
112
 
    </finish_time>
113
 
    <adaptive_timestep>
114
 
      <requested_cfl>
115
 
        <real_value rank="0">5.0</real_value>
116
 
      </requested_cfl>
117
 
      <courant_number name="CFLNumber">
118
 
        <mesh name="CoordinateMesh"/>
119
 
      </courant_number>
120
 
      <increase_tolerance>
121
 
        <real_value rank="0">5</real_value>
122
 
      </increase_tolerance>
123
 
    </adaptive_timestep>
124
 
    <steady_state>
125
 
      <tolerance>
126
 
        <real_value rank="0">1e-3</real_value>
127
 
        <infinity_norm/>
128
 
      </tolerance>
129
 
    </steady_state>
130
 
  </timestepping>
131
 
  <material_phase name="Fluid">
132
 
    <scalar_field name="Pressure" rank="0">
133
 
      <prognostic>
134
 
        <mesh name="CoordinateMesh"/>
135
 
        <spatial_discretisation>
136
 
          <continuous_galerkin/>
137
 
        </spatial_discretisation>
138
 
        <reference_node>
139
 
          <integer_value rank="0">4</integer_value>
140
 
        </reference_node>
141
 
        <scheme>
142
 
          <poisson_pressure_solution>
143
 
            <string_value lines="1">never</string_value>
144
 
          </poisson_pressure_solution>
145
 
          <use_projection_method>
146
 
            <full_schur_complement>
147
 
              <inner_matrix name="FullMomentumMatrix">
148
 
                <solver>
149
 
                  <iterative_method name="cg"/>
150
 
                  <preconditioner name="mg"/>
151
 
                  <relative_error>
152
 
                    <real_value rank="0">1.0e-9</real_value>
153
 
                  </relative_error>
154
 
                  <max_iterations>
155
 
                    <integer_value rank="0">10000</integer_value>
156
 
                  </max_iterations>
157
 
                  <start_from_zero/>
158
 
                  <never_ignore_solver_failures/>
159
 
                  <diagnostics>
160
 
                    <monitors/>
161
 
                  </diagnostics>
162
 
                </solver>
163
 
              </inner_matrix>
164
 
              <preconditioner_matrix name="DiagonalSchurComplement"/>
165
 
            </full_schur_complement>
166
 
          </use_projection_method>
167
 
        </scheme>
168
 
        <solver>
169
 
          <iterative_method name="fgmres"/>
170
 
          <preconditioner name="ksp">
171
 
            <solver>
172
 
              <iterative_method name="cg"/>
173
 
              <preconditioner name="sor"/>
174
 
              <relative_error>
175
 
                <real_value rank="0">1.0e-12</real_value>
176
 
              </relative_error>
177
 
              <max_iterations>
178
 
                <integer_value rank="0">10000</integer_value>
179
 
              </max_iterations>
180
 
              <remove_null_space/>
181
 
              <never_ignore_solver_failures/>
182
 
              <diagnostics>
183
 
                <monitors/>
184
 
              </diagnostics>
185
 
            </solver>
186
 
          </preconditioner>
187
 
          <relative_error>
188
 
            <real_value rank="0">1.0e-7</real_value>
189
 
          </relative_error>
190
 
          <absolute_error>
191
 
            <real_value rank="0">1.e-7</real_value>
192
 
          </absolute_error>
193
 
          <max_iterations>
194
 
            <integer_value rank="0">25000</integer_value>
195
 
          </max_iterations>
196
 
          <never_ignore_solver_failures/>
197
 
          <diagnostics>
198
 
            <monitors>
199
 
              <preconditioned_residual/>
200
 
            </monitors>
201
 
          </diagnostics>
202
 
        </solver>
203
 
        <output/>
204
 
        <stat/>
205
 
        <convergence>
206
 
          <include_in_convergence/>
207
 
        </convergence>
208
 
        <detectors>
209
 
          <include_in_detectors/>
210
 
        </detectors>
211
 
        <steady_state>
212
 
          <exclude_from_steady_state/>
213
 
        </steady_state>
214
 
        <consistent_interpolation/>
215
 
      </prognostic>
216
 
    </scalar_field>
217
 
    <scalar_field name="Density" rank="0">
218
 
      <diagnostic>
219
 
        <algorithm name="Internal" material_phase_support="multiple"/>
220
 
        <mesh name="VelocityMesh"/>
221
 
        <output/>
222
 
        <stat/>
223
 
        <convergence>
224
 
          <include_in_convergence/>
225
 
        </convergence>
226
 
        <detectors>
227
 
          <include_in_detectors/>
228
 
        </detectors>
229
 
        <steady_state>
230
 
          <include_in_steady_state/>
231
 
        </steady_state>
232
 
      </diagnostic>
233
 
    </scalar_field>
234
 
    <vector_field name="Velocity" rank="1">
235
 
      <prognostic>
236
 
        <mesh name="VelocityMesh"/>
237
 
        <equation name="LinearMomentum"/>
238
 
        <spatial_discretisation>
239
 
          <continuous_galerkin>
240
 
            <stabilisation>
241
 
              <no_stabilisation/>
242
 
            </stabilisation>
243
 
            <mass_terms>
244
 
              <exclude_mass_terms/>
245
 
            </mass_terms>
246
 
            <advection_terms>
247
 
              <exclude_advection_terms/>
248
 
            </advection_terms>
249
 
            <stress_terms>
250
 
              <tensor_form/>
251
 
            </stress_terms>
252
 
          </continuous_galerkin>
253
 
          <conservative_advection>
254
 
            <real_value rank="0">1.0</real_value>
255
 
          </conservative_advection>
256
 
        </spatial_discretisation>
257
 
        <temporal_discretisation>
258
 
          <theta>
259
 
            <real_value rank="0">1.0</real_value>
260
 
          </theta>
261
 
          <relaxation>
262
 
            <real_value rank="0">1.0</real_value>
263
 
          </relaxation>
264
 
        </temporal_discretisation>
265
 
        <solver>
266
 
          <iterative_method name="cg"/>
267
 
          <preconditioner name="mg"/>
268
 
          <relative_error>
269
 
            <real_value rank="0">1.0e-7</real_value>
270
 
          </relative_error>
271
 
          <max_iterations>
272
 
            <integer_value rank="0">5000</integer_value>
273
 
          </max_iterations>
274
 
          <never_ignore_solver_failures/>
275
 
          <diagnostics>
276
 
            <monitors/>
277
 
          </diagnostics>
278
 
        </solver>
279
 
        <initial_condition name="WholeMesh">
280
 
          <constant>
281
 
            <real_value shape="2" dim1="dim" rank="1">0.0 0.0</real_value>
282
 
          </constant>
283
 
        </initial_condition>
284
 
        <prescribed_region name="Crust">
285
 
          <region_ids>
286
 
            <integer_value shape="1" rank="1">24</integer_value>
287
 
          </region_ids>
288
 
          <constant>
289
 
            <real_value shape="2" dim1="dim" rank="1">0. 0.</real_value>
290
 
          </constant>
291
 
        </prescribed_region>
292
 
        <prescribed_region name="Slab">
293
 
          <region_ids>
294
 
            <integer_value shape="1" rank="1">30</integer_value>
295
 
          </region_ids>
296
 
          <python>
297
 
            <string_value lines="20" type="code" language="python">def val(X, t):
298
 
        from math import sqrt
299
 
        vx = sqrt(((0.05/(3600.*24.*365.))**2.)/2.)
300
 
        vy = -sqrt(((0.05/(3600.*24.*365.))**2.)/2.)
301
 
        return [vx,vy]</string_value>
302
 
          </python>
303
 
        </prescribed_region>
304
 
        <boundary_conditions name="Batchelor">
305
 
          <surface_ids>
306
 
            <integer_value shape="3" rank="1">12 13 16</integer_value>
307
 
          </surface_ids>
308
 
          <type name="dirichlet">
309
 
            <align_bc_with_cartesian>
310
 
              <x_component>
311
 
                <python>
312
 
                  <string_value lines="20" type="code" language="python">def val(X, t):
313
 
  
314
 
        from math import sqrt, atan, cos, sin, pi
315
 
 
316
 
        Xcoord = X[0]
317
 
        Ycoord = X[1]
318
 
  
319
 
        Depth = (X[1] * -1.) -50000.
320
 
        Xdist  = X[0] -50000.
321
 
 
322
 
        if(Xdist == 0.) :
323
 
                Xdist = 0.000000000000001
324
 
 
325
 
        if Depth == 0 :
326
 
 
327
 
                Vx = 0.
328
 
                Vy = 0.
329
 
 
330
 
        else :
331
 
 
332
 
                ALFA = atan(1)
333
 
                THETA = atan(Depth/Xdist)
334
 
 
335
 
                VTHETA = (((ALFA - THETA) * sin(THETA) * sin(ALFA)) - (ALFA * THETA * sin(ALFA-THETA))) / (ALFA**2 - (sin(ALFA)**2))
336
 
                VTHETA = VTHETA * (0.05/(3600.*24.*365.)) *-1.
337
 
 
338
 
                VR = (((ALFA - THETA) * cos(THETA) * sin(ALFA)) - (sin(ALFA) * sin(THETA)) - (ALFA * sin(ALFA-THETA)) + (ALFA*THETA*cos(ALFA-THETA))) / ((ALFA**2) - (sin(ALFA))**2)
339
 
                VR = VR * (0.05/(3600.*24.*365.))
340
 
 
341
 
                Vx = -( VTHETA*sin(THETA) - VR*cos(THETA) )
342
 
                Vy = - (VTHETA*cos(THETA) + VR*sin(THETA) )
343
 
 
344
 
        return Vx</string_value>
345
 
                </python>
346
 
              </x_component>
347
 
              <y_component>
348
 
                <python>
349
 
                  <string_value lines="20" type="code" language="python">def val(X, t):
350
 
  
351
 
        from math import sqrt, atan, cos, sin, pi
352
 
 
353
 
        Xcoord = X[0]
354
 
        Ycoord = X[1]
355
 
  
356
 
        Depth = (X[1] * -1.) -50000.
357
 
        Xdist  = X[0] -50000.
358
 
 
359
 
        if(Xdist == 0.) :
360
 
                Xdist = 0.000000000000001
361
 
 
362
 
        if Depth == 0 :
363
 
 
364
 
                Vx = 0.
365
 
                Vy = 0.
366
 
 
367
 
        else :
368
 
 
369
 
                ALFA = atan(1)
370
 
                THETA = atan(Depth/Xdist)
371
 
 
372
 
                VTHETA = (((ALFA - THETA) * sin(THETA) * sin(ALFA)) - (ALFA * THETA * sin(ALFA-THETA))) / (ALFA**2 - (sin(ALFA)**2))
373
 
                VTHETA = VTHETA * (0.05/(3600.*24.*365.)) *-1.
374
 
 
375
 
                VR = (((ALFA - THETA) * cos(THETA) * sin(ALFA)) - (sin(ALFA) * sin(THETA)) - (ALFA * sin(ALFA-THETA)) + (ALFA*THETA*cos(ALFA-THETA))) / ((ALFA**2) - (sin(ALFA))**2)
376
 
                VR = VR * (0.05/(3600.*24.*365.))
377
 
 
378
 
                Vx = -( VTHETA*sin(THETA) - VR*cos(THETA) )
379
 
                Vy = - (VTHETA*cos(THETA) + VR*sin(THETA) )
380
 
 
381
 
        return Vy</string_value>
382
 
                </python>
383
 
              </y_component>
384
 
            </align_bc_with_cartesian>
385
 
          </type>
386
 
        </boundary_conditions>
387
 
        <boundary_conditions name="Crust">
388
 
          <surface_ids>
389
 
            <integer_value shape="1" rank="1">32</integer_value>
390
 
          </surface_ids>
391
 
          <type name="dirichlet">
392
 
            <align_bc_with_cartesian>
393
 
              <x_component>
394
 
                <constant>
395
 
                  <real_value rank="0">0.0</real_value>
396
 
                </constant>
397
 
              </x_component>
398
 
              <y_component>
399
 
                <constant>
400
 
                  <real_value rank="0">0.0</real_value>
401
 
                </constant>
402
 
              </y_component>
403
 
            </align_bc_with_cartesian>
404
 
          </type>
405
 
        </boundary_conditions>
406
 
        <boundary_conditions name="Slab">
407
 
          <surface_ids>
408
 
            <integer_value shape="1" rank="1">31</integer_value>
409
 
          </surface_ids>
410
 
          <type name="dirichlet">
411
 
            <align_bc_with_cartesian>
412
 
              <x_component>
413
 
                <python>
414
 
                  <string_value lines="20" type="code" language="python">def val(X, t):
415
 
        from math import sqrt
416
 
        vx = sqrt(((0.05/(3600.*24.*365.))**2.)/2.)
417
 
        return vx</string_value>
418
 
                </python>
419
 
              </x_component>
420
 
              <y_component>
421
 
                <python>
422
 
                  <string_value lines="20" type="code" language="python">def val(X, t):
423
 
        from math import sqrt
424
 
        vy = -sqrt(((0.05/(3600.*24.*365.))**2.)/2.)
425
 
        return vy</string_value>
426
 
                </python>
427
 
              </y_component>
428
 
            </align_bc_with_cartesian>
429
 
          </type>
430
 
        </boundary_conditions>
431
 
        <tensor_field name="Viscosity" rank="2">
432
 
          <prescribed>
433
 
            <value name="WholeMesh">
434
 
              <isotropic>
435
 
                <constant>
436
 
                  <real_value rank="0">1e21</real_value>
437
 
                </constant>
438
 
              </isotropic>
439
 
            </value>
440
 
            <output/>
441
 
          </prescribed>
442
 
        </tensor_field>
443
 
        <output/>
444
 
        <stat>
445
 
          <include_in_stat/>
446
 
          <surface_integral type="normal" name="Outflow">
447
 
            <surface_ids>
448
 
              <integer_value shape="2" rank="1">13 16</integer_value>
449
 
            </surface_ids>
450
 
          </surface_integral>
451
 
          <surface_integral type="normal" name="All">
452
 
            <surface_ids>
453
 
              <integer_value shape="3" rank="1">12 13 16</integer_value>
454
 
            </surface_ids>
455
 
          </surface_integral>
456
 
          <previous_time_step>
457
 
            <exclude_from_stat/>
458
 
          </previous_time_step>
459
 
          <nonlinear_field>
460
 
            <exclude_from_stat/>
461
 
          </nonlinear_field>
462
 
        </stat>
463
 
        <convergence>
464
 
          <include_in_convergence/>
465
 
        </convergence>
466
 
        <detectors>
467
 
          <include_in_detectors/>
468
 
        </detectors>
469
 
        <steady_state>
470
 
          <exclude_from_steady_state/>
471
 
        </steady_state>
472
 
        <consistent_interpolation/>
473
 
      </prognostic>
474
 
    </vector_field>
475
 
    <scalar_field name="Temperature" rank="0">
476
 
      <prognostic>
477
 
        <mesh name="VelocityMesh"/>
478
 
        <equation name="AdvectionDiffusion"/>
479
 
        <spatial_discretisation>
480
 
          <continuous_galerkin>
481
 
            <stabilisation>
482
 
              <no_stabilisation/>
483
 
            </stabilisation>
484
 
            <advection_terms/>
485
 
            <mass_terms>
486
 
              <exclude_mass_terms/>
487
 
            </mass_terms>
488
 
          </continuous_galerkin>
489
 
          <conservative_advection>
490
 
            <real_value rank="0">0.0</real_value>
491
 
          </conservative_advection>
492
 
        </spatial_discretisation>
493
 
        <temporal_discretisation>
494
 
          <theta>
495
 
            <real_value rank="0">1.0</real_value>
496
 
          </theta>
497
 
        </temporal_discretisation>
498
 
        <solver>
499
 
          <iterative_method name="preonly"/>
500
 
          <preconditioner name="lu">
501
 
            <factorization_package name="petsc"/>
502
 
          </preconditioner>
503
 
          <relative_error>
504
 
            <real_value rank="0">1.0e-10</real_value>
505
 
          </relative_error>
506
 
          <max_iterations>
507
 
            <integer_value rank="0">25000</integer_value>
508
 
          </max_iterations>
509
 
          <never_ignore_solver_failures/>
510
 
          <diagnostics>
511
 
            <monitors/>
512
 
          </diagnostics>
513
 
        </solver>
514
 
        <initial_condition name="WholeMesh">
515
 
          <python>
516
 
            <string_value lines="20" type="code" language="python">def val(x, t):
517
 
        T = 273.
518
 
        return T</string_value>
519
 
          </python>
520
 
        </initial_condition>
521
 
        <boundary_conditions name="SurfaceTemperature">
522
 
          <surface_ids>
523
 
            <integer_value shape="1" rank="1">10</integer_value>
524
 
          </surface_ids>
525
 
          <type name="dirichlet">
526
 
            <constant>
527
 
              <real_value rank="0">273.</real_value>
528
 
            </constant>
529
 
          </type>
530
 
        </boundary_conditions>
531
 
        <boundary_conditions name="InflowWedge">
532
 
          <surface_ids>
533
 
            <integer_value shape="1" rank="1">12</integer_value>
534
 
          </surface_ids>
535
 
          <type name="dirichlet">
536
 
            <constant>
537
 
              <real_value rank="0">1573.</real_value>
538
 
            </constant>
539
 
          </type>
540
 
        </boundary_conditions>
541
 
        <boundary_conditions name="ERF">
542
 
          <surface_ids>
543
 
            <integer_value shape="1" rank="1">15</integer_value>
544
 
          </surface_ids>
545
 
          <type name="dirichlet">
546
 
            <python>
547
 
              <string_value lines="20" type="code" language="python">def val(X, t):
548
 
 
549
 
        import math
550
 
 
551
 
        def erf(x):
552
 
                # save the sign of x
553
 
                sign = 1
554
 
                if x &lt; 0: 
555
 
                        sign = -1
556
 
                x = abs(x)
557
 
 
558
 
                # constants
559
 
                a1 =  0.254829592
560
 
                a2 = -0.284496736
561
 
                a3 =  1.421413741
562
 
                a4 = -1.453152027
563
 
                a5 =  1.061405429
564
 
                p  =  0.3275911
565
 
 
566
 
                # A&amp;S formula 7.1.26
567
 
                t = 1.0/(1.0 + p*x)
568
 
                y = 1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*math.exp(-x*x)
569
 
                return sign*y # erf(-x) = -erf(x)
570
 
 
571
 
 
572
 
        Depth = X[1] * -1.
573
 
        Age = 1576800000000000.
574
 
        TempHalfSpace = 273.+ 1300.*(erf(Depth/(2.*math.sqrt(0.0000007272*Age))))
575
 
        return TempHalfSpace</string_value>
576
 
            </python>
577
 
          </type>
578
 
        </boundary_conditions>
579
 
        <boundary_conditions name="LinearGradientCrust">
580
 
          <surface_ids>
581
 
            <integer_value shape="1" rank="1">11</integer_value>
582
 
          </surface_ids>
583
 
          <type name="dirichlet">
584
 
            <python>
585
 
              <string_value lines="20" type="code" language="python">def val(X, t):
586
 
        Depth = X[1] * -1.
587
 
        T = 273. + (Depth*0.026)
588
 
        return T</string_value>
589
 
            </python>
590
 
          </type>
591
 
        </boundary_conditions>
592
 
        <boundary_conditions name="Outflow">
593
 
          <surface_ids>
594
 
            <integer_value shape="2" rank="1">13 16</integer_value>
595
 
          </surface_ids>
596
 
          <type name="neumann">
597
 
            <constant>
598
 
              <real_value rank="0">0.0</real_value>
599
 
            </constant>
600
 
          </type>
601
 
        </boundary_conditions>
602
 
        <tensor_field name="Diffusivity" rank="2">
603
 
          <prescribed>
604
 
            <value name="WholeMesh">
605
 
              <isotropic>
606
 
                <constant>
607
 
                  <real_value rank="0">0.0000007272</real_value>
608
 
                </constant>
609
 
              </isotropic>
610
 
            </value>
611
 
            <output/>
612
 
          </prescribed>
613
 
        </tensor_field>
614
 
        <output/>
615
 
        <stat/>
616
 
        <convergence>
617
 
          <include_in_convergence/>
618
 
        </convergence>
619
 
        <detectors>
620
 
          <include_in_detectors/>
621
 
        </detectors>
622
 
        <steady_state>
623
 
          <include_in_steady_state/>
624
 
        </steady_state>
625
 
        <consistent_interpolation/>
626
 
      </prognostic>
627
 
    </scalar_field>
628
 
    <scalar_field name="FEDiv" rank="0">
629
 
      <diagnostic>
630
 
        <algorithm source_field_type="vector" material_phase_support="single" name="finite_element_divergence" source_field_name="Velocity">
631
 
          <solver>
632
 
            <iterative_method name="cg"/>
633
 
            <preconditioner name="sor"/>
634
 
            <relative_error>
635
 
              <real_value rank="0">1.E-10</real_value>
636
 
            </relative_error>
637
 
            <max_iterations>
638
 
              <integer_value rank="0">10000</integer_value>
639
 
            </max_iterations>
640
 
            <never_ignore_solver_failures/>
641
 
            <diagnostics>
642
 
              <monitors/>
643
 
            </diagnostics>
644
 
          </solver>
645
 
        </algorithm>
646
 
        <mesh name="VelocityMesh"/>
647
 
        <output/>
648
 
        <stat/>
649
 
        <convergence>
650
 
          <include_in_convergence/>
651
 
        </convergence>
652
 
        <detectors>
653
 
          <include_in_detectors/>
654
 
        </detectors>
655
 
        <steady_state>
656
 
          <exclude_from_steady_state/>
657
 
        </steady_state>
658
 
      </diagnostic>
659
 
    </scalar_field>
660
 
    <vector_field name="FiniteElementGradient" rank="1">
661
 
      <diagnostic field_name="Pressure">
662
 
        <algorithm name="Internal" material_phase_support="multiple"/>
663
 
        <mesh name="VelocityMesh"/>
664
 
        <solver>
665
 
          <iterative_method name="cg"/>
666
 
          <preconditioner name="sor"/>
667
 
          <relative_error>
668
 
            <real_value rank="0">1e-7</real_value>
669
 
          </relative_error>
670
 
          <max_iterations>
671
 
            <integer_value rank="0">10000</integer_value>
672
 
          </max_iterations>
673
 
          <never_ignore_solver_failures/>
674
 
          <diagnostics>
675
 
            <monitors/>
676
 
          </diagnostics>
677
 
        </solver>
678
 
        <output/>
679
 
        <stat>
680
 
          <include_in_stat/>
681
 
        </stat>
682
 
        <convergence>
683
 
          <include_in_convergence/>
684
 
        </convergence>
685
 
        <detectors>
686
 
          <include_in_detectors/>
687
 
        </detectors>
688
 
        <steady_state>
689
 
          <include_in_steady_state/>
690
 
        </steady_state>
691
 
      </diagnostic>
692
 
    </vector_field>
693
 
  </material_phase>
694
 
</fluidity_options>