  ```
import pyaedt

# Set graphical mode
pyaedt.graphical = True

# Download and open project
project = pyaedt.download_project("project_name", "project_path")

# Start HFSS with specified version
hfss = pyaedt.Hfss(project, "HFSS 3D Layout Design")

# Start Circuit and add HFSS dynamic link component
circuit = pyaedt.Circuit(project, "Circuit")
hfss_link = circuit.add_hfss_dynamic_link(hfss)

# Set up dynamic link options and create ports and excitations
hfss_link.set_dynamic_link_options(port_name="Port1", excitation_name="Excitation1")

# Create setup and solve circuit
setup = circuit.create_setup()
setup.props["Frequency"] = "1GHz"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props["Minimum Convergence Loss"] = "1e-6"
setup.props["Maximum Convergence Loss"] = "1e-3"
setup.props["Maximum Passes"] = "10"
setup.props["Minimum Passes"] = "1"
setup.props