.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\gallery_examples\04-analyses\update_pcb_modeling_properties.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_gallery_examples_04-analyses_update_pcb_modeling_properties.py: .. _ref_sherlock_update_pcb_modeling_props: ============================== Update PCB Modeling Properties ============================== This example demonstrates how to connect to the Sherlock gRPC service, import a project, and configure PCB modeling properties for various analysis types. Description ----------- Sherlock allows you to configure PCB modeling properties for multiple analysis types. This script performs the following steps: - Connect to the Sherlock service. - Import a project. - Configure PCB modeling properties for several analysis types. .. GENERATED FROM PYTHON SOURCE LINES 37-55 .. code-block:: Python import os from examples.examples_globals import get_sherlock_tutorial_path from ansys.sherlock.core import launcher from ansys.sherlock.core.errors import ( SherlockImportProjectZipArchiveError, SherlockUpdatePcbModelingPropsError, ) from ansys.sherlock.core.types.analysis_types import ( ElementOrder, UpdatePcbModelingPropsRequestAnalysisType, UpdatePcbModelingPropsRequestPcbMaterialModel, UpdatePcbModelingPropsRequestPcbModelType, ) .. GENERATED FROM PYTHON SOURCE LINES 57-60 Connect to Sherlock =================== Connect to the Sherlock service and ensure proper initialization. .. GENERATED FROM PYTHON SOURCE LINES 60-63 .. code-block:: Python sherlock = launcher.connect(port=9092, timeout=10) .. GENERATED FROM PYTHON SOURCE LINES 64-67 Delete Project ============== Delete the project if it already exists. .. GENERATED FROM PYTHON SOURCE LINES 67-74 .. code-block:: Python try: sherlock.project.delete_project("Test") print("Project deleted successfully.") except Exception: pass .. GENERATED FROM PYTHON SOURCE LINES 75-78 Import Tutorial Project ======================= Import the tutorial project zip archive from the Sherlock tutorial directory. .. GENERATED FROM PYTHON SOURCE LINES 78-89 .. code-block:: Python try: sherlock.project.import_project_zip_archive( project="Test", category="Demos", archive_file=os.path.join(get_sherlock_tutorial_path(), "Auto Relay Project.zip"), ) print("Tutorial project imported successfully.") except SherlockImportProjectZipArchiveError as e: print(f"Error importing project zip archive: {e}") .. GENERATED FROM PYTHON SOURCE LINES 90-93 Update PCB Modeling Properties ============================== Configure PCB modeling properties for various analysis types. .. GENERATED FROM PYTHON SOURCE LINES 93-208 .. code-block:: Python try: sherlock.analysis.update_pcb_modeling_props( project="Test", cca_names=["Auto Relay"], analyses=[ ( UpdatePcbModelingPropsRequestAnalysisType.HARMONIC_VIBE, UpdatePcbModelingPropsRequestPcbModelType.BONDED, True, UpdatePcbModelingPropsRequestPcbMaterialModel.UNIFORM, ElementOrder.SOLID_SHELL, 6, "mm", 3, "mm", True, ) ], ) sherlock.analysis.update_pcb_modeling_props( project="Test", cca_names=["Auto Relay"], analyses=[ ( UpdatePcbModelingPropsRequestAnalysisType.NATURAL_FREQUENCY, UpdatePcbModelingPropsRequestPcbModelType.BONDED, True, UpdatePcbModelingPropsRequestPcbMaterialModel.UNIFORM, ElementOrder.SOLID_SHELL, 6, "mm", 3, "mm", True, ) ], ) sherlock.analysis.update_pcb_modeling_props( project="Test", cca_names=["Auto Relay"], analyses=[ ( UpdatePcbModelingPropsRequestAnalysisType.ICT, UpdatePcbModelingPropsRequestPcbModelType.BONDED, True, UpdatePcbModelingPropsRequestPcbMaterialModel.UNIFORM, ElementOrder.SOLID_SHELL, 6, "mm", 3, "mm", True, ) ], ) sherlock.analysis.update_pcb_modeling_props( project="Test", cca_names=["Auto Relay"], analyses=[ ( UpdatePcbModelingPropsRequestAnalysisType.MECHANICAL_SHOCK, UpdatePcbModelingPropsRequestPcbModelType.BONDED, True, UpdatePcbModelingPropsRequestPcbMaterialModel.LAYERED, ElementOrder.SOLID_SHELL, 6, "mm", 3, "mm", True, ) ], ) sherlock.analysis.update_pcb_modeling_props( project="Test", cca_names=["Auto Relay"], analyses=[ ( UpdatePcbModelingPropsRequestAnalysisType.RANDOM_VIBE, UpdatePcbModelingPropsRequestPcbModelType.BONDED, True, UpdatePcbModelingPropsRequestPcbMaterialModel.LAYERED_ELEMENTS, 5, ElementOrder.SOLID_SHELL, 6, "mm", 3, "mm", True, ) ], ) sherlock.analysis.update_pcb_modeling_props( project="Test", cca_names=["Auto Relay"], analyses=[ ( UpdatePcbModelingPropsRequestAnalysisType.THERMAL_MECH, UpdatePcbModelingPropsRequestPcbModelType.BONDED, True, UpdatePcbModelingPropsRequestPcbMaterialModel.UNIFORM_ELEMENTS, 5, ElementOrder.SOLID_SHELL, 6, "mm", 3, "mm", True, ) ], ) print("PCB modeling properties updated successfully.") except SherlockUpdatePcbModelingPropsError as e: print(f"Error updating PCB modeling properties: {e}") .. _sphx_glr_download_examples_gallery_examples_04-analyses_update_pcb_modeling_properties.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: update_pcb_modeling_properties.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: update_pcb_modeling_properties.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: update_pcb_modeling_properties.zip `