Running Ansys Fluent on Ansys Cloud using a Journal File and a UDF

Cloud computing is becoming more and more popular with the recent changes in the work environment, and Ansys Cloud solution is no exception. While running a Fluent simulation on the Ansys Cloud is now a more familiar task among CFD users since its introduction around a year ago, there are still some cases that might be challenging and need more attention. One of these cases is performing a Fluent simulation using a UDF.

The first thing users might notice when launching an Ansys Cloud Fluent job through the ACT extension is that the UDF files won’t be uploaded, which is why they might see their cases are failing if they don’t pay extra attention. In order to avoid this issue, users must follow one of the options below.

The first and most commonly used method to launch a Fluent job with a UDF is via the CLI (Command Line Interface). With this method, the .c and all other files in the working directory will be uploaded to the Cloud. Then UDF will then be compiled on the Cloud.

Since the Cloud computers already have compilers installed, one doesn’t need to anything special. The local directory should have .c file, case file with UDF plugged-in, and a journal file. As a side note, Ansys Fluent 19.3 and higher supports expressions that can be used to define boundary conditions instead of UDF. Starting with Ansys Fluent 2020R2, the C compiler is built-in with the software. Please refer to the product documentation.

We highly recommend that the user should have the required compiler installed locally to compile, hook, and test the routine before submitting it to the cloud.

If you have not used CLI to submit a Fluent job to the clouds, please read the article below:

https://cloudforum.ansys.com/t/80njy9/how-to-running-fluent-on-cloud-using-a-journal-file-and-udf

In short, you have to open a command prompt (cmd.exe) and navigate to your working folder. This folder should contain all the Fluent input files needed for the run: journal file, case file, etc. Once you login using ansyscloudcli command, you are ready to submit your job on the cloud.

Below is a common example for the commands to run Fluent on the cloud:

ansyscloudcli runfluent -j fluent_via_journal --jou tjunction.jou –q Flexible_eastus_Standard_HC44rs_2020r2 -n 1 -m 36 -v 2020r2

Here is some description of these commands:

> AnsysCloudCLI runFluent -j <job name> [--jou <journal>] -q <queue>  [-n <num nodes>] [-m <max cores>] -v <solver version>
-j: job name
-q: name of the queue 
    (run: ansyscloudcli getQueues, to get a list of all queues. Queue name is case sensitive)
-i: name of the input file for the solver
--jou: journal to execute (if set, -i is not used)
-n: number of nodes
-m: (optional) max number of cores. Useful if you want to make a run with 4 cores on a computer with 16 cores
-v: target solver version

The second method is to compile the UDF locally and upload all files to a virtual desktop infrastructure (VDI) session. Then the compiled UDF can be used with Fluent through the VDI session. Note that the UDF can’t be compiled on a VDI session with versions 2020R2 and earlier.

Lastly, with 2021R1 Fluent has a built in Clang compiler which will allow you to compile a UDF in a VDI session. However, the Clang compiler still won’t allow you to submit a Fluent job with a UDF through the ACT.

Ansys Cloud VDI solution running on a local desktop via RDP

Some Tips on Configuring RSM as a User

rsm1If you’re not familiar with it, RSM is the ANSYS Remote Solve Manager.  In short, it allows you to submit solutions from various ANSYS tools so they can be solved remotely, such as on a compute cluster, remote number cruncher, or perhaps just another computer that isn’t being used very much.  Note that there is no additional licensing or installation is required (other than perhaps ANSYS HPC licensing to take advantage of multiple cores).  RSM is installed automatically when ANSYS is installed; it just needs to be configured to be activated.

According to PC Revive, in version 14.5 and 15.0, there is a nicely documented Setup Wizard that helps with the setup and configuration of RSM on compute servers.  This setup wizard as well as the rest of the RSM documentation in the ANSYS Help does a great job of explaining RSM and what must be done to setup and configure it.  This Focus entry assumes that your crack IT staff has installed RSM on your compute machine(s) and has decided where the Compute Server will be (can be on your local machine or on your ‘number cruncher’ or on a different machine).  So, our focus here is on what needs to be done as a user to send your solutions off to the remote solver using RSM.

As an example, we have RSM 15.0 configured with the Compute Server on a remote computer named cs3a. The first time running RSM, using Start > All Programs > ANSYS 15.0 > Remote Solve Manager > RSM 15.0, we get the window shown here:

rsm2

Notice that it only shows our local machine (My Computer) and nothing about the actual remote computer on which we want to solve.

Therefore, we need to add the information on our cluster node which contains the compute server.

To do this, click on Tools > Options.  This is the resulting window.  Notice the Add button at lower left is grayed out:

rsm3

What it’s waiting for us to do is type in the name of our desired remote computer, like this:

rsm4

Now that a new name has been typed in the Name field, the Add button is active.  After clicking Add, we get this:

rsm5

After clicking OK, we will now see that the new remote computer has been added in the RSM window:

rsm6

The next step is to set your login password for accessing this computer.  Right click on the new hostname in the RSM window in the tree at left, and select Set Password.

rsma

Then enter your network login and password information in the resulting window:

rsmb

If your accounts are fully setup, at this point you can run a test by right clicking on the localhost item in the tree under the remote computer name and selecting Test Server:

rsm7

If the test is successful, you will see that the test job completed with a green checkmark on the folder icon in the upper right portion of the RSM window:

rsm8

If your login is not configured properly, you will likely get an error like this one shown below.  Notice that the upper right portion now states that the job has failed and there is a red X rather than a green checkmark on the folder icon.  By clicking on the job in the upper right panel, we can see the job log in the lower right panel.  In this case, it says that the login failed due to an incorrect password.

rsm9

The fix for the password problem is to ensure that the correct login is being accessed by RSM on the remote computer.  This is done from the RSM window by right clicking on the remote computer name and selecting Accounts.

rsm10

If your account and/or password are different on the remote computer than they are on your local machine, you will need to establish an alternate account so that RSM knows to use the correct login on the remote computer.  Right click on your account in the Accounts pane, and select Add Alternate Account:

rsm11

Enter your username and password for the remote computer in the resulting window.  Next, we need to associate that login with localhost on the remote computer.  This is down by checking the localhost box in the Compute Servers pane, like this:

rsm12

Another problem we have seen is that the user doesn’t have permission for ANSYS to write to the default solve directory on the remote computer.  In that case, the test job log will have an error like this:

rsm13

This fix in this case is to establish a solve directory manually, first by creating one on the remote computer, if needed, and second by specifying that RSM use that directory rather than the default.  The second step is accomplished in the RSM window via right clicking on the localhost item for the remote computer, then selecting Properties.  On the General tab, you should be able to change the Working Directory Location to User Specified, then enter the desired directory location as shown in the image below.  If that option is greyed out, either your password for the remote machine has not been entered correctly, or you are not part of the admin group on the remote computer.  In the case of the latter, either your RSM administrator has to do it for you, or you have to be granted the admin access.

rsm14

At this point, if the test server runs have completed successfully you should be ready to try a real solution using RSM.  We’ll use Mechanical to show how it’s done.  In the Mechanical editor, click on Tools > Solve Process Settings.  Here we will need to specify the remote computer and queue we’ll be using for the solution.  Click on the Add Remote button:

rsm15

In the resulting Rename Solve Process Settings button, type in a name for your remote solve option that makes sense to you.  We called ours RemoteSolve1.  This new option will now show up on the left side of the Solve Process Settings window:

rsm16

The next step is to type in the name of the Solve Manager over on the right side.  In our case, the Solve Manager is on computer cs3a.  Any queues that are available to RSM for this Solve Manager will show in the Queue field, after a brief period of time to make the connection.  In our case, the only queue is a local queue on cs3a.

rsm17

We are now ready to solve our Mechanical model remotely, using RSM.  Instead of clicking the Solve button in Mechanical, we will click on the drop down arrow to the right of the solve button.  From the dropdown, we select the remote solve option we created, RemoteSolve1:

rsm18

Assuming the solution completes with no errors, this job will show up in the RSM window with a status of Finished when it is done.

rsm19

The final step in this case is to download the results from the remote computer back to the client machine.  In the Mechanical editor, this is done by right clicking on the Solution branch and selecting Get Results as shown below.  Also note that you can monitor a nonlinear solution via Solution Information.  You’ll just need to right click during solution to have a snapshot of the nonlinear diagnostics brought back from the remote computer.

rsm20

We hope this helps with the setup and utilization of RSM from a user perspective.  There are other options and applications for RSM that we didn’t discuss, but hopefully this is useful for those needing to get ‘over the hump’ in using RSM.