def test_field_shell_plot(allkindofcomplexity): model = Model(allkindofcomplexity) mesh = model.metadata.meshed_region stress = model.results.stress() stress.inputs.requested_location.connect("Nodal") fc = stress.outputs.fields_container() f = fc[0] f.plot()
def test_scoping_by_step_and_substep_from_model(plate_msup): model = Model(plate_msup) scop = time_freq_scoping_factory.scoping_by_step_and_substep_from_model( 1, 2, model) assert scop is not None assert len(scop.ids) == 1 assert scop.ids[0] == 2 assert scop.location == locations.time_freq
def test_plot_fieldscontainer_on_mesh(allkindofcomplexity): model = Model(allkindofcomplexity) mesh = model.metadata.meshed_region stress = model.results.stress() stress.inputs.requested_location.connect("Elemental") avg_op = Operator("to_elemental_fc") avg_op.inputs.fields_container.connect(stress.outputs.fields_container) fc = avg_op.outputs.fields_container() mesh.plot(fc)
def test_scoping_on_all_freqs(plate_msup): model = Model(plate_msup) scop = time_freq_scoping_factory.scoping_on_all_time_freqs(model) assert scop is not None assert np.allclose(scop.ids, range(1, 21)) scop = time_freq_scoping_factory.scoping_on_all_time_freqs( model.metadata.time_freq_support) assert scop is not None assert np.allclose(scop.ids, range(1, 21))
def test_plotter_on_fields_container_nodal(allkindofcomplexity): model = Model(allkindofcomplexity) stress = model.results.stress() stress.inputs.requested_location.connect("Elemental") avg_op = Operator("to_nodal_fc") avg_op.inputs.fields_container.connect(stress.outputs.fields_container) fc = avg_op.outputs.fields_container() pl = DpfPlotter(model.metadata.meshed_region) cpos = pl.plot_contour(fc)
def test_workflow_connect_get_output_time_freq_support(velocity_acceleration): model = Model(velocity_acceleration) tf = model.metadata.time_freq_support wf = dpf.core.Workflow() op = dpf.core.operators.utility.forward() wf.set_input_name("tf", op, 0) wf.set_output_name("tf", op, 0) wf.connect("tf", tf) tfout = wf.get_output("tf", dpf.core.types.time_freq_support) assert np.allclose(tf.time_frequencies.data, tfout.time_frequencies.data)
def test_update_time_freq_support_real_freq_with_ds(velocity_acceleration): model = Model(velocity_acceleration) disp = model.results.displacement() tfq = disp.outputs.fields_container().time_freq_support assert tfq.time_frequencies is not None frequencies = fields_factory.create_scalar_field(3) frequencies.data = [0.1, 0.32, 0.4] tfq.time_frequencies = frequencies frequencies_check = tfq.time_frequencies assert np.allclose(frequencies.data, frequencies_check.data)
def test_get_resultinfo_2(simple_bar): model = Model(simple_bar) res = model.metadata.result_info assert res.unit_system_name == "MKS: m, kg, N, s, V, A, degC" assert res.solver_version == "19.3" assert res.solver_date == 20181005 assert res.solver_time == 170340 assert res.user_name == "afaure" assert res.job_name == "file_Static22_0" assert res.product_name == "FULL" assert res.main_title == "unsaved_project--Static"
def test_chart_plotter(plate_msup): model = Model(plate_msup) mesh = model.metadata.meshed_region tfq = model.metadata.time_freq_support timeids = list(range(1, tfq.n_sets + 1)) disp = model.results.displacement() disp.inputs.time_scoping.connect(timeids) new_fields_container = disp.get_output(0, dpf.core.types.fields_container) pl = DpfPlotter(model.metadata.meshed_region) ret = pl.plot_chart(new_fields_container) assert ret
def test_deep_copy_time_freq_support_harmonic(): model = Model(examples.download_multi_harmonic_result()) tf = model.metadata.time_freq_support copy = tf.deep_copy() assert np.allclose(tf.time_frequencies.data, copy.time_frequencies.data) assert tf.time_frequencies.scoping.ids == copy.time_frequencies.scoping.ids assert tf.time_frequencies.unit == copy.time_frequencies.unit assert np.allclose(tf.complex_frequencies.data, copy.complex_frequencies.data) assert tf.complex_frequencies.scoping.ids == copy.complex_frequencies.scoping.ids assert np.allclose(tf.rpms.data, copy.rpms.data) assert tf.rpms.scoping.ids == copy.rpms.scoping.ids
def test_get_server_version(multishells): model = Model(multishells) server = model._server # version without specifying server version_blank = check_version.get_server_version() assert isinstance(version_blank, str) v_blank = float(version_blank) assert v_blank >= 2.0 # version specifying sever version = check_version.get_server_version(server) assert isinstance(version, str) v = float(version) assert v >= 2.0
def test_plotter_on_field(allkindofcomplexity): model = Model(allkindofcomplexity) stress = model.results.stress() stress.inputs.requested_location.connect("Elemental") avg_op = Operator("to_elemental_fc") avg_op.inputs.fields_container.connect(stress.outputs.fields_container) fc = avg_op.outputs.fields_container() field = fc[1] pl = DpfPlotter(model.metadata.meshed_region) fields_container = dpf.core.FieldsContainer() fields_container.add_label("time") fields_container.add_field({"time": 1}, field) cpos = pl.plot_contour(fields_container)
def test_check_server_version_checkversion(multishells): # this test is working because the server version format is "MAJOR.MINOR". # It can be adapted if this is evolving. model = Model(multishells) server = model._server v = check_version.get_server_version() split = v.split(".") l = 2 assert len(split) == l check_version.server_meet_version_and_raise(v, server) v_with_patch = v + ".0" check_version.server_meet_version_and_raise(v_with_patch, server) with pytest.raises(dpf_errors.DpfVersionNotSupported): n = len(split[l - 1]) v_up = v[0:n] + "1" check_version.server_meet_version_and_raise(v_up, server) with pytest.raises(dpf_errors.DpfVersionNotSupported): v_up_patch = v + ".1" check_version.server_meet_version_and_raise(v_up_patch, server)
def test_deep_copy_time_freq_support_multi_stage(): model = Model(examples.download_multi_stage_cyclic_result()) tf = model.metadata.time_freq_support copy = tf.deep_copy() assert np.allclose(tf.time_frequencies.data, copy.time_frequencies.data) assert tf.time_frequencies.scoping.ids == copy.time_frequencies.scoping.ids assert tf.time_frequencies.unit == copy.time_frequencies.unit assert np.allclose( tf.get_harmonic_indices(0).data, copy.get_harmonic_indices(0).data) assert (tf.get_harmonic_indices(0).scoping.ids == copy.get_harmonic_indices(0).scoping.ids) assert np.allclose( tf.get_harmonic_indices(1).data, copy.get_harmonic_indices(1).data) assert (tf.get_harmonic_indices(1).scoping.ids == copy.get_harmonic_indices(1).scoping.ids) assert len(tf.get_harmonic_indices(0).data) == 6 assert len(tf.get_harmonic_indices(1).data) == 6
def test_download_all_kinds_of_complexity_modal(): path = examples.download_all_kinds_of_complexity_modal() assert isinstance(Model(path), Model)
def test_operator_connect_get_output_time_freq_support(velocity_acceleration): model = Model(velocity_acceleration) tf = model.metadata.time_freq_support op = dpf.core.operators.utility.forward(tf) tfout = op.get_output(0, dpf.core.types.time_freq_support) assert np.allclose(tf.time_frequencies.data, tfout.time_frequencies.data)
def test_deep_copy_time_freq_support(velocity_acceleration): model = Model(velocity_acceleration) tf = model.metadata.time_freq_support copy = tf.deep_copy() assert np.allclose(tf.time_frequencies.data, copy.time_frequencies.data) assert tf.time_frequencies.scoping.ids == copy.time_frequencies.scoping.ids
def test_named_selection_scoping(model_with_ns): model = Model(model_with_ns) print(model.metadata.available_named_selections) scop = mesh_scoping_factory.named_selection_scoping("SELECTION", model) assert scop is not None assert len(scop.ids) != 0
def test_examples(example): # get example by string so we can parameterize it without breaking # collection path = getattr(globals()["examples"], example) assert isinstance(Model(path), Model)
def test_plotter_on_mesh(allkindofcomplexity): model = Model(allkindofcomplexity) pl = DpfPlotter(model.metadata.meshed_region) cpos = pl.plot_mesh()