Skip to content

Commit 9e35ada

Browse files
committed
Add a test for the empty partition behaviour.
1 parent d9bdd63 commit 9e35ada

File tree

11 files changed

+559
-0
lines changed

11 files changed

+559
-0
lines changed

tests/empty_partitions/Makefile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FLMLMODEL = empty_partitions
2+
3+
default: input
4+
5+
input:
6+
# gmsh -2 -bin square.geo
7+
8+
clean: clean-mesh clean-run-debug
9+
clean-mesh:
10+
# rm -f *.ele *.edge *.node *.msh *.halo
11+
clean-run:
12+
rm -f $(FLMLMODEL)_?*.pvtu $(FLMLMODEL)_?*.vtu
13+
rm -f $(FLMLMODEL).detectors $(FLMLMODEL).stat tmpf*
14+
rm -f fluidity.err-?* fluidity.log-?*
15+
rm -f matrixdump matrixdump.info
16+
rm -f $(FLMLMODEL)_?*_checkpoint.flml
17+
rm -f $(FLMLMODEL)_?*_checkpoint_?*.ele $(FLMLMODEL)_?*_checkpoint_?*.edge $(FLMLMODEL)_?*_checkpoint_?*.halo $(FLMLMODEL)_?*_checkpoint_?*.node
18+
rm -f $(FLMLMODEL)_?*_?*_checkpoint.pvtu $(FLMLMODEL)_?*_?*_checkpoint.vtu
19+
rm -f $(FLMLMODEL)_?*_checkpoint.ele $(FLMLMODEL)_?*_checkpoint.edge $(FLMLMODEL)_?*_checkpoint.node
20+
rm -f $(FLMLMODEL)_?*_checkpoint.vtu
21+
rm -rf $(FLMLMODEL)_?*
22+
clean-run-debug: clean-run
23+
rm -f adapted_mesh_?*.vtu bounding_box_?*_?*.vtu final_metric_?*.vtu gmon.out gradation_metric_?*.vtu interpolation_metric_final_?*.vtu interpolation_metric_hessian_?*_?*.vtu interpolation_metric_merge_?*_?*.vtu interpolation_metric_metric_?*_?*.vtu metric_input_?*_?*.vtu
24+
rm -f adapted_mesh.edge adapted_mesh.ele adapted_mesh.node
25+
rm -f adapted_mesh_?*.edge adapted_mesh_?*.ele adapted_mesh_?*.node
26+
rm -f adapted_state_?*.pvtu adapted_state_?*.vtu
Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,256 @@
1+
<?xml version='1.0' encoding='utf-8'?>
2+
<fluidity_options>
3+
<simulation_name>
4+
<string_value lines="1">empty_partitions</string_value>
5+
</simulation_name>
6+
<problem_type>
7+
<string_value lines="1">fluids</string_value>
8+
</problem_type>
9+
<geometry>
10+
<dimension>
11+
<integer_value rank="0">2</integer_value>
12+
</dimension>
13+
<mesh name="CoordinateMesh">
14+
<from_file file_name="square">
15+
<format name="gmsh"/>
16+
<stat>
17+
<include_in_stat/>
18+
</stat>
19+
</from_file>
20+
</mesh>
21+
<mesh name="P0">
22+
<from_mesh>
23+
<mesh name="CoordinateMesh"/>
24+
<mesh_shape>
25+
<polynomial_degree>
26+
<integer_value rank="0">0</integer_value>
27+
</polynomial_degree>
28+
</mesh_shape>
29+
<mesh_continuity>
30+
<string_value>discontinuous</string_value>
31+
</mesh_continuity>
32+
<stat>
33+
<exclude_from_stat/>
34+
</stat>
35+
</from_mesh>
36+
</mesh>
37+
<quadrature>
38+
<degree>
39+
<integer_value rank="0">5</integer_value>
40+
</degree>
41+
</quadrature>
42+
</geometry>
43+
<io>
44+
<dump_format>
45+
<string_value>vtk</string_value>
46+
</dump_format>
47+
<dump_period>
48+
<constant>
49+
<real_value rank="0">0</real_value>
50+
</constant>
51+
</dump_period>
52+
<output_mesh name="CoordinateMesh"/>
53+
<checkpointing>
54+
<checkpoint_period_in_dumps>
55+
<integer_value rank="0">2</integer_value>
56+
</checkpoint_period_in_dumps>
57+
</checkpointing>
58+
<stat/>
59+
</io>
60+
<timestepping>
61+
<current_time>
62+
<real_value rank="0">0.0</real_value>
63+
</current_time>
64+
<timestep>
65+
<real_value rank="0">1.0</real_value>
66+
</timestep>
67+
<finish_time>
68+
<real_value rank="0">4.0</real_value>
69+
</finish_time>
70+
</timestepping>
71+
<material_phase name="Fluid">
72+
<equation_of_state>
73+
<fluids>
74+
<linear>
75+
<reference_density>
76+
<real_value rank="0">1.0</real_value>
77+
</reference_density>
78+
</linear>
79+
</fluids>
80+
</equation_of_state>
81+
<scalar_field name="Pressure" rank="0">
82+
<prognostic>
83+
<mesh name="CoordinateMesh"/>
84+
<spatial_discretisation>
85+
<continuous_galerkin/>
86+
</spatial_discretisation>
87+
<scheme>
88+
<poisson_pressure_solution>
89+
<string_value lines="1">only first timestep</string_value>
90+
</poisson_pressure_solution>
91+
<use_projection_method/>
92+
</scheme>
93+
<solver>
94+
<iterative_method name="cg"/>
95+
<preconditioner name="sor"/>
96+
<relative_error>
97+
<real_value rank="0">1.0e-7</real_value>
98+
</relative_error>
99+
<max_iterations>
100+
<integer_value rank="0">1000</integer_value>
101+
</max_iterations>
102+
<never_ignore_solver_failures/>
103+
<diagnostics>
104+
<monitors/>
105+
</diagnostics>
106+
</solver>
107+
<output/>
108+
<stat/>
109+
<convergence>
110+
<include_in_convergence/>
111+
</convergence>
112+
<detectors>
113+
<exclude_from_detectors/>
114+
</detectors>
115+
<steady_state>
116+
<include_in_steady_state/>
117+
</steady_state>
118+
<no_interpolation/>
119+
</prognostic>
120+
</scalar_field>
121+
<scalar_field name="Density" rank="0">
122+
<diagnostic>
123+
<algorithm name="Internal" material_phase_support="multiple"/>
124+
<mesh name="CoordinateMesh"/>
125+
<output/>
126+
<stat/>
127+
<convergence>
128+
<include_in_convergence/>
129+
</convergence>
130+
<detectors>
131+
<include_in_detectors/>
132+
</detectors>
133+
<steady_state>
134+
<include_in_steady_state/>
135+
</steady_state>
136+
</diagnostic>
137+
</scalar_field>
138+
<vector_field name="Velocity" rank="1">
139+
<prognostic>
140+
<mesh name="CoordinateMesh"/>
141+
<equation name="Boussinesq"/>
142+
<spatial_discretisation>
143+
<continuous_galerkin>
144+
<stabilisation>
145+
<no_stabilisation/>
146+
</stabilisation>
147+
<mass_terms>
148+
<lump_mass_matrix/>
149+
</mass_terms>
150+
<advection_terms/>
151+
<stress_terms>
152+
<tensor_form/>
153+
</stress_terms>
154+
<buoyancy/>
155+
</continuous_galerkin>
156+
<conservative_advection>
157+
<real_value rank="0">1.0</real_value>
158+
</conservative_advection>
159+
</spatial_discretisation>
160+
<temporal_discretisation>
161+
<theta>
162+
<real_value rank="0">0.0</real_value>
163+
</theta>
164+
<relaxation>
165+
<real_value rank="0">1.0</real_value>
166+
</relaxation>
167+
</temporal_discretisation>
168+
<solver>
169+
<iterative_method name="gmres"/>
170+
<preconditioner name="sor"/>
171+
<relative_error>
172+
<real_value rank="0">1.0e-7</real_value>
173+
</relative_error>
174+
<max_iterations>
175+
<integer_value rank="0">1000</integer_value>
176+
</max_iterations>
177+
<never_ignore_solver_failures/>
178+
<diagnostics>
179+
<monitors/>
180+
</diagnostics>
181+
</solver>
182+
<initial_condition name="WholeMesh">
183+
<constant>
184+
<real_value shape="2" dim1="dim" rank="1">0 0</real_value>
185+
</constant>
186+
</initial_condition>
187+
<output/>
188+
<stat>
189+
<include_in_stat/>
190+
<previous_time_step>
191+
<exclude_from_stat/>
192+
</previous_time_step>
193+
<nonlinear_field>
194+
<exclude_from_stat/>
195+
</nonlinear_field>
196+
</stat>
197+
<convergence>
198+
<include_in_convergence/>
199+
</convergence>
200+
<detectors>
201+
<include_in_detectors/>
202+
</detectors>
203+
<steady_state>
204+
<include_in_steady_state/>
205+
</steady_state>
206+
<consistent_interpolation/>
207+
</prognostic>
208+
</vector_field>
209+
<scalar_field name="NodeOwner" rank="0">
210+
<diagnostic>
211+
<algorithm legacy="true" name="Internal" material_phase_support="multiple"/>
212+
<mesh name="CoordinateMesh"/>
213+
<output/>
214+
<stat/>
215+
<convergence>
216+
<include_in_convergence/>
217+
</convergence>
218+
<detectors>
219+
<include_in_detectors/>
220+
</detectors>
221+
<steady_state>
222+
<include_in_steady_state/>
223+
</steady_state>
224+
</diagnostic>
225+
</scalar_field>
226+
</material_phase>
227+
<mesh_adaptivity>
228+
<hr_adaptivity>
229+
<period_in_timesteps>
230+
<integer_value rank="0">1</integer_value>
231+
</period_in_timesteps>
232+
<maximum_number_of_nodes>
233+
<integer_value rank="0">1000000</integer_value>
234+
</maximum_number_of_nodes>
235+
<enable_gradation/>
236+
<tensor_field name="MinimumEdgeLengths">
237+
<anisotropic_symmetric>
238+
<python>
239+
<string_value lines="20" type="code" language="python">def val(X,t):
240+
a = 1.0/max(1.0,0.5*t*t)
241+
return [[a,0],[0,a]]</string_value>
242+
</python>
243+
</anisotropic_symmetric>
244+
</tensor_field>
245+
<tensor_field name="MaximumEdgeLengths">
246+
<anisotropic_symmetric>
247+
<python>
248+
<string_value lines="20" type="code" language="python">def val(X,t):
249+
a = 1.0/max(1.0,0.5*t*t)
250+
return [[a,0],[0,a]]</string_value>
251+
</python>
252+
</anisotropic_symmetric>
253+
</tensor_field>
254+
</hr_adaptivity>
255+
</mesh_adaptivity>
256+
</fluidity_options>
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<header>
2+
<constant name="FluidityVersion" type="string" value="allow_empty_partitions:6057376d68b9850eabb07d70ed2f24385c822e3c" />
3+
<constant name="CompileTime" type="string" value="Aug 9 2017 14:02:17" />
4+
<constant name="StartTime" type="string" value="20170811 173340.294+0100" />
5+
<constant name="HostName" type="string" value="Unknown" />
6+
<constant name="format" type="string" value="plain_text" />
7+
<field column="1" name="ElapsedTime" statistic="value"/>
8+
<field column="2" name="dt" statistic="value"/>
9+
<field column="3" name="ElapsedWallTime" statistic="value"/>
10+
<field column="4" name="CoordinateMesh" statistic="nodes"/>
11+
<field column="5" name="CoordinateMesh" statistic="elements"/>
12+
<field column="6" name="CoordinateMesh" statistic="surface_elements"/>
13+
<field column="7" name="TotalMemory" statistic="current" material_phase="Memory"/>
14+
<field column="8" name="TotalMemory" statistic="min" material_phase="Memory"/>
15+
<field column="9" name="TotalMemory" statistic="max" material_phase="Memory"/>
16+
<field column="10" name="MeshMemory" statistic="current" material_phase="Memory"/>
17+
<field column="11" name="MeshMemory" statistic="min" material_phase="Memory"/>
18+
<field column="12" name="MeshMemory" statistic="max" material_phase="Memory"/>
19+
<field column="13" name="ScalarFieldMemory" statistic="current" material_phase="Memory"/>
20+
<field column="14" name="ScalarFieldMemory" statistic="min" material_phase="Memory"/>
21+
<field column="15" name="ScalarFieldMemory" statistic="max" material_phase="Memory"/>
22+
<field column="16" name="VectorFieldMemory" statistic="current" material_phase="Memory"/>
23+
<field column="17" name="VectorFieldMemory" statistic="min" material_phase="Memory"/>
24+
<field column="18" name="VectorFieldMemory" statistic="max" material_phase="Memory"/>
25+
<field column="19" name="TensorFieldMemory" statistic="current" material_phase="Memory"/>
26+
<field column="20" name="TensorFieldMemory" statistic="min" material_phase="Memory"/>
27+
<field column="21" name="TensorFieldMemory" statistic="max" material_phase="Memory"/>
28+
<field column="22" name="MatrixSparsityMemory" statistic="current" material_phase="Memory"/>
29+
<field column="23" name="MatrixSparsityMemory" statistic="min" material_phase="Memory"/>
30+
<field column="24" name="MatrixSparsityMemory" statistic="max" material_phase="Memory"/>
31+
<field column="25" name="MatrixMemory" statistic="current" material_phase="Memory"/>
32+
<field column="26" name="MatrixMemory" statistic="min" material_phase="Memory"/>
33+
<field column="27" name="MatrixMemory" statistic="max" material_phase="Memory"/>
34+
<field column="28" name="TransformCacheMemory" statistic="current" material_phase="Memory"/>
35+
<field column="29" name="TransformCacheMemory" statistic="min" material_phase="Memory"/>
36+
<field column="30" name="TransformCacheMemory" statistic="max" material_phase="Memory"/>
37+
<field column="31" name="Pressure" statistic="min" material_phase="Fluid"/>
38+
<field column="32" name="Pressure" statistic="max" material_phase="Fluid"/>
39+
<field column="33" name="Pressure" statistic="l2norm" material_phase="Fluid"/>
40+
<field column="34" name="Pressure" statistic="integral" material_phase="Fluid"/>
41+
<field column="35" name="Density" statistic="min" material_phase="Fluid"/>
42+
<field column="36" name="Density" statistic="max" material_phase="Fluid"/>
43+
<field column="37" name="Density" statistic="l2norm" material_phase="Fluid"/>
44+
<field column="38" name="Density" statistic="integral" material_phase="Fluid"/>
45+
<field column="39" name="NodeOwner" statistic="min" material_phase="Fluid"/>
46+
<field column="40" name="NodeOwner" statistic="max" material_phase="Fluid"/>
47+
<field column="41" name="NodeOwner" statistic="l2norm" material_phase="Fluid"/>
48+
<field column="42" name="NodeOwner" statistic="integral" material_phase="Fluid"/>
49+
<field column="43" name="Velocity%magnitude" statistic="min" material_phase="Fluid"/>
50+
<field column="44" name="Velocity%magnitude" statistic="max" material_phase="Fluid"/>
51+
<field column="45" name="Velocity%magnitude" statistic="l2norm" material_phase="Fluid"/>
52+
<field column="46" name="Velocity%1" statistic="min" material_phase="Fluid"/>
53+
<field column="47" name="Velocity%1" statistic="max" material_phase="Fluid"/>
54+
<field column="48" name="Velocity%1" statistic="l2norm" material_phase="Fluid"/>
55+
<field column="49" name="Velocity%1" statistic="integral" material_phase="Fluid"/>
56+
<field column="50" name="Velocity%2" statistic="min" material_phase="Fluid"/>
57+
<field column="51" name="Velocity%2" statistic="max" material_phase="Fluid"/>
58+
<field column="52" name="Velocity%2" statistic="l2norm" material_phase="Fluid"/>
59+
<field column="53" name="Velocity%2" statistic="integral" material_phase="Fluid"/>
60+
</header>
61+
0.10000000000000000E+001 0.10000000000000000E+001 0.13100000000000001E+000 4 2 4 0.20440000000000000E+004 0.00000000000000000E+000 0.23480000000000000E+004 0.25600000000000000E+003 0.00000000000000000E+000 0.25600000000000000E+003 0.13600000000000000E+003 0.00000000000000000E+000 0.26400000000000000E+003 0.14400000000000000E+003 0.00000000000000000E+000 0.33600000000000000E+003 0.38400000000000000E+003 0.00000000000000000E+000 0.41600000000000000E+003 0.33200000000000000E+003 0.00000000000000000E+000 0.33200000000000000E+003 0.50400000000000000E+003 0.00000000000000000E+000 0.61600000000000000E+003 0.28800000000000000E+003 0.00000000000000000E+000 0.28800000000000000E+003 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.40000000000000000E+001 0.25819888974716108E+001 0.25000000000000000E+001 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000
62+
0.20000000000000000E+001 0.10000000000000000E+001 0.48529999999999998E+001 4 2 4 0.26800000000000000E+003 0.23600000000000000E+003 0.21440000000000000E+004 0.00000000000000000E+000 0.00000000000000000E+000 0.58400000000000000E+003 0.80000000000000000E+001 0.00000000000000000E+000 0.16800000000000000E+003 0.16000000000000000E+002 0.00000000000000000E+000 0.28800000000000000E+003 0.00000000000000000E+000 0.00000000000000000E+000 0.51200000000000000E+003 0.16000000000000000E+002 0.80000000000000000E+001 0.46400000000000000E+003 0.00000000000000000E+000 0.00000000000000000E+000 0.54400000000000000E+003 0.22800000000000000E+003 0.14400000000000000E+003 0.28800000000000000E+003 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000
63+
0.30000000000000000E+001 0.10000000000000000E+001 0.91509999999999998E+001 5 4 4 0.32800000000000000E+003 0.24000000000000000E+003 0.32120000000000000E+004 0.00000000000000000E+000 0.00000000000000000E+000 0.10880000000000000E+004 0.80000000000000000E+001 0.00000000000000000E+000 0.15200000000000000E+003 0.16000000000000000E+002 0.00000000000000000E+000 0.36800000000000000E+003 0.00000000000000000E+000 0.00000000000000000E+000 0.80000000000000000E+003 0.16000000000000000E+002 0.80000000000000000E+001 0.74000000000000000E+003 0.00000000000000000E+000 0.00000000000000000E+000 0.14400000000000000E+003 0.28800000000000000E+003 0.14400000000000000E+003 0.28800000000000000E+003 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000
64+
0.40000000000000000E+001 0.10000000000000000E+001 0.13734000000000000E+002 9 8 8 0.63400000000000000E+004 0.30000000000000000E+003 0.70600000000000000E+004 0.83200000000000000E+003 0.00000000000000000E+000 0.23680000000000000E+004 0.29600000000000000E+003 0.00000000000000000E+000 0.58400000000000000E+003 0.30400000000000000E+003 0.00000000000000000E+000 0.73600000000000000E+003 0.86400000000000000E+003 0.00000000000000000E+000 0.14400000000000000E+004 0.94000000000000000E+003 0.12000000000000000E+002 0.15400000000000000E+004 0.20480000000000000E+004 0.00000000000000000E+000 0.23760000000000000E+004 0.10560000000000000E+004 0.14400000000000000E+003 0.10560000000000000E+004 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.10000000000000000E+001 0.40000000000000000E+001 0.22032173444003806E+001 0.20833333333333330E+001 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000 0.00000000000000000E+000

0 commit comments

Comments
 (0)