.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/ICFD/icfd_mesh_adaptivity.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_ICFD_icfd_mesh_adaptivity.py: Mesh adaptivity =============== This example shows a simple ICFD problem with adaptivity. The executable file for LS-DYNA is ``ls-dyna_smp_d_R13.1_138-g8429c8a10f_winx64_ifort190.exe``. .. GENERATED FROM PYTHON SOURCE LINES 8-85 .. rst-class:: sphx-glr-script-out .. code-block:: none '/server/output' | .. code-block:: Python import os import sys from ansys.dyna.core.pre import examples, launch_dynapre from ansys.dyna.core.pre.dynaicfd import ( ICFDDOF, Curve, DynaICFD, ICFDAnalysis, ICFDPart, ICFDVolumePart, MatICFD, MeshedVolume, ) from ansys.dyna.core.pre.misc import check_valid_ip hostname = "localhost" if len(sys.argv) > 1 and check_valid_ip(sys.argv[1]): hostname = sys.argv[1] solution = launch_dynapre(ip=hostname) # Import the initial mesh data(nodes and elements) fns = [] path = examples.mesh_adaptivity + os.sep fns.append(path + "mesh_adaptivity.k") solution.open_files(fns) solution.set_termination(termination_time=40) icfd = DynaICFD() solution.add(icfd) icfdanalysis = ICFDAnalysis() icfdanalysis.set_timestep() icfdanalysis.set_mesh_adaptivity(min_mesh_size=0.02, max_mesh_size=0.2, max_perceptual_error=2, num_iteration=10) icfd.add(icfdanalysis) # define model mat = MatICFD(flow_density=1.0, dynamic_viscosity=0.005) part_inflow = ICFDPart(1) part_inflow.set_material(mat) part_inflow.set_prescribed_velocity(dof=ICFDDOF.X, motion=Curve(x=[0, 10000], y=[1, 1])) part_inflow.set_prescribed_velocity(dof=ICFDDOF.Y, motion=Curve(x=[0, 10000], y=[0, 0])) icfd.parts.add(part_inflow) part_outflow = ICFDPart(2) part_outflow.set_material(mat) part_outflow.set_prescribed_pressure(pressure=Curve(x=[0, 10000], y=[0, 0])) icfd.parts.add(part_outflow) part_symmetric = ICFDPart(3) part_symmetric.set_material(mat) part_symmetric.set_free_slip() icfd.parts.add(part_symmetric) part_wall = ICFDPart(4) part_wall.set_material(mat) part_wall.set_non_slip() part_wall.compute_drag_force() part_wall.set_boundary_layer(number=2) icfd.parts.add(part_wall) part_meshsize = ICFDPart(5) part_meshsize.set_material(mat) icfd.parts.add(part_meshsize) partvol = ICFDVolumePart(surfaces=[1, 2, 3, 4]) partvol.set_material(mat) icfd.parts.add(partvol) # define the volume space that will be meshed,The boundaries # of the volume are the surfaces "spids" meshvol = MeshedVolume(surfaces=[1, 2, 3, 4]) icfd.add(meshvol) solution.create_database_binary(dt=0.5) solution.save_file() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.033 seconds) .. _sphx_glr_download_examples_ICFD_icfd_mesh_adaptivity.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: icfd_mesh_adaptivity.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: icfd_mesh_adaptivity.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: icfd_mesh_adaptivity.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_