Note
Go to the end to download the full example code
Harmonic Simulation#
本脚本对谐波模拟进行了处理,并使用了更复杂的结果。
Perform required imports#
执行所需的导入
本示例使用了一个提供的文件,您可以通过导入 DPF examples 包获得该文件。
from ansys.dpf import post
from ansys.dpf.post import examples
Get Simulation object#
获取允许访问结果的 Simulation 对象。必须使用结果文件的路径实例化 Simulation 对象。例如,Windows 下为 "C:/Users/user/my_result.rst" 或 Linux 下为 "/home/user/my_result.rst" 。
example_path = examples.download_harmonic_clamped_pipe()
# 要自动检测模拟类型,请使用:
simulation = post.load_simulation(example_path)
# 要启用自动完成功能,请使用等效的命令:
simulation = post.HarmonicMechanicalSimulation(example_path)
# 打印 simulation,了解可用内容的概况
print(simulation)
Harmonic Mechanical Simulation.
Data Sources
------------------------------
C:\Users\ff\AppData\Roaming\Python\Python310\site-packages\ansys\dpf\core\examples\result_files\harmonic\clamped_pipe.rst
DPF Model
------------------------------
Msup analysis
Unit system: NMM: mm, ton, N, s, mA, degC
Physics Type: Mechanical
Available results:
- displacement: Nodal Displacement
- reaction_force: Nodal Force
- stress: ElementalNodal Stress
- elemental_volume: Elemental Volume
- stiffness_matrix_energy: Elemental Energy-stiffness matrix
- artificial_hourglass_energy: Elemental Hourglass Energy
- thermal_dissipation_energy: Elemental thermal dissipation energy
- kinetic_energy: Elemental Kinetic Energy
- co_energy: Elemental co-energy
- incremental_energy: Elemental incremental energy
- elastic_strain: ElementalNodal Strain
------------------------------
DPF Meshed Region:
9943 nodes
5732 elements
Unit: mm
With solid (3D) elements, shell (2D) elements, shell (3D) elements
------------------------------
DPF Time/Freq Support:
Number of sets: 5
With complex values
Cumulative Frequency (Hz) LoadStep Substep RPM
1 2000.000000 1 1 0.000000
2 4000.000000 1 2 0.000000
3 6000.000000 1 3 0.000000
4 8000.000000 1 4 0.000000
5 10000.000000 1 5 0.000000
Extract displacement over a list of frequencies sets#
提取 frequencies sets 列表上的位移
打印 time_freq_support 有助于选择正确的频率
print(simulation.time_freq_support)
displacement = simulation.displacement(set_ids=[1, 2])
print(displacement)
subdisp = displacement.select(complex=0, set_ids=1)
print(subdisp)
subdisp.plot(title="U tot real")
subdisp = displacement.select(complex=1, set_ids=1)
print(subdisp)
subdisp.plot(title="U tot imaginary")
subdisp = displacement.select(complex=0, set_ids=2)
print(subdisp)
subdisp.plot(title="U tot real")
DPF Time/Freq Support:
Number of sets: 5
With complex values
Cumulative Frequency (Hz) LoadStep Substep RPM
1 2000.000000 1 1 0.000000
2 4000.000000 1 2 0.000000
3 6000.000000 1 3 0.000000
4 8000.000000 1 4 0.000000
5 10000.000000 1 5 0.000000
results U
set_ids 1 2
complex 0 1 0 1
node_ids components
3548 X 9.3929e+01 0.0000e+00 -5.2330e+01 0.0000e+00
Y -4.3312e+02 0.0000e+00 1.8810e+02 0.0000e+00
Z 9.6172e-01 0.0000e+00 -1.3049e+01 0.0000e+00
3656 X 1.0516e+02 0.0000e+00 -5.8461e+01 0.0000e+00
Y -4.6059e+02 0.0000e+00 2.0315e+02 0.0000e+00
Z 9.4728e-01 0.0000e+00 -1.3728e+01 0.0000e+00
... ... ... ... ... ...
results U
set_ids 1
complex 0
node_ids components
3548 X 9.3929e+01
Y -4.3312e+02
Z 9.6172e-01
3656 X 1.0516e+02
Y -4.6059e+02
Z 9.4728e-01
... ... ...
results U
set_ids 1
complex 1
node_ids components
3548 X 0.0000e+00
Y 0.0000e+00
Z 0.0000e+00
3656 X 0.0000e+00
Y 0.0000e+00
Z 0.0000e+00
... ... ...
results U
set_ids 2
complex 0
node_ids components
3548 X -5.2330e+01
Y 1.8810e+02
Z -1.3049e+01
3656 X -5.8461e+01
Y 2.0315e+02
Z -1.3728e+01
... ... ...
Extract stress eqv over a list of frequencies sets#
在 frequencies sets 列表中提取应力方程
stress_eqv = simulation.stress_eqv_von_mises_nodal(set_ids=[1, 2])
print(stress_eqv)
sub_eqv = stress_eqv.select(complex=0, set_ids=1)
print(sub_eqv)
sub_eqv.plot(title="S_eqv real")
sub_eqv = stress_eqv.select(complex=1, set_ids=1)
print(sub_eqv)
sub_eqv.plot(title="S_eqv imaginary")
sub_eqv = stress_eqv.select(complex=0, set_ids=2)
print(sub_eqv)
sub_eqv.plot(title="S_eqv real")
results S_VM
set_ids 1 2
complex 0 1 0 1
node_ids
3548 2.3945e+04 0.0000e+00 4.3578e+04 0.0000e+00
3656 8.7565e+03 0.0000e+00 3.0708e+04 0.0000e+00
4099 3.0310e+04 0.0000e+00 4.3383e+04 0.0000e+00
3760 1.3355e+04 0.0000e+00 3.2525e+04 0.0000e+00
3387 5.1281e+03 0.0000e+00 2.0660e+04 0.0000e+00
3549 5.8202e+03 0.0000e+00 1.9550e+04 0.0000e+00
... ... ... ... ...
results S_VM
set_ids 1
complex 0
node_ids
3548 2.3945e+04
3656 8.7565e+03
4099 3.0310e+04
3760 1.3355e+04
3387 5.1281e+03
3549 5.8202e+03
... ...
results S_VM
set_ids 1
complex 1
node_ids
3548 0.0000e+00
3656 0.0000e+00
4099 0.0000e+00
3760 0.0000e+00
3387 0.0000e+00
3549 0.0000e+00
... ...
results S_VM
set_ids 2
complex 0
node_ids
3548 4.3578e+04
3656 3.0708e+04
4099 4.3383e+04
3760 3.2525e+04
3387 2.0660e+04
3549 1.9550e+04
... ...
Total running time of the script: (0 minutes 4.872 seconds)





