~reducedmodelling/fluidity/ROM_Non-intrusive-ann

« back to all changes in this revision

Viewing changes to tests/shallow_water_mms_wave/wave_periodic.swml

  • Committer: sf1409
  • Date: 2011-02-08 20:27:58 UTC
  • Revision ID: svn-v4:5bf5533e-7014-46e3-b1bb-cce4b9d03719:trunk:2923
new shallow water MMS testcase. 

the solution is a 1d sin function. 
for the discretisation the p1dgp2 element pair and theta=0.5 is used and periodic boundary condition. 

second order convergence in both time and space is tested (in l1, l2 and inf norm)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version='1.0' encoding='utf-8'?>
 
2
<shallow_water_options>
 
3
  <simulation_name>
 
4
    <string_value lines="1">wave</string_value>
 
5
  </simulation_name>
 
6
  <geometry>
 
7
    <dimension>
 
8
      <integer_value rank="0">1</integer_value>
 
9
    </dimension>
 
10
    <mesh name="CoordinateMesh">
 
11
      <from_file file_name="src/mesh">
 
12
        <format name="triangle"/>
 
13
        <stat>
 
14
          <include_in_stat/>
 
15
        </stat>
 
16
      </from_file>
 
17
    </mesh>
 
18
    <mesh name="VelocityMesh">
 
19
      <from_mesh>
 
20
        <mesh name="PeriodicMesh"/>
 
21
        <mesh_continuity>
 
22
          <string_value>discontinuous</string_value>
 
23
        </mesh_continuity>
 
24
        <stat>
 
25
          <exclude_from_stat/>
 
26
        </stat>
 
27
      </from_mesh>
 
28
    </mesh>
 
29
    <mesh name="PressureMesh">
 
30
      <from_mesh>
 
31
        <mesh name="PeriodicMesh"/>
 
32
        <mesh_shape>
 
33
          <polynomial_degree>
 
34
            <integer_value rank="0">2</integer_value>
 
35
          </polynomial_degree>
 
36
        </mesh_shape>
 
37
        <stat>
 
38
          <exclude_from_stat/>
 
39
        </stat>
 
40
      </from_mesh>
 
41
    </mesh>
 
42
    <mesh name="PeriodicMesh">
 
43
      <from_mesh>
 
44
        <mesh name="CoordinateMesh"/>
 
45
        <periodic_boundary_conditions name="periodicity">
 
46
          <physical_boundary_ids>
 
47
            <integer_value shape="1" rank="1">1</integer_value>
 
48
          </physical_boundary_ids>
 
49
          <aliased_boundary_ids>
 
50
            <integer_value shape="1" rank="1">2</integer_value>
 
51
          </aliased_boundary_ids>
 
52
          <coordinate_map>
 
53
            <string_value type="python" lines="20">def val(X,t):
 
54
  result = list(X)
 
55
  result[0]=result[0]-1.0
 
56
  return result
 
57
</string_value>
 
58
          </coordinate_map>
 
59
        </periodic_boundary_conditions>
 
60
        <stat>
 
61
          <exclude_from_stat/>
 
62
        </stat>
 
63
      </from_mesh>
 
64
    </mesh>
 
65
    <quadrature>
 
66
      <degree>
 
67
        <integer_value rank="0">4</integer_value>
 
68
      </degree>
 
69
    </quadrature>
 
70
  </geometry>
 
71
  <io>
 
72
    <dump_format>
 
73
      <string_value>vtk</string_value>
 
74
    </dump_format>
 
75
    <dump_period>
 
76
      <constant>
 
77
        <real_value rank="0">1.0</real_value>
 
78
      </constant>
 
79
    </dump_period>
 
80
    <output_mesh name="CoordinateMesh"/>
 
81
  </io>
 
82
  <timestepping>
 
83
    <current_time>
 
84
      <real_value rank="0">0</real_value>
 
85
    </current_time>
 
86
    <timestep>
 
87
      <real_value rank="0">0.01</real_value>
 
88
    </timestep>
 
89
    <nonlinear_iterations>
 
90
      <integer_value rank="0">1</integer_value>
 
91
    </nonlinear_iterations>
 
92
    <finish_time>
 
93
      <real_value rank="0">5</real_value>
 
94
    </finish_time>
 
95
  </timestepping>
 
96
  <physical_parameters>
 
97
    <gravity>
 
98
      <magnitude>
 
99
        <real_value rank="0">1.0</real_value>
 
100
      </magnitude>
 
101
    </gravity>
 
102
  </physical_parameters>
 
103
  <material_phase name="Fluid">
 
104
    <vector_field name="Velocity" rank="1">
 
105
      <prognostic>
 
106
        <mesh name="VelocityMesh"/>
 
107
        <equation name="ShallowWater"/>
 
108
        <spatial_discretisation>
 
109
          <discontinuous_galerkin>
 
110
            <advection_scheme>
 
111
              <none/>
 
112
            </advection_scheme>
 
113
          </discontinuous_galerkin>
 
114
          <conservative_advection>
 
115
            <real_value rank="0">0</real_value>
 
116
          </conservative_advection>
 
117
        </spatial_discretisation>
 
118
        <solver>
 
119
          <iterative_method name="preonly"/>
 
120
          <preconditioner name="lu"/>
 
121
          <relative_error>
 
122
            <real_value rank="0">1.0e-7</real_value>
 
123
          </relative_error>
 
124
          <max_iterations>
 
125
            <integer_value rank="0">500</integer_value>
 
126
          </max_iterations>
 
127
          <never_ignore_solver_failures/>
 
128
          <diagnostics>
 
129
            <monitors/>
 
130
          </diagnostics>
 
131
        </solver>
 
132
        <initial_condition name="WholeMesh">
 
133
          <python>
 
134
            <string_value lines="20" type="python">def val(X, t):
 
135
  from math import cos,pi, sin
 
136
  k_x=pi*2.0
 
137
  coef=0.01
 
138
  return [coef*sin(k_x*(X[0]+t))]</string_value>
 
139
          </python>
 
140
        </initial_condition>
 
141
        <output/>
 
142
        <stat>
 
143
          <include_in_stat/>
 
144
          <previous_time_step>
 
145
            <exclude_from_stat/>
 
146
          </previous_time_step>
 
147
          <nonlinear_field>
 
148
            <exclude_from_stat/>
 
149
          </nonlinear_field>
 
150
        </stat>
 
151
        <convergence>
 
152
          <include_in_convergence/>
 
153
        </convergence>
 
154
        <detectors>
 
155
          <include_in_detectors/>
 
156
        </detectors>
 
157
        <steady_state>
 
158
          <include_in_steady_state/>
 
159
        </steady_state>
 
160
        <consistent_interpolation/>
 
161
      </prognostic>
 
162
    </vector_field>
 
163
    <scalar_field name="LayerThickness" rank="0">
 
164
      <prognostic>
 
165
        <mesh name="PressureMesh"/>
 
166
        <spatial_discretisation>
 
167
          <continuous_galerkin>
 
168
            <advection_terms>
 
169
              <exclude_advection_terms/>
 
170
            </advection_terms>
 
171
          </continuous_galerkin>
 
172
          <conservative_advection>
 
173
            <real_value rank="0">0</real_value>
 
174
          </conservative_advection>
 
175
        </spatial_discretisation>
 
176
        <temporal_discretisation>
 
177
          <theta>
 
178
            <real_value rank="0">0.5</real_value>
 
179
          </theta>
 
180
          <relaxation>
 
181
            <real_value rank="0">1</real_value>
 
182
          </relaxation>
 
183
        </temporal_discretisation>
 
184
        <solver>
 
185
          <iterative_method name="preonly"/>
 
186
          <preconditioner name="lu"/>
 
187
          <relative_error>
 
188
            <real_value rank="0">1.0e-7</real_value>
 
189
          </relative_error>
 
190
          <max_iterations>
 
191
            <integer_value rank="0">500</integer_value>
 
192
          </max_iterations>
 
193
          <never_ignore_solver_failures/>
 
194
          <diagnostics>
 
195
            <monitors/>
 
196
          </diagnostics>
 
197
        </solver>
 
198
        <initial_condition name="WholeMesh">
 
199
          <python>
 
200
            <string_value lines="20" type="python">def val(X, t):
 
201
  from math import cos,pi, sin
 
202
  k_x=pi*2.0
 
203
  coef=0.01
 
204
  return -1.0*coef*sin(k_x*(X[0]+t))</string_value>
 
205
          </python>
 
206
        </initial_condition>
 
207
        <mean_layer_thickness>
 
208
          <real_value rank="0">1</real_value>
 
209
        </mean_layer_thickness>
 
210
        <output/>
 
211
        <stat/>
 
212
        <consistent_interpolation/>
 
213
      </prognostic>
 
214
    </scalar_field>
 
215
    <scalar_field name="AnalyticalSolutionLayerThickness" rank="0">
 
216
      <prescribed>
 
217
        <mesh name="PressureMesh"/>
 
218
        <value name="WholeMesh">
 
219
          <python>
 
220
            <string_value lines="20" type="python">def val(X, t):
 
221
  from math import cos,pi, sin
 
222
  k_x=pi*2.0
 
223
  coef=0.01
 
224
  return -1.0*coef*sin(k_x*(X[0]+t))</string_value>
 
225
          </python>
 
226
        </value>
 
227
        <output/>
 
228
        <stat/>
 
229
        <detectors>
 
230
          <exclude_from_detectors/>
 
231
        </detectors>
 
232
        <adjoint_storage>
 
233
          <exists_in_forward/>
 
234
        </adjoint_storage>
 
235
      </prescribed>
 
236
    </scalar_field>
 
237
    <scalar_field name="AbsErrorLayerThickness" rank="0">
 
238
      <diagnostic>
 
239
        <algorithm source_field_2_type="scalar" name="scalar_difference" source_field_1_name="LayerThickness" source_field_2_name="AnalyticalSolutionLayerThickness" material_phase_support="single" source_field_1_type="scalar">
 
240
          <absolute_difference/>
 
241
        </algorithm>
 
242
        <mesh name="VelocityMesh"/>
 
243
        <output/>
 
244
        <stat/>
 
245
        <convergence>
 
246
          <include_in_convergence/>
 
247
        </convergence>
 
248
        <detectors>
 
249
          <include_in_detectors/>
 
250
        </detectors>
 
251
        <steady_state>
 
252
          <include_in_steady_state/>
 
253
        </steady_state>
 
254
        <adjoint_storage>
 
255
          <exists_in_forward/>
 
256
        </adjoint_storage>
 
257
      </diagnostic>
 
258
    </scalar_field>
 
259
    <vector_field name="AnalyticalVelocity" rank="1">
 
260
      <prescribed>
 
261
        <mesh name="VelocityMesh"/>
 
262
        <value name="WholeMesh">
 
263
          <python>
 
264
            <string_value lines="20" type="python">def val(X, t):
 
265
  from math import cos,pi, sin
 
266
  k_x=pi*2.0
 
267
  coef=0.01
 
268
  return [coef*sin(k_x*(X[0]+t))]</string_value>
 
269
          </python>
 
270
        </value>
 
271
        <output/>
 
272
        <stat>
 
273
          <include_in_stat/>
 
274
        </stat>
 
275
        <detectors>
 
276
          <exclude_from_detectors/>
 
277
        </detectors>
 
278
        <adjoint_storage>
 
279
          <exists_in_forward/>
 
280
        </adjoint_storage>
 
281
      </prescribed>
 
282
    </vector_field>
 
283
    <vector_field name="AbsErrorVelocity" rank="1">
 
284
      <diagnostic>
 
285
        <algorithm source_field_2_type="vector" name="vector_difference" source_field_1_name="AnalyticalVelocity" source_field_2_name="Velocity" material_phase_support="single" source_field_1_type="vector">
 
286
          <absolute_difference/>
 
287
        </algorithm>
 
288
        <mesh name="VelocityMesh"/>
 
289
        <output/>
 
290
        <stat>
 
291
          <include_in_stat/>
 
292
        </stat>
 
293
        <convergence>
 
294
          <include_in_convergence/>
 
295
        </convergence>
 
296
        <detectors>
 
297
          <include_in_detectors/>
 
298
        </detectors>
 
299
        <steady_state>
 
300
          <include_in_steady_state/>
 
301
        </steady_state>
 
302
        <adjoint_storage>
 
303
          <exists_in_forward/>
 
304
        </adjoint_storage>
 
305
      </diagnostic>
 
306
    </vector_field>
 
307
  </material_phase>
 
308
</shallow_water_options>