예제 #1
0
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()
예제 #2
0
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
예제 #3
0
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)
예제 #4
0
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))
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
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"
예제 #9
0
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
예제 #10
0
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
예제 #11
0
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
예제 #12
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)
예제 #13
0
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)
예제 #14
0
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
예제 #15
0
def test_download_all_kinds_of_complexity_modal():
    path = examples.download_all_kinds_of_complexity_modal()
    assert isinstance(Model(path), Model)
예제 #16
0
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)
예제 #17
0
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
예제 #18
0
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
예제 #19
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)
예제 #20
0
def test_plotter_on_mesh(allkindofcomplexity):
    model = Model(allkindofcomplexity)
    pl = DpfPlotter(model.metadata.meshed_region)
    cpos = pl.plot_mesh()