Internal error code 800001 from zacros_main: infeasible process in serial run!

More
10 months 2 weeks ago #1 by hprats
I ran a Zacros simulation of the reverse water-gas shift reaction on VC and the following error message was shown in the general_output.txt file:

Code:
Internal error code 800001 from zacros_main: infeasible process in serial run! This is a serious issue. Please notify the developers about this...

I was using the OpenMP build of Zacros 3.01, compiled in Myriad cluster using the CMake build system.
I have repeated the same simulation with the OpenMP build of Zacros 4.0dev, also compiled in Myriad cluster using the CMake build system, and in this case the error message is the following:

Code:
Internal error code 888016 from execution_queue_binary_heap: insertion not allowed: new label already in use. More information: Occurred when trying to add one more element with the already used label 2.

All files are attached in the folder named error_files.zip
Attachments:

Please Log in or Create an account to join the conversation.

More
10 months 2 weeks ago #2 by Admin
I see that in your simulation files you have 2x1 tilings of your unit cell to create your simulation box. This results in small lattices with sites that neighbour with themselves. There are warnings about this printed in your general_output.txt files, e.g.:

Code:
*************** Warning code 806103 from lattice_builder_module: self-neighboring detected when constructing a lattice following the instructions in lattice_input.dat. This can be normal for small lattices but manual checking is recommended. More information: Site 1 neighbors with itself. *************** *************** Warning code 806104 from lattice_builder_module: possibly invalid lattice neighbor list in the lattice constructed following the instructions in lattice_input.dat. This can be normal for small lattices but manual checking is recommended. More information: Encountered neighboring site 1 twice for site 1. ***************

These lead to problems when detecting, adding or removing patters (energetic clusters or elementary events). The algorithms are not designed to treat such cases, and one can get random behaviour, e.g. I was getting the following in the latest version (not yet released), no matter how large I was making the process participation array:

Code:
*************** Internal error code 801009 from kmc_simulation_handle_module: process participation list capacity (for dimension 2) reached when trying to add a lattice process in the list. Increase the capacity using the keyword override_array_bounds in the simulation input file. More information: Process participation list size (dimension 2): max_adsorprocparticipc_dim2 = 100000. ***************

After digging in a bit into how this happened, it appears that, at some point when species and processes are added to the lattice upon initialisation, an adsorbate appears with label 5 (which is invalid, since there are only 4 lattice sites), and then the expression nadsorprocparticip(p) gives a random result, since the index p = 5 exceeds the array bounds. Again, the root cause is the inability of the algorithms to treat very small lattice constructs (which are essentially not valid for KMC simulations).

I've tried the zacros301 simulation with a 2x2 lattice and it works fine; can you please redo the simulations with larger lattices and let me know if you see any issues?

As a remedy to this issue, we could consider upgrading the warning about the self-neighboring to an error in the next version of Zacros. This way, the user will have to make the lattice bigger to proceed.

Please Log in or Create an account to join the conversation.

Time to create page: 0.300 seconds

Sorry, this website uses features that your browser doesn’t support. Upgrade to a newer version of Firefox, Chrome, Safari, or Edge and you’ll be all set.