~fluidity-core/fluidity/adjoint

« back to all changes in this revision

Viewing changes to tests/shallow_water_optimisation_revolve/shallow_water_optimisation_revolve.xml

Merge the fluidity_revolve branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version='1.0' encoding='utf-8'?>
 
2
<testproblem>
 
3
  <name>Shallow Water Equation MMS Optimisation</name>
 
4
  <owner userid="sf1409"/>
 
5
  <tags>swml adjoint optimisation revolve</tags>
 
6
  <problem_definition length="medium" nprocs="1">
 
7
    <command_line>time ../../bin/optimality optimiser_A.oml; time ../../bin/optimality optimiser_B.oml; time ../../bin/optimality optimiser_C.oml; time ../../bin/optimality optimiser_D.oml;</command_line>
 
8
  </problem_definition>
 
9
  <variables>
 
10
    <variable name="u_error_initial" language="python">from fluidity_tools import stat_parser as stat
 
11
import numpy      
 
12
import math
 
13
sims = ["_A", "_B", "_C", "_D"]
 
14
u_error_initial = numpy.zeros(len(sims))
 
15
for i, sim in enumerate(sims):
 
16
  u_error_initial[i] = stat("wave%s.stat" % sim)["Fluid"]["VelocityError%magnitude"]["max"][0]
 
17
</variable>
 
18
    <variable name="u_error_order_final" language="python">from fluidity_tools import stat_parser as stat
 
19
import numpy      
 
20
import math
 
21
sims = ["_A", "_B", "_C", "_D"]
 
22
u_error = numpy.zeros(len(sims))
 
23
for i, sim in enumerate(sims):
 
24
  u_error[i] = stat("wave%s.stat" % sim)["Fluid"]["VelocityError%magnitude"]["max"][-1]
 
25
 
 
26
u_error_order_final = numpy.zeros(len(sims)-1) 
 
27
for i in range(len(sims)-1):
 
28
  u_error_order_final[i] = math.log(u_error[i]/u_error[i+1], 2)
 
29
</variable>
 
30
    <variable name="eta_error_order_initial" language="python">from fluidity_tools import stat_parser as stat
 
31
import numpy      
 
32
import math
 
33
sims = ["_A", "_B", "_C", "_D"]
 
34
eta_error = numpy.zeros(len(sims))
 
35
for i, sim in enumerate(sims):
 
36
  eta_error[i] = stat("wave%s.stat" % sim)["Fluid"]["LayerThicknessError"]["max"][0]
 
37
 
 
38
eta_error_order_initial = numpy.zeros(len(sims)-1)
 
39
for i in range(len(sims)-1):
 
40
  eta_error_order_initial[i] = math.log(eta_error[i]/eta_error[i+1], 2)
 
41
</variable>
 
42
    <variable name="eta_error_order_final" language="python">from fluidity_tools import stat_parser as stat
 
43
import numpy      
 
44
import math
 
45
sims = ["_A", "_B", "_C", "_D"]
 
46
eta_error = numpy.zeros(len(sims))
 
47
for i, sim in enumerate(sims):
 
48
  eta_error[i] = stat("wave%s.stat" % sim)["Fluid"]["LayerThicknessError"]["max"][-1]
 
49
 
 
50
eta_error_order_final = numpy.zeros(len(sims)-1)
 
51
for i in range(len(sims)-1):
 
52
  eta_error_order_final[i] = math.log(eta_error[i]/eta_error[i+1], 2)
 
53
</variable>
 
54
  </variables>
 
55
  <pass_tests>
 
56
    <test name="u_error_initial_test" language="python">assert min(u_error_initial) == 0.0</test>
 
57
    <test name="u_error_order_final_test" language="python">assert min(u_error_order_final) &gt; 1.8</test>
 
58
    <test name="eta_error_order_initial_test" language="python">assert min(eta_error_order_initial) &gt; 1.2</test>
 
59
    <test name="eta_error_order_final_test" language="python">assert min(eta_error_order_final) &gt; 1.9</test>
 
60
  </pass_tests>
 
61
  <warn_tests/>
 
62
</testproblem>