~fluidity-core/fluidity/sea-ice-branch

« back to all changes in this revision

Viewing changes to tests/mms_tracer_cv_feultimate_adv_steady/mms_tracer_cv_feultimate_adv_steady.xml

  • Committer: Simon Mouradian
  • Date: 2012-03-30 11:11:47 UTC
  • mfrom: (3520.32.239 fluidity)
  • Revision ID: simon.mouradian06@imperial.ac.uk-20120330111147-y4n4y4th52x2dqcf
mergeĀ fromĀ lp:fluidity

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8" ?>
 
2
<testproblem>
 
3
  <name>p1cv advection equation spatial convergence test using a FE face value with the Ultimate limiter</name>
 
4
  <owner userid="btollit"/>
 
5
  <tags>flml</tags>
 
6
  <problem_definition length="medium" nprocs="1">
 
7
    <command_line>fluidity -v1 -l MMS_A_cv.flml; fluidity -v1 -l MMS_B_cv.flml; fluidity -v1 -l MMS_C_cv.flml</command_line>
 
8
  </problem_definition>
 
9
  <variables>
 
10
    <variable name="ab_convergence_gal_stat" language="python">
 
11
from fluidity_tools import stat_parser as stat
 
12
from math import log
 
13
 
 
14
a_error = stat("MMS_A_cv.stat")["Burgers"]["AbsoluteDifference"]["cv_l2norm"][-1]
 
15
b_error = stat("MMS_B_cv.stat")["Burgers"]["AbsoluteDifference"]["cv_l2norm"][-1]
 
16
 
 
17
a_error_inf = stat("MMS_A_cv.stat")["Burgers"]["AbsoluteDifference"]["max"][-1]
 
18
b_error_inf = stat("MMS_B_cv.stat")["Burgers"]["AbsoluteDifference"]["max"][-1]
 
19
 
 
20
print a_error
 
21
print b_error
 
22
 
 
23
print a_error_inf
 
24
print b_error_inf
 
25
 
 
26
ab_ratio = a_error / b_error
 
27
ab_ratio_inf = a_error_inf / b_error_inf
 
28
ab_convergence_gal_stat = [log(ab_ratio, 2), log(ab_ratio_inf, 2)]
 
29
    </variable>
 
30
    <variable name="bc_convergence_gal_stat" language="python">
 
31
from fluidity_tools import stat_parser as stat
 
32
from math import log
 
33
 
 
34
b_error = stat("MMS_B_cv.stat")["Burgers"]["AbsoluteDifference"]["cv_l2norm"][-1]
 
35
c_error = stat("MMS_C_cv.stat")["Burgers"]["AbsoluteDifference"]["cv_l2norm"][-1]
 
36
 
 
37
b_error_inf = stat("MMS_B_cv.stat")["Burgers"]["AbsoluteDifference"]["max"][-1]
 
38
c_error_inf = stat("MMS_C_cv.stat")["Burgers"]["AbsoluteDifference"]["max"][-1]
 
39
 
 
40
print b_error
 
41
print c_error
 
42
 
 
43
print b_error_inf
 
44
print c_error_inf
 
45
 
 
46
bc_ratio = b_error / c_error
 
47
bc_ratio_inf = b_error_inf / c_error_inf
 
48
bc_convergence_gal_stat = [log(bc_ratio, 2), log(bc_ratio_inf, 2)]
 
49
    </variable>
 
50
    <variable name="a_finish_time" language="python">
 
51
from fluidity_tools import stat_parser as stat
 
52
a_finish_time = stat("MMS_A_cv.stat")["ElapsedTime"]["value"][-1]
 
53
    </variable>
 
54
    <variable name="b_finish_time" language="python">
 
55
from fluidity_tools import stat_parser as stat
 
56
b_finish_time = stat("MMS_B_cv.stat")["ElapsedTime"]["value"][-1]
 
57
    </variable>
 
58
    <variable name="c_finish_time" language="python">
 
59
from fluidity_tools import stat_parser as stat
 
60
c_finish_time = stat("MMS_C_cv.stat")["ElapsedTime"]["value"][-1]
 
61
    </variable>
 
62
    <variable name="a_final_change" language="python">
 
63
import vtktools
 
64
from fluidity_tools import stat_parser as stat
 
65
vtu = vtktools.vtu("MMS_A_cv_1.vtu")
 
66
dt = stat("MMS_A_cv.stat")["dt"]["value"][-1]
 
67
a_final_change = max(abs(vtu.GetScalarField("NumericalSolution")-vtu.GetScalarField("OldNumericalSolution"))/dt)
 
68
    </variable>
 
69
    <variable name="b_final_change" language="python">
 
70
import vtktools
 
71
from fluidity_tools import stat_parser as stat
 
72
vtu = vtktools.vtu("MMS_B_cv_1.vtu")
 
73
dt = stat("MMS_B_cv.stat")["dt"]["value"][-1]
 
74
b_final_change = max(abs(vtu.GetScalarField("NumericalSolution")-vtu.GetScalarField("OldNumericalSolution"))/dt)
 
75
    </variable>
 
76
    <variable name="c_final_change" language="python">
 
77
import vtktools
 
78
from fluidity_tools import stat_parser as stat
 
79
vtu = vtktools.vtu("MMS_C_cv_1.vtu")
 
80
dt = stat("MMS_C_cv.stat")["dt"]["value"][-1]
 
81
c_final_change = max(abs(vtu.GetScalarField("NumericalSolution")-vtu.GetScalarField("OldNumericalSolution"))/dt)
 
82
    </variable>
 
83
  </variables>
 
84
  <pass_tests>
 
85
    <test name="ab_convergence_stat: L2 order in [0.8,1.0]" language="python">
 
86
assert(abs(ab_convergence_gal_stat[0]-0.9) &lt; 0.1)
 
87
    </test>
 
88
    <test name="bc_convergence_stat: L2 order in [0.8,1.0]" language="python">
 
89
assert(abs(bc_convergence_gal_stat[0]-0.9) &lt; 0.1)
 
90
    </test>
 
91
    <test name="checking A finished in less than 8.0" language="python">
 
92
assert(a_finish_time-8.0 &lt; 1.E-10)
 
93
    </test>
 
94
    <test name="checking B finished in less than 8.0" language="python">
 
95
assert(b_finish_time-8.0 &lt; 1.E-10)
 
96
    </test>
 
97
    <test name="checking C finished in less than 8.0" language="python">
 
98
assert(c_finish_time-8.0 &lt; 1.E-10)
 
99
    </test>
 
100
    <test name="checking steady state was reached in A" language="python">
 
101
assert(a_final_change &lt; 1.E-5)
 
102
    </test>
 
103
    <test name="checking steady state was reached in B" language="python">
 
104
assert(b_final_change &lt; 1.E-5)
 
105
    </test>
 
106
    <test name="checking steady state was reached in C" language="python">
 
107
assert(c_final_change &lt; 1.E-5)
 
108
    </test>
 
109
  </pass_tests>
 
110
  <warn_tests>
 
111
  </warn_tests>
 
112
</testproblem>
 
113