Open
Description
📝 Description of the example
The script below measures the heat that has passed through the selected contact surface by getting the CONTA174 element heat flow and plots it at a specific time step of the analysis. Also it sums up and prints the total heat that has passed through the preferable contact surface during the whole analysis.
A prerequisite for the generation of the contact surface named selection is to add the following APDL command under the desired contact:
my_cont = cid
And the following command object before solution:
/PREP7
ESEL, S, TYPE, , my_cont
CM, PCB_CONT, ELEM
ALLSEL
/SOLU
The PyDPF script is as follows:
from ansys.dpf import core as dpf
from ansys.dpf.core.plotter import DpfPlotter
import numpy as np
"""
Load result file and create model database
"""
path = "../../model/file.rth"
ds = dpf.DataSources(path)
model = dpf.Model(ds)
mesh = model.metadata.meshed_region
"""
Select preferable Named Selection set in Mechanical
"""
get_NSs = model.metadata.available_named_selections
mesh_scoping = model.metadata.named_selection("PCB_CONT_2")
"""
Scope Named Selection to corresponding Mesh
"""
scoping_op = dpf.operators.mesh.from_scoping()
scoping_op.inputs.scoping.connect(mesh_scoping)
scoping_op.inputs.mesh.connect(mesh)
my_mesh = scoping_op.outputs.mesh()
"""
Get Heat Flow results at last time step
"""
contact_heatFlow_op = dpf.operators.result.nmisc(
# time_scoping=-1,
mesh_scoping=mesh_scoping,
data_sources=ds,
item_index=98,
)
contact_heatFlow_res = contact_heatFlow_op.outputs.fields_container()
"""
Contour Plot: Heat Flow
"""
sargs = dict(title="Contact Heat Flow [J]", title_font_size=30, label_font_size=20)
plot = DpfPlotter()
plot.add_field(contact_heatFlow_res[0], my_mesh, show_max=True, show_min=True, notebook=False, scalar_bar_args=sargs)
plot.show_figure(show_axes=True)
"""
Total Heat Flow through contact(s)
"""
heat_flow = np.sum(np.array(contact_heatFlow_res[0].data))
print("Total Heat Flow: ", round(heat_flow,2), " [J]")
📁 Files needed for running the example
Heat_through_Contact_PyDPF.zip
💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
2023R1
🐍 Which Python version are you using?
3.11
📦 Installed packages
ansys-dpf-core==0.8.1
ansys-dpf-gate==0.3.1
ansys-dpf-gatebin==0.3.1
ansys-grpc-dpf==0.7.1
asttokens==2.2.1
backcall==0.2.0
cachetools==5.3.1
certifi==2023.5.7
chardet==5.1.0
charset-normalizer==3.1.0
colorama==0.4.6
comm==0.1.3
contourpy==1.0.7
cycler==0.11.0
debugpy==1.6.7
decorator==5.1.1
et-xmlfile==1.1.0
executing==1.2.0
fonttools==4.40.0
google-api-core==2.11.0
google-api-python-client==2.88.0
google-auth==2.19.1
google-auth-httplib2==0.1.0
googleapis-common-protos==1.59.1
grpcio==1.54.2
httplib2==0.22.0
idna==3.4
importlib-metadata==6.6.0
ipykernel==6.23.2
ipython==8.14.0
jedi==0.18.2
jupyter_client==8.2.0
jupyter_core==5.3.0
kiwisolver==1.4.4
matplotlib==3.7.1
matplotlib-inline==0.1.6
nest-asyncio==1.5.6
numpy==1.24.3
openpyxl==3.1.2
packaging==23.1
pandas==2.0.2
parso==0.8.3
pexpect==4.8.0
pickleshare==0.7.5
Pillow==9.5.0
platformdirs==3.5.3
pooch==1.7.0
prompt-toolkit==3.0.38
protobuf==4.23.2
psutil==5.9.5
ptyprocess==0.7.0
pure-eval==0.2.2
pyasn1==0.5.0
pyasn1-modules==0.3.0
Pygments==2.15.1
pyparsing==3.0.9
python-dateutil==2.8.2
pytz==2023.3
pyvista==0.39.1
pywin32==306
pyzmq==25.1.0
requests==2.31.0
rsa==4.9
scooby==0.7.2
six==1.16.0
stack-data==0.6.2
tornado==6.3.2
tqdm==4.65.0
traitlets==5.9.0
tzdata==2023.3
uritemplate==4.1.1
urllib3==1.26.16
vtk==9.2.6
wcwidth==0.2.6
zipp==3.15.0