# ANSYS HFSS (ElectroMagnetics) This recipe is intended to show how to run ANSYS HFSS (ElectroMagnetics) in Slurm. Having in mind that in general, running ANSYS HFSS means running **ANSYS Electronics Desktop**. ## Running HFSS / Electromagnetics jobs ### PModules Is necessary to run at least ANSYS software **ANSYS/2022R1**, which is available in PModules: ```bash module use unstable module load Pmodules/1.1.6 module use overlay_merlin module load ANSYS/2022R1 ``` ## Remote job submission: HFSS RSM and SLURM Running jobs through Remote RSM or Slurm is the recommended way for running ANSYS HFSS. * **HFSS RSM** can be used from ANSYS HFSS installations running on Windows workstations at PSI (as long as are in the internal PSI network). * **Slurm** can be used when submitting directly from a Merlin login node (i.e. `sbatch` command or interactively from **ANSYS Electronics Desktop**) ### HFSS RSM (from remote workstations) Running jobs through Remote RSM is the way for running ANSYS HFSS when submitting from an ANSYS HFSS installation on a PSI Windows workstation. A HFSS RSM service is running on each **Merlin login node**, and the listening port depends on the ANSYS EM version. Current support ANSYS EM RSM release and associated listening ports are the following:
ANSYS version Login nodes Listening port
2022R1 merlin-l-001 merlin-l-001 merlin-l-001 32958
2022R2 merlin-l-001 merlin-l-001 merlin-l-001 32959
2023R2 merlin-l-001 merlin-l-001 merlin-l-001 32960
Notice that by default ANSYS EM is listening on port **`32958`**, this is the default for **ANSYS/2022R1** only. * Workstations connecting to the Merlin ANSYS EM service must ensure that **Electronics Desktop** is connecting to the proper port. * In the same way, the ANSYS Workstation version must be the same as the version running on Merlin. Notice that *HFSS RSM is not the same RSM provided for other ANSYS products*. Therefore, the configuration is different from [ANSYS RSM](ansys-rsm.md). To setup HFSS RSM for using it with the Merlin cluster, it must be done from the following **ANSYS Electronics Desktop** menu: 1. **[Tools]->[Job Management]->[Select Scheduler]**: ![Select_Scheduler](../../images/ANSYS/HFSS/01_Select_Scheduler_Menu.png) 2. In the new **[Select scheduler]** window, setup the following settings and **Refresh**: ![RSM_Remote_Scheduler](../../images/ANSYS/HFSS/02_Select_Scheduler_RSM_Remote.png) * **Select Scheduler**: `Remote RSM`. * **Server**: Add a Merlin login node. * **User name**: Add your Merlin username. * **Password**: Add you Merlin username password. Once *refreshed*, the **Scheduler info** box must provide **Slurm** information of the server (see above picture). If the box contains that information, then you can save changes (`OK` button). 3. **[Tools]->[Job Management]->[Submit Job...]**: ![Submit_Job](../../images/ANSYS/HFSS/04_Submit_Job_Menu.png) 4. In the new **[Submite Job]** window, you must specify the location of the **ANSYS Electronics Desktop** binary: ![Product_Path](../../images/ANSYS/HFSS/05_Submit_Job_Product_Path.png) * In example, for **ANSYS/2022R1**, the location is `/data/software/pmodules/Tools/ANSYS/2021R1/v211/AnsysEM21.1/Linux64/ansysedt.exe`. ### HFSS Slurm (from login node only) Running jobs through Slurm from **ANSYS Electronics Desktop** is the way for running ANSYS HFSS when submitting from an ANSYS HFSS installation in a Merlin login node. **ANSYS Electronics Desktop** usually needs to be run from the **[Merlin NoMachine](../how-to-use-merlin/nomachine.md)** service, which currently runs on: * `merlin-l-001.psi.ch` * `merlin-l-002.psi.ch` Since the Slurm client is present in the login node (where **ANSYS Electronics Desktop** is running), the application will be able to detect and to submit directly to Slurm. Therefore, we only have to configure **ANSYS Electronics Desktop** to submit to Slurm. This can set as follows: 1. **[Tools]->[Job Management]->[Select Scheduler]**: ![Select_Scheduler](../../images/ANSYS/HFSS/01_Select_Scheduler_Menu.png) 2. In the new **[Select scheduler]** window, setup the following settings and **Refresh**: ![RSM_Remote_Scheduler](../../images/ANSYS/HFSS/03_Select_Scheduler_Slurm.png) * **Select Scheduler**: `Slurm`. * **Server**: must point to `localhost`. * **User name**: must be empty. * **Password**: must be empty. The **Server, User name** and **Password** boxes can't be modified, but if value do not match with the above settings, they should be changed by selecting another Scheduler which allows editig these boxes (i.e. **RSM Remote**). Once *refreshed*, the **Scheduler info** box must provide **Slurm** information of the server (see above picture). If the box contains that information, then you can save changes (`OK` button).