@@ -39,6 +39,19 @@ def test_towel_hanger_case_creates_output_probes(tmp_path):
3939 assert countLinesInFile (probe_mid [0 ]) == 3
4040 assert countLinesInFile (probe_end [0 ]) == 3
4141
42+ @no_mpi_skip
43+ def test_airplane_case_with_mpi (tmp_path ):
44+ fn = CASES_FOLDER + 'airplane/airplane.fdtd.json'
45+ solver = FDTD (fn ,
46+ path_to_exe = SEMBA_EXE ,
47+ run_in_folder = tmp_path ,
48+ flags = ['-mapvtk' ],
49+ mpi_command = 'mpirun -np 2' )
50+ solver .run ()
51+
52+ vtkmapfile = solver .getVTKMap ()
53+ assert os .path .isfile (vtkmapfile )
54+
4255
4356def test_sphere_case_with_far_field_probe_launches (tmp_path ):
4457 fn = CASES_FOLDER + 'sphere/sphere.fdtd.json'
@@ -66,29 +79,34 @@ def test_tagnumbers_3_surfaces(tmp_path):
6679 solver ['general' ]['numberOfSteps' ] = 1
6780
6881 solver .run ()
69-
82+
7083 vtkmapfile = solver .getVTKMap ()
7184 assert os .path .isfile (vtkmapfile )
7285
73- face_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'tagnumber' )
86+ face_tag_dict = createPropertyDictionary (
87+ vtkmapfile , celltype = 9 , property = 'tagnumber' )
7488 assert face_tag_dict [64 ] == 4
7589 assert face_tag_dict [128 ] == 4
7690 assert face_tag_dict [192 ] == 4
7791
78- line_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'tagnumber' )
92+ line_tag_dict = createPropertyDictionary (
93+ vtkmapfile , celltype = 3 , property = 'tagnumber' )
7994 assert line_tag_dict [64 ] == 8
8095 assert line_tag_dict [128 ] == 4
8196 assert line_tag_dict [192 ] == 4
82-
83- face_media_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'mediatype' )
84- assert face_media_dict [0 ] == 4 #PEC surface
85- assert face_media_dict [304 ] == 4 #SGBC surface
86- assert face_media_dict [305 ] == 4 #SGBC surface
87-
88- line_media_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'mediatype' )
89- assert line_media_dict [0.5 ] == 8 #PEC line
90- assert line_media_dict [3.5 ] == 8 #SGBC line
91-
97+
98+ face_media_dict = createPropertyDictionary (
99+ vtkmapfile , celltype = 9 , property = 'mediatype' )
100+ assert face_media_dict [0 ] == 4 # PEC surface
101+ assert face_media_dict [304 ] == 4 # SGBC surface
102+ assert face_media_dict [305 ] == 4 # SGBC surface
103+
104+ line_media_dict = createPropertyDictionary (
105+ vtkmapfile , celltype = 3 , property = 'mediatype' )
106+ assert line_media_dict [0.5 ] == 8 # PEC line
107+ assert line_media_dict [3.5 ] == 8 # SGBC line
108+
109+
92110def test_tagnumbers_1_volume (tmp_path ):
93111 fn = CASES_FOLDER + 'tagNumber_mediaType/pec_volume.fdtd.json'
94112 solver = FDTD (input_filename = fn , path_to_exe = SEMBA_EXE ,
@@ -100,18 +118,23 @@ def test_tagnumbers_1_volume(tmp_path):
100118 vtkmapfile = solver .getVTKMap ()
101119 assert os .path .isfile (vtkmapfile )
102120
103- face_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'tagnumber' )
121+ face_tag_dict = createPropertyDictionary (
122+ vtkmapfile , celltype = 9 , property = 'tagnumber' )
104123 assert face_tag_dict [64 ] == 36
105-
106- line_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'tagnumber' )
124+
125+ line_tag_dict = createPropertyDictionary (
126+ vtkmapfile , celltype = 3 , property = 'tagnumber' )
107127 assert len (line_tag_dict ) == 0
108-
109- face_media_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'mediatype' )
110- assert face_media_dict [0 ] == 36 #PEC surface
111-
112- line_media_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'mediatype' )
128+
129+ face_media_dict = createPropertyDictionary (
130+ vtkmapfile , celltype = 9 , property = 'mediatype' )
131+ assert face_media_dict [0 ] == 36 # PEC surface
132+
133+ line_media_dict = createPropertyDictionary (
134+ vtkmapfile , celltype = 3 , property = 'mediatype' )
113135 assert len (line_media_dict ) == 0
114136
137+
115138def test_tagnumbers_2_volumes (tmp_path ):
116139 fn = CASES_FOLDER + 'tagNumber_mediaType/pec_volumes.fdtd.json'
117140 solver = FDTD (input_filename = fn , path_to_exe = SEMBA_EXE ,
@@ -123,19 +146,24 @@ def test_tagnumbers_2_volumes(tmp_path):
123146 vtkmapfile = solver .getVTKMap ()
124147 assert os .path .isfile (vtkmapfile )
125148
126- face_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'tagnumber' )
149+ face_tag_dict = createPropertyDictionary (
150+ vtkmapfile , celltype = 9 , property = 'tagnumber' )
127151 assert face_tag_dict [64 ] == 36
128152 assert face_tag_dict [128 ] == 36
129-
130- line_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'tagnumber' )
153+
154+ line_tag_dict = createPropertyDictionary (
155+ vtkmapfile , celltype = 3 , property = 'tagnumber' )
131156 assert len (line_tag_dict ) == 0
132-
133- face_media_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'mediatype' )
134- assert face_media_dict [0 ] == 72 #PEC surface
135-
136- line_media_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'mediatype' )
157+
158+ face_media_dict = createPropertyDictionary (
159+ vtkmapfile , celltype = 9 , property = 'mediatype' )
160+ assert face_media_dict [0 ] == 72 # PEC surface
161+
162+ line_media_dict = createPropertyDictionary (
163+ vtkmapfile , celltype = 3 , property = 'mediatype' )
137164 assert len (line_media_dict ) == 0
138165
166+
139167def test_tagnumbers_1_line (tmp_path ):
140168 fn = CASES_FOLDER + 'tagNumber_mediaType/pec_line.fdtd.json'
141169 solver = FDTD (input_filename = fn , path_to_exe = SEMBA_EXE ,
@@ -147,18 +175,23 @@ def test_tagnumbers_1_line(tmp_path):
147175 vtkmapfile = solver .getVTKMap ()
148176 assert os .path .isfile (vtkmapfile )
149177
150- face_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'tagnumber' )
178+ face_tag_dict = createPropertyDictionary (
179+ vtkmapfile , celltype = 9 , property = 'tagnumber' )
151180 assert len (face_tag_dict ) == 0
152-
153- line_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'tagnumber' )
181+
182+ line_tag_dict = createPropertyDictionary (
183+ vtkmapfile , celltype = 3 , property = 'tagnumber' )
154184 assert line_tag_dict [64 ] == 2
155-
156- face_media_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'mediatype' )
185+
186+ face_media_dict = createPropertyDictionary (
187+ vtkmapfile , celltype = 9 , property = 'mediatype' )
157188 assert len (face_media_dict ) == 0
158-
159- line_media_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'mediatype' )
160- assert line_media_dict [0.5 ] == 2 #PEC line
161-
189+
190+ line_media_dict = createPropertyDictionary (
191+ vtkmapfile , celltype = 3 , property = 'mediatype' )
192+ assert line_media_dict [0.5 ] == 2 # PEC line
193+
194+
162195def test_tagnumbers_volume_and_surfaces (tmp_path ):
163196 fn = CASES_FOLDER + 'tagNumber_mediaType/volume_and_surfaces.fdtd.json'
164197 solver = FDTD (input_filename = fn , path_to_exe = SEMBA_EXE ,
@@ -170,26 +203,31 @@ def test_tagnumbers_volume_and_surfaces(tmp_path):
170203 vtkmapfile = solver .getVTKMap ()
171204 assert os .path .isfile (vtkmapfile )
172205
173- face_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'tagnumber' )
206+ face_tag_dict = createPropertyDictionary (
207+ vtkmapfile , celltype = 9 , property = 'tagnumber' )
174208 assert face_tag_dict [64 ] == 6
175209 assert face_tag_dict [128 ] == 1
176210 assert face_tag_dict [192 ] == 1
177-
178- line_tag_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'tagnumber' )
211+
212+ line_tag_dict = createPropertyDictionary (
213+ vtkmapfile , celltype = 3 , property = 'tagnumber' )
179214 assert line_tag_dict [64 ] == 1
180215 assert line_tag_dict [128 ] == 4
181216 assert line_tag_dict [192 ] == 3
182-
183- face_media_dict = createPropertyDictionary (vtkmapfile , celltype = 9 , property = 'mediatype' )
184- assert face_media_dict [- 1 ] == 1 #PEC surface
185- assert face_media_dict [0 ] == 6 #PEC surface
186- assert face_media_dict [305 ] == 1 #SGBC surface
187-
188- line_media_dict = createPropertyDictionary (vtkmapfile , celltype = 3 , property = 'mediatype' )
189- assert line_media_dict [- 0.5 ] == 4 #PMC line
190- assert line_media_dict [0.5 ] == 1 #PEC line
191- assert line_media_dict [3.5 ] == 3 #SGBC line
192-
217+
218+ face_media_dict = createPropertyDictionary (
219+ vtkmapfile , celltype = 9 , property = 'mediatype' )
220+ assert face_media_dict [- 1 ] == 1 # PEC surface
221+ assert face_media_dict [0 ] == 6 # PEC surface
222+ assert face_media_dict [305 ] == 1 # SGBC surface
223+
224+ line_media_dict = createPropertyDictionary (
225+ vtkmapfile , celltype = 3 , property = 'mediatype' )
226+ assert line_media_dict [- 0.5 ] == 4 # PMC line
227+ assert line_media_dict [0.5 ] == 1 # PEC line
228+ assert line_media_dict [3.5 ] == 3 # SGBC line
229+
230+
193231def test_tagnumbers_count_bug (tmp_path ):
194232 fn = CASES_FOLDER + 'tagNumber_mediaType/count_bug.fdtd.json'
195233 solver = FDTD (input_filename = fn , path_to_exe = SEMBA_EXE ,
@@ -201,10 +239,10 @@ def test_tagnumbers_count_bug(tmp_path):
201239 solver ["materialAssociations" ][1 ]["materialId" ] = 1
202240 solver ["materialAssociations" ][2 ]["materialId" ] = 3
203241 solver .cleanUp ()
204- solver .run ()
205-
242+ solver .run ()
243+
206244 solver ["materialAssociations" ][0 ]["materialId" ] = 3
207245 solver ["materialAssociations" ][1 ]["materialId" ] = 3
208246 solver ["materialAssociations" ][2 ]["materialId" ] = 1
209247 solver .cleanUp ()
210- solver .run ()
248+ solver .run ()
0 commit comments