1
<?xml version='1.0' encoding='utf-8'?>
4
<string_value lines="1">MMS_B</string_value>
7
<string_value lines="1">fluids</string_value>
11
<integer_value rank="0">2</integer_value>
13
<mesh name="CoordinateMesh">
14
<from_file file_name="MMS_B">
15
<format name="triangle"/>
21
<mesh name="TracerMesh">
23
<mesh name="CoordinateMesh"/>
26
<integer_value rank="0">0</integer_value>
30
<string_value>discontinuous</string_value>
39
<integer_value rank="0">5</integer_value>
41
<controlvolume_surface_degree>
42
<integer_value rank="0">5</integer_value>
43
</controlvolume_surface_degree>
48
<string_value>vtk</string_value>
52
<real_value rank="0">500.0</real_value>
53
<comment>500.0</comment>
56
<output_mesh name="CoordinateMesh"/>
61
<real_value rank="0">0.0</real_value>
64
<real_value rank="0">0.011910999491063532</real_value>
65
<comment>0.023821998982127064 gives a max cv cfl number of 1.0
66
0.011910999491063532 gives a max cv cfl number of 0.5</comment>
69
<real_value rank="0">500.0</real_value>
70
<comment>5.0</comment>
74
<real_value rank="0">1.E-10</real_value>
79
<physical_parameters/>
80
<material_phase name="Burgers">
81
<vector_field name="Velocity" rank="1">
83
<mesh name="CoordinateMesh"/>
84
<value name="WholeMesh">
86
<real_value shape="2" dim1="dim" rank="1">100.0 100.0</real_value>
87
<comment>def val(XX, t):
88
from math import sin,cos
95
return (u, v)</comment>
103
<exclude_from_detectors/>
107
<scalar_field name="NumericalSolution" rank="0">
109
<mesh name="TracerMesh"/>
110
<equation name="AdvectionDiffusion"/>
111
<spatial_discretisation>
114
<exclude_mass_terms/>
117
<exclude_advection_terms/>
120
<conservative_advection>
121
<real_value rank="0">0.0</real_value>
122
</conservative_advection>
123
</spatial_discretisation>
124
<temporal_discretisation>
126
<real_value rank="0">1.0</real_value>
128
</temporal_discretisation>
130
<iterative_method name="gmres">
132
<integer_value rank="0">30</integer_value>
135
<preconditioner name="sor"/>
137
<real_value rank="0">1.E-10</real_value>
140
<integer_value rank="0">350</integer_value>
142
<never_ignore_solver_failures/>
147
<initial_condition name="WholeMesh">
149
<real_value rank="0">0.0</real_value>
152
<boundary_conditions name="sides">
154
<integer_value shape="2" rank="1">7 9</integer_value>
156
<type name="dirichlet">
158
<string_value lines="20" type="python">def val(XX, t):
159
from math import sin,cos,sqrt
165
u = sin(25*x*y+omega*t)-2*y/(sqrt(x));
166
return u</string_value>
169
</boundary_conditions>
170
<boundary_conditions name="neumann_x_left">
172
<integer_value shape="1" rank="1">10</integer_value>
174
<type name="dirichlet">
176
<string_value lines="20" type="python">def val(XX, t):
177
from math import sin,cos,sqrt
183
u = sin(25*x*y+omega*t)-2*y/(sqrt(x));
184
return u</string_value>
187
</boundary_conditions>
188
<boundary_conditions name="neumann_x_right">
190
<integer_value shape="1" rank="1">8</integer_value>
192
<type name="dirichlet">
194
<string_value lines="20" type="python">def val(XX, t):
195
from math import sin,cos,sqrt
201
u = sin(25*x*y+omega*t)-2*y/(sqrt(x));
202
return u</string_value>
205
</boundary_conditions>
206
<tensor_field name="Diffusivity" rank="2">
208
<value name="WholeMesh">
211
<real_value rank="0">0.7</real_value>
218
<scalar_field name="Source" rank="0">
220
<value name="WholeMesh">
222
<string_value lines="20" type="python">def val(XX, t):
223
from math import sin,cos,sqrt
235
S = adv*((25*y*cos(25*x*y + omega*t) + y/x1p5)*sin(5*(y2 + x2)) + beta*(sin(25*x*y + omega*t) - 2*y/xp5)*(10*x*cos(5*(y2 + x2)) + 6*y*sin(3*(x2 - y2))) + (25*x*cos(25*x*y + omega*t) - 2/xp5)*cos(3*(x2 - y2))) - nu*(-625*y2*sin(25*x*y + omega*t) - 625*x2*sin(25*x*y + omega*t) - 3*y/(2*x2p5)) + omega*cos(25*x*y + omega*t);
236
return S</string_value>
237
<comment>T(x,y,t,nu,adv,beta,omega) = sin(25*x*y + omega*t) - 2*y/(sqrt(x))
244
u(x,y,t) = sin(5*(x^2+y^2))
245
v(x,y,t) = cos(3*(x^2-y^2))
251
S = T_t + adv*(u*T_x + v*T_y + beta*(T*(u_x + v_y))) - nu*(T_xx + T_yy)
252
#S = adv*((25*y*cos(25*x*y + omega*t) + y/x^(3/2))*sin(5*(y^2 + x^2)) + beta*(sin(25*x*y + omega*t) - 2*y/sqrt(x))*(10*x*cos(5*(y^2 + x^2)) + 6*y*sin(3*(x^2 - y^2))) + (25*x*cos(25*x*y + omega*t) - 2/sqrt(x))*cos(3*(x^2 - y^2))) - nu*(-625*y^2*sin(25*x*y + omega*t) - 625*x^2*sin(25*x*y + omega*t) - 3*y/(2*x^(5/2))) + omega*cos(25*x*y + omega*t)</comment>
258
<exclude_from_detectors/>
263
<include_previous_time_step/>
267
<include_in_convergence/>
270
<include_in_detectors/>
273
<include_in_steady_state/>
275
<consistent_interpolation/>
278
<scalar_field name="AnalyticalSolution" rank="0">
280
<mesh name="TracerMesh"/>
281
<value name="WholeMesh">
283
<string_value lines="20" type="python">def val(XX, t):
284
from math import sin,cos,sqrt
288
u = sin(25*x*y + omega*t) - 2*y/(sqrt(x));
289
return u</string_value>
295
<exclude_from_detectors/>
299
<scalar_field name="CFLNumber" rank="0">
301
<algorithm name="Internal" material_phase_support="multiple"/>
302
<mesh name="TracerMesh"/>
306
<include_in_convergence/>
309
<include_in_detectors/>
312
<include_in_steady_state/>
316
<scalar_field name="AbsoluteDifference" rank="0">
317
<diagnostic field_name_b="NumericalSolution" field_name_a="AnalyticalSolution">
318
<algorithm name="Internal" material_phase_support="multiple"/>
319
<mesh name="TracerMesh"/>
325
<include_in_convergence/>
328
<include_in_detectors/>
331
<include_in_steady_state/>
335
<scalar_field name="ControlVolumeCFLNumber" rank="0">
337
<algorithm name="Internal" material_phase_support="multiple"/>
338
<mesh name="TracerMesh"/>
342
<include_in_convergence/>
345
<include_in_detectors/>
348
<include_in_steady_state/>