TAGGED: batch-hpc, hpc-cluster, polyflow, slurm, workbench
-
-
July 15, 2025 at 8:32 am
v.bhatnagar.1
SubscriberHello 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 2025SLURM_JOB_ID: 7752Attempting 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: 8000FFFFat Ans.ComponentSystem.Interop.MiniCom.AnsCoCreateInstance (System.Type classType, System.IntPtr aggr) [0x0007f] in <44fa2ffd3745466592ae7a1a4b470645>:0at Ansys.ACT.Interop.DefinitionIdentifier.ClassFactoryCreateObjectDelegate (System.IntPtr aggr) [0x00000] in <90c9343f97d04f79bbc2eb7d1584c740>:0at 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>:0at Ansys.Core.Events.EventInvoker.Invoke () [0x001a8] in <2269a6352d194a2cb2dedbf711bef8d1>:0--- End of inner exception stack trace ---at Ansys.Core.Events.EventInvoker.Invoke () [0x00213] in <2269a6352d194a2cb2dedbf711bef8d1>:0at 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>:0at Ansys.Core.Events.ThreadPoolWait.WaitOne (System.Int32 millisecondsTimeout, System.Boolean exitContext) [0x00076] in <2269a6352d194a2cb2dedbf711bef8d1>:0at Ansys.Core.Events.ThreadPoolWait.WaitOne () [0x00000] in <2269a6352d194a2cb2dedbf711bef8d1>:0at Ansys.Core.Events.EventPublishHelper.FireAsyncWait (System.Collections.Generic.List1[T] events) [0x0006d] in <2269a6352d194a2cb2dedbf711bef8d1>:0at Ansys.Core.Events.EventManager.FireEvent (System.Collections.Generic.List1[T] observers, Ansys.Core.Events.IEvent eventInfo, System.Boolean wait) [0x00064] in <2269a6352d194a2cb2dedbf711bef8d1>:0at 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>:0at 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>:0at Ansys.Core.Events.EventManager.DoPublishAndWait (Ansys.Core.Events.IEvent eventInformation) [0x00098] in <2269a6352d194a2cb2dedbf711bef8d1>:0at Ansys.Core.Events.EventManager.PublishAndWait (Ansys.Core.Events.IEvent eventInformation) [0x00078] in <2269a6352d194a2cb2dedbf711bef8d1>:0at 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>:0CommandName: Open(FilePath="minimal_test.wbpj")at Ansys.Core.Commands.CommandAsyncResult.RethrowFailureException (System.Exception e) [0x0000c] in <2269a6352d194a2cb2dedbf711bef8d1>:0at Ansys.Core.Commands.CommandAsyncResult.Wait (System.Int32 milliSecondsTimeout, System.Boolean exitContext) [0x00095] in <2269a6352d194a2cb2dedbf711bef8d1>:0at Ansys.Core.Commands.CommandAsyncResult.Wait () [0x00000] in <2269a6352d194a2cb2dedbf711bef8d1>:0at Ansys.Core.Persistence.Commands.OpenCommand.InvokeAndWait (Ansys.Core.Commands.IProtectedContext context, System.String FilePath) [0x00023] in <2269a6352d194a2cb2dedbf711bef8d1>:0at 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 partitionecho "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 goodrm -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=disabledexport I_MPI_HYDRA_BOOTSTRAP=ssh# export ENABLE_ANSYS_QA_SERVICES241=0 # Kept from our previous script, likely no harmecho "Attempting to run Workbench..."/software/apps/ansys_inc/2024-R1/v241/Framework/bin/Linux64/runwb2 -B -E "Update();Save(Overwrite=True)" -F minimal_test.wbpjecho "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 cedarmodule 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)
firm -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. -
July 15, 2025 at 9:51 am
Rob
Forum ModeratorThe .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?
-
July 15, 2025 at 10:10 am
v.bhatnagar.1
SubscriberThanks 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.
-
-
July 15, 2025 at 10:12 am
Rob
Forum ModeratorDid 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.
-
July 15, 2025 at 10:15 am
v.bhatnagar.1
SubscriberI don't know what "archive" is, so I probably didn't do this. I copied and pasted the folder containing the project files.
-
-
July 15, 2025 at 10:27 am
Rob
Forum ModeratorThat may have lost the links. Under Workbench>File you'll see Archive, create one and then move that to the HPC.
-
July 15, 2025 at 10:30 am
v.bhatnagar.1
SubscriberThanks 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?
-
-
July 15, 2025 at 10:33 am
Rob
Forum ModeratorNot sure about SLURM, that should call whatever you need to run.
-
July 15, 2025 at 10:37 am
v.bhatnagar.1
SubscriberOkay, 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.
-
-
July 15, 2025 at 11:01 am
Rob
Forum ModeratorYou 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.
-
July 15, 2025 at 11:06 am
v.bhatnagar.1
SubscriberThanks a lot. I'll try this and get back to you within the next 2 days to confirm if it's working or not.
-
-
July 15, 2025 at 11:28 am
Rob
Forum ModeratorYou're welcome. If it's still not working I'll flag for the Install specialists - I just drive the software.
-
July 28, 2025 at 12:10 pm
v.bhatnagar.1
SubscriberUpdate:
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
- 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
- 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
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 8The -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!
-
- You must be logged in to reply to this topic.
-
6395
-
1906
-
1457
-
1308
-
1022
© 2026 Copyright ANSYS, Inc. All rights reserved.