Ansys Assistant will be unavailable on the Learning Forum starting January 30. An upgraded version is coming soon. We apologize for any inconvenience and appreciate your patience. Stay tuned for updates.
Ansys Products

Ansys Products

Discuss installation & licensing of our Ansys Teaching and Research products.

Ansys returns an error while running it on my University’s HPC

    • v.bhatnagar.1
      Subscriber

      Hello everyone,

      I have been trying to run a .wbpj file on my University's Linux-based HPC using Ansys 2024 R1, but unable to do so due to an error. Even when I submit an empty "minimal_test.wbpj" file, it returns the following error. The error is the same regardless of whether the .wbpj file is my actual simulation setup (on Ansys Polyflow) or just an empty file for testing purposes.

      I am attaching all relevant files for you to check. I use a SLURM script to run it on my University's HPC cluster.

      Error file:

      _____

      _____

      Job started at: Fri 23 May 12:39:25 BST 2025
      SLURM_JOB_ID: 7752
      Attempting to run Workbench...
       
      Framework error caught :
       
      Fatal error: An unexpected error has occurred: Unable to load project '/home/postgrads/2913170B/DieSwell_Simple/minimal_test.wbpj': Ansys.Core.Events.EventPublishFailedException: Failed to create object 6a7e2939-5ffe-47a0-bda7-fb034a0e3a0f, error code hres: 8000FFFF ---> Ansys.Core.Events.EventPublishFailedException: Failed to create object 6a7e2939-5ffe-47a0-bda7-fb034a0e3a0f, error code hres: 8000FFFF ---> Ansys.Core.Events.EventPublishFailedException: Failed to create object 6a7e2939-5ffe-47a0-bda7-fb034a0e3a0f, error code hres: 8000FFFF ---> Ansys.Core.Events.EventPublishFailedException: Failed to create object 6a7e2939-5ffe-47a0-bda7-fb034a0e3a0f, error code hres: 8000FFFF ---> System.Runtime.InteropServices.COMException: Failed to create object 6a7e2939-5ffe-47a0-bda7-fb034a0e3a0f, error code hres: 8000FFFF
        at Ans.ComponentSystem.Interop.MiniCom.AnsCoCreateInstance (System.Type classType, System.IntPtr aggr) [0x0007f] in <44fa2ffd3745466592ae7a1a4b470645>:0 
        at Ansys.ACT.Interop.DefinitionIdentifier.ClassFactoryCreateObjectDelegate (System.IntPtr aggr) [0x00000] in <90c9343f97d04f79bbc2eb7d1584c740>:0 
        at System.__ComObject.CreateIUnknown (System.Type t) [0x00015] in :0 
        at Mono.Interop.ComInteropProxy.CreateProxy (System.Type t) [0x00000] in :0 
        at System.Runtime.Remoting.RemotingServices.CreateClientProxyForComInterop (System.Type type) [0x00000] in :0 
        at System.Runtime.Remoting.Activation.ActivationServices.CreateProxyForType (System.Type type) [0x0003b] in :0 
        at (wrapper managed-to-native) System.Object.__icall_wrapper_ves_icall_object_new_specific(intptr)
        at Ansys.ACT.WorkBench.EventObserver.Receive (Ansys.Core.Events.IEvent eventInfo) [0x0029d] in :0 
        at Ansys.Core.Events.EventObserverProxy.Receive (Ansys.Core.Events.IEvent eventInfo) [0x00000] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventInvoker.Invoke () [0x001a8] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
         --- End of inner exception stack trace ---
        at Ansys.Core.Events.EventInvoker.Invoke () [0x00213] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventPublishHelper+<>c.b__8_0 (System.Object obj) [0x00000] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.ThreadPoolWait.HandleWorkItem (System.Object state) [0x00007] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
         --- End of inner exception stack trace ---
        at Ansys.Core.Events.ThreadPoolWait.RethrowExceptions () [0x00051] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.ThreadPoolWait.WaitOne (System.Int32 millisecondsTimeout, System.Boolean exitContext) [0x00076] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.ThreadPoolWait.WaitOne () [0x00000] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventPublishHelper.FireAsyncWait (System.Collections.Generic.List1[T] events) [0x0006d] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventManager.FireEvent (System.Collections.Generic.List1[T] observers, Ansys.Core.Events.IEvent eventInfo, System.Boolean wait) [0x00064] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventManager.fireEventsByPriority (System.Collections.Generic.List1[T] observers, Ansys.Core.Events.IEvent eventInfo, System.Boolean wait, Ansys.Core.Events.EventObserverPriority priority) [0x00065] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventManager.PublishEvent (Ansys.Core.Events.IEvent eventInfo, System.Collections.Generic.List1[T] matchingProxies, System.Boolean wait) [0x00053] in <2269a6352d194a2cb2dedbf711bef8d1>:0
      ...
      at Ansys.Core.Events.EventManager.PublishEvent (Ansys.Core.Events.IEvent ev) [0x00008] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventManager.DoPublishAndWait (Ansys.Core.Events.IEvent eventInformation) [0x00098] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Events.EventManager.PublishAndWait (Ansys.Core.Events.IEvent eventInformation) [0x00078] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Persistence.Commands.OpenCommand.LoadProjectInternal (Ansys.Core.Commands.IFullContext context, System.String projectFilePath, System.Boolean mergedProject, System.Boolean importProject, Ansys.Core.DataModel.ProjectSystem.SharedAccess+AccessLock shareLock, System.Boolean skipStartingEvents, System.Collections.Generic.IReadOnlyDictionary`2[TKey,TValue] addinsToPostMigrate) [0x000d2] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
      CommandName: Open(FilePath="minimal_test.wbpj")
        at Ansys.Core.Commands.CommandAsyncResult.RethrowFailureException (System.Exception e) [0x0000c] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Commands.CommandAsyncResult.Wait (System.Int32 milliSecondsTimeout, System.Boolean exitContext) [0x00095] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Commands.CommandAsyncResult.Wait () [0x00000] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ansys.Core.Persistence.Commands.OpenCommand.InvokeAndWait (Ansys.Core.Commands.IProtectedContext context, System.String FilePath) [0x00023] in <2269a6352d194a2cb2dedbf711bef8d1>:0 
        at Ans.Program.Runtime.OpenFile () [0x00022] in :0 
        at Ans.Program.Runtime.DoRun () [0x0014d] in :0
       
      Ansys Workbench batch process (Update and Save) completed at: Fri 23 May 12:39:38 BST 2025
      _____
      _____
       
      SLURM script: Modified using AI, since I am new to Linux and batch runs.
      _____
      _____
      #!/bin/bash
       
      #SBATCH --account=YOUR_ACTUAL_ACCOUNT # <-- VERIFY OR REMOVE
      #SBATCH --time=00-03:00                # Time (DD-HH:MM)
      #SBATCH --mem=16G                      # Total Memory
      #SBATCH --ntasks=4                     # Number of cores
      #SBATCH --nodes=1                      # Do not change
      #SBATCH --partition=standard           # Use the correct partition
       
      echo "Job started at: $(date)"
      echo "SLURM_JOB_ID: $SLURM_JOB_ID"
      # ... (other echo statements for SLURM vars if you want)
       
      module load ansys/2024-R1   # Corrected module name
       
      # Remove lock file - this is good
      rm -fv *_files/.lock
       
      # The following lines for modifying global SolveHandlers.xml are DANGEROUS and will likely fail.
      # It's better to configure parallelism within the Workbench project GUI.
      # MWFILE=/software/apps/ansys_inc/2024-R1/v241/aisol/DesignSpace/DSPages/Language/en-us/xml/SolveHandlers.xml
      # if [ "$SLURM_NNODES" == 1 ]; then
      #   MEMPAR=0
      # else
      #   MEMPAR=1
      # fi
      # sed -re "s/(.AnsysSolution>+)[a-zA-Z0-9]*(<\/Distribute.)/\1$MEMPAR\2/" -i "$MWFILE"
      # sed -re "s/(.Processors>+)[a-zA-Z0-9]*(<\/MaxNumber.)/\1$SLURM_NTASKS\2/" -i "$MWFILE"
      # sed -i "s!UserConfigured=\"0\"!UserConfigured=\"1\"!g" "$MWFILE"
       
      export KMP_AFFINITY=disabled
      export I_MPI_HYDRA_BOOTSTRAP=ssh
      # export ENABLE_ANSYS_QA_SERVICES241=0 # Kept from our previous script, likely no harm
       
      echo "Attempting to run Workbench..."
      /software/apps/ansys_inc/2024-R1/v241/Framework/bin/Linux64/runwb2 -B -E "Update();Save(Overwrite=True)" -F minimal_test.wbpj
       
      echo "Ansys Workbench batch process (Update and Save) completed at: $(date)"
      _____
      _____
      The original SLURM script format (provided by the University) is as follows:

      #!/bin/bash

      #SBATCH --account=def-account
      #SBATCH --time=00-03:00                # Time (DD-HH:MM)
      #SBATCH --mem=16G                      # Total Memory (set to 0 for all node memory)
      #SBATCH --ntasks=4                     # Number of cores
      #SBATCH --nodes=1                      # Do not change (multi-node not supported)
      ##SBATCH --exclusive                   # Uncomment for scaling testing
      ##SBATCH --constraint=broadwell        # Applicable to graham or cedar

      module load ansys/2024-R1   # OR newer Ansys modules

      if [ "$SLURM_NNODES" == 1 ]; then
        MEMPAR=0                               # Set to 0 for SMP (shared memory parallel)
      else
        MEMPAR=1                               # Set to 1 for DMP (distributed memory parallel)
      fi

      rm -fv *_files/.lock
      MWFILE=/software/apps/ansys_inc/2024-R1/v241/aisol/DesignSpace/DSPages/Language/en-us/xml/SolveHandlers.xml
      sed -re "s/(.AnsysSolution>+)[a-zA-Z0-9]*(<\/Distribute.)/\1$MEMPAR\2/" -i "$MWFILE"
      sed -re "s/(.Processors>+)[a-zA-Z0-9]*(<\/MaxNumber.)/\1$SLURM_NTASKS\2/" -i "$MWFILE"
      sed -i "s!UserConfigured=\"0\"!UserConfigured=\"1\"!g" "$MWFILE"

      export KMP_AFFINITY=disabled
      export I_MPI_HYDRA_BOOTSTRAP=ssh

      /software/apps/ansys_inc/2024-R1/v241/Framework/bin/Linux64/runwb2 -B -E "Update();Save(Overwrite=True)" -F DieSwell_Simple_2025-05-19.wbpj

      _____
      _____

      Any suggestions on fixing this error are welcome. Please feel free to ask any follow-up questions; I will respond.
    • Rob
      Forum Moderator

      The .wbpj file is just a header for a Workbench workflow. Did you archive up the project and move the archive to HPC to then extract and run? 

      • v.bhatnagar.1
        Subscriber

        Thanks for the reply, Rob. If I understood you correctly, I did transfer the whole folder containing the simulation files to the HPC, and not just the .wbpj file.

        This error occurs with the whole folder copied to the HPC.

    • Rob
      Forum Moderator

      Did you transfer the file & folder or archive and transfer that? The latter ensures that all paths are set to the location where it's unarchived. 

      • v.bhatnagar.1
        Subscriber

        I don't know what "archive" is, so I probably didn't do this. I copied and pasted the folder containing the project files.

    • Rob
      Forum Moderator

      That may have lost the links. Under Workbench>File you'll see Archive, create one and then move that to the HPC. 

      • v.bhatnagar.1
        Subscriber

        Thanks a lot. So, what would the procedure look like? Workbench - File - Archive - Copy-Paste to HPC. How do I extract the archived file on the HPC? And, subsequently, is there any change in the way I run it using SLURM?

    • Rob
      Forum Moderator

      Not sure about SLURM, that should call whatever you need to run. 

      • v.bhatnagar.1
        Subscriber

        Okay, I'll figure out the SLURM bit. But I am not entirely sure what to do once I archive the project on Workbench. Please explain this bit to me.

    • Rob
      Forum Moderator

      You copy the archive over & extract for use as before. Workbench stores paths in the .wbpj file from the original system and these may not be correct when you move to the HPC.

      • v.bhatnagar.1
        Subscriber

        Thanks a lot. I'll try this and get back to you within the next 2 days to confirm if it's working or not.

    • Rob
      Forum Moderator

      You're welcome. If it's still not working I'll flag for the Install specialists - I just drive the software. 

    • v.bhatnagar.1
      Subscriber

      Update:

      I spoke to an Ansys representative, who suggested the following:

      _____

      Assuming you are running Polyflow – here is a detailed explanation. Please review this and let me know if this answers your questions and addresses the issue or not.

      Firstly lets us break Simulation / Anslysis into 2 parts

        1. Pre and post – this is where you might import geometry, cleanup, build mesh and boundary conditions and generate an input file or files for the solver to use. And later analyze results, plot graphs and images etc. this part is interactive meaning you will usually use a Graphical User Interface (GUI) and will involve lot of keyboard and mouse inputs and feedback on a graphics terminal (monitor).
           
          Also in this phase you will typically work on a workbench project which includes the .wbpj project definition and a folder names progjectname_files which contain various files that are needed.
           
          The pre and post work is done on workstations / laptops / desktops.
          Most HPC resources tend to be batch only (no GUI) and typically do not run
           
        2. The other part is Solution cell / solve where the solver runs, reads in input files and generates output files.
          the input files typically are not the whole workbench project and folder.

      Typically – Workbench is not run on HPC as a batch job, although that is an option. Workbench requires many other graphics related dependencies which may not necessarily be available in the batch (commandline – not GUI) HPC environments.

      For Polyflow here is what you can try:

      First please review the Overview of the Folders for a Polyflow Classic-Based Project in Workbench at this link

      https://ansyshelp.ansys.com/public/account/secured?returnurl=//Views/Secured/corp/v251/en/poly_pfwb/pwb_wb_sec_wb_file_struct.html

      You will need the .msh (or .poly) file and .dat file (.dat has the name of the mesh file)

      Copy those to a separate folder if necessary on a file system which is accessible across the HPC

      Then you can run a job using slurm using a script like example below. Please modify or add to this script to include any other slurm specific information. Your IT administrator can help with linux paths, queue or partition names etc, if you are not familiar with those yet.

      #!/bin/bash
      ##SBATCH --account="Username_here"
      #SBATCH --mail-user="email@company.com_here"
      #SBATCH --mail-type=ALL
      #SBATCH --job-name="SUP"
      #SBATCH --error=%x.out
      #SBATCH --partition=partition_name_here
      #SBATCH --time=24:00:00
      ##
      ## Environment variables setup
      ## Polyflow Command
      /apps/ansys_inc/v241/polyflow/bin/polyflow < polyflow.dat > listing.lst -th 8

      The -th 8 is for number of cores, you will also need to specify that on your sbatch command

      Once you run a case on cluster for polyflow, then you copy the entire post folder contents to local drive. Then use cfd-post to read the .res file to post-process the results in local workstation.

      _____

      Additionally, when I tried this on the HPC, there was an error: "error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory". This error was fixed by requesting the University's HPC team to install the "libnsl" library on the cluster. After this, the simulation runs on the HPC. Hope this comes in handy!

Viewing 7 reply threads
  • You must be logged in to reply to this topic.
[bingo_chatbox]