1
<?xml version='1.0' encoding='utf-8'?>
2
<shallow_water_options>
4
<string_value lines="1">wave</string_value>
8
<integer_value rank="0">1</integer_value>
12
<string_value lines="20" type="python">def val(X,t):
13
return (X[0],0.0,0.0)</string_value>
16
<string_value lines="20" type="python">def val(X,t):
17
return ([1], [0], [0])</string_value>
20
<string_value lines="20" type="python">def val(X,t):
21
return (0.0,0.0,1.0)</string_value>
24
<mesh name="CoordinateMesh">
25
<from_file file_name="src/mesh">
26
<format name="triangle"/>
32
<mesh name="VelocityMesh">
34
<mesh name="PeriodicMesh"/>
36
<string_value>discontinuous</string_value>
43
<mesh name="PressureMesh">
45
<mesh name="PeriodicMesh"/>
48
<integer_value rank="0">2</integer_value>
56
<mesh name="PeriodicMesh">
58
<mesh name="CoordinateMesh"/>
59
<periodic_boundary_conditions name="periodicity">
60
<physical_boundary_ids>
61
<integer_value shape="1" rank="1">1</integer_value>
62
</physical_boundary_ids>
63
<aliased_boundary_ids>
64
<integer_value shape="1" rank="1">2</integer_value>
65
</aliased_boundary_ids>
67
<string_value lines="20" type="python">def val(X,t):
69
result[0]=result[0]-1.0
70
return result</string_value>
72
</periodic_boundary_conditions>
80
<integer_value rank="0">4</integer_value>
86
<string_value>vtk</string_value>
90
<real_value rank="0">0.0</real_value>
93
<output_coordinates name="Manifold"/>
94
<output_mesh name="CoordinateMesh"/>
98
<real_value rank="0">0</real_value>
101
<real_value rank="0">0.01</real_value>
103
<nonlinear_iterations>
104
<integer_value rank="0">1</integer_value>
105
</nonlinear_iterations>
107
<real_value rank="0">5</real_value>
110
<physical_parameters>
113
<real_value rank="0">1.0</real_value>
116
</physical_parameters>
117
<material_phase name="Fluid">
118
<vector_field name="Velocity" rank="1">
120
<mesh name="VelocityMesh"/>
121
<equation name="ShallowWater"/>
122
<spatial_discretisation>
123
<discontinuous_galerkin>
127
</discontinuous_galerkin>
128
<conservative_advection>
129
<real_value rank="0">0</real_value>
130
</conservative_advection>
131
</spatial_discretisation>
133
<iterative_method name="preonly"/>
134
<preconditioner name="lu"/>
136
<real_value rank="0">1.0e-7</real_value>
139
<integer_value rank="0">500</integer_value>
141
<never_ignore_solver_failures/>
146
<initial_condition name="WholeMesh">
148
<string_value lines="20" type="python">def val(X, t):
149
from math import cos,pi, sin
154
return [c*sin(k*x + t)]</string_value>
157
<vector_field name="Source" rank="1">
159
<value name="WholeMesh">
161
<string_value lines="20" type="python">def val(X, t):
162
from math import cos, pi, sin
166
return [-c*k*cos(k*x + t) + c*cos(k*x + t)]</string_value>
174
<exclude_from_detectors/>
186
</previous_time_step>
192
<include_in_convergence/>
195
<include_in_detectors/>
198
<include_in_steady_state/>
200
<consistent_interpolation/>
203
<scalar_field name="LayerThickness" rank="0">
205
<mesh name="PressureMesh"/>
206
<spatial_discretisation>
207
<continuous_galerkin>
209
<exclude_advection_terms/>
211
</continuous_galerkin>
212
<conservative_advection>
213
<real_value rank="0">0</real_value>
214
</conservative_advection>
215
</spatial_discretisation>
216
<temporal_discretisation>
218
<real_value rank="0">0.5</real_value>
221
<real_value rank="0">1</real_value>
223
</temporal_discretisation>
225
<iterative_method name="preonly"/>
226
<preconditioner name="lu"/>
228
<real_value rank="0">1.0e-7</real_value>
231
<integer_value rank="0">500</integer_value>
233
<never_ignore_solver_failures/>
238
<initial_condition name="WholeMesh">
240
<string_value lines="20" type="python">def val(X, t):
241
from math import cos,pi, sin
245
return -c*sin(k*x + t)</string_value>
248
<mean_layer_thickness>
249
<real_value rank="0">1.0</real_value>
250
</mean_layer_thickness>
251
<scalar_field name="Source">
253
<value name="WholeMesh">
255
<string_value type="python" lines="20">def val(X, t):
256
from math import cos, pi, sin
260
return c*k*cos(k*x + t) - c*cos(k*x + t)</string_value>
266
<exclude_from_detectors/>
275
<consistent_interpolation/>
278
<scalar_field name="AnalyticalSolutionLayerThickness" rank="0">
280
<mesh name="PressureMesh"/>
281
<value name="WholeMesh">
283
<string_value lines="20" type="python">def val(X, t):
284
from math import cos,pi, sin
289
return -c*sin(k*x + t)</string_value>
295
<exclude_from_detectors/>
302
<scalar_field name="AbsErrorLayerThickness" rank="0">
304
<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">
305
<absolute_difference/>
307
<mesh name="PressureMesh"/>
311
<include_in_convergence/>
314
<include_in_detectors/>
317
<include_in_steady_state/>
324
<vector_field name="AnalyticalVelocity" rank="1">
326
<mesh name="VelocityMesh"/>
327
<value name="WholeMesh">
329
<string_value lines="20" type="python">def val(X, t):
330
from math import cos,pi, sin
335
return [c*sin(k*x + t)]</string_value>
343
<exclude_from_detectors/>
350
<vector_field name="AbsErrorVelocity" rank="1">
352
<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">
353
<absolute_difference/>
355
<mesh name="VelocityMesh"/>
361
<include_in_convergence/>
364
<include_in_detectors/>
367
<include_in_steady_state/>
375
</shallow_water_options>