Assertion `mesh.getID() != 0' failed


I am trying to run a reactant transport model, but I got an error called “Assertion `mesh.getID() != 0’ failed.”. I used generateStructuredMesh utility of OGS6 to create the 1D mesh.

What am I missing? Should I create the mesh by using other methods? I am attaching my files below. (5.4 KB)

Hi Emre,

I have tested with the project file you offered. This crash is caused by the fact that a specific mesh file is not correctly provided. Note that this mesh file does not refer to the main mesh file. It is created with the utility identifySubdomains. For instance, the prompt command is ./identifySubdomains -m ./MICP1.vtu -s 1e-9 -o reaction_ -- MICP1.vtu.

In addition, I suggest using mesh files to assign boundary conditions instead of gml geometry file.
Such mesh files can be readily created using the utility constructMeshesFromGeometry. The prompt command would be in your case ./constructMeshesFromGeometry -m ./MICP1.vtu -g ./MICP.gml.

After all of the above changes, the project file yet cannot be run normally. The output error message is

`error: Failed in loading the specified thermodynamic database file: test.dat.

info: OGS terminated on 2021-04-27 12:55:59+0200.

error: OGS terminated with error.`

This error message implies that there are some incorrect settings in the modified thermodynamic database file. I tested with the original thermodynamic database file test.dat and the above error message disappears. Please carefully check your changes in the thermodynamic database file.

P.S.: I upload the project files after my corrections (see annex). Hopefully, it is helpful for you.

Best regards,
Renchao (7.6 KB)

1 Like

Hi Renchao,

Thank you for this informative message, I will look at the files.

By the way, is there any tutorial for OGS6-Phreeqc coupling? There is one for OGS5 but I couldn’t find for the newer version.

Thank you again.

Kind regards,

Hi Emre,

Unfortunately, there is no tutorial for OGS-6#Phreeqc coupling available yet.

Best regards,

Hi Renchao and everyone,

I was working on the same project I have posted in this topic and faced another problem during solving the model. I don’t want to create another topic in the discourse so I wanted to ask the question in here.

I am trying to model the bacteria transport within in a sand column (1-D). There are two mechanisms during the transport, bacteria decay in time and attachment of the bacteria on sand grains.
I’ve got two components of the bacteria, suspended (unattached) and attached.

change in attached bacteria wrt to time is => kattSuspended - kdSuspended in which katt is attachment rate (per second) and kd is the decay rate (per second).

change in suspended bacteria wrt to time is => -kattSuspended - kdAttached

Initially, both suspended and attached concentrations are zero.

When I try to run the simulation (attached below), simulation stuck at “Phreeqc: Executing chemical calculation.”. I waited for a long time but couldn’t pass this part.

However, if I remove the kd*Attached component of the rate, simulation can be completed, but it is wrong of course.

I am working on it but couldn’t find a solution. Any kind of help would be greatly appreciated.

Kind regards,
Emre (55.2 KB)

Hi Emre,

I went through your simulation inputs. The concentration of the bacteria “Suspended” at the integration point numbered 23 dropped down into the negative concentration region after the speciation calculation with the kinetic rate equation you specified for the substrate “substrate”. This causes the termination of OGS-6#Phreeqc.

Best regards,

Hi Renchao,

Thank you for your response.

I think it should not be possible physically. The problem is attached bacteria biomass is defined as Aqueousliquid.

As it is defined before, attached bacteria biomass is a function of suspended bacteria. Is there any way that I can define attached bacteria as solid component but not liquid?

Here is an example file that I try to assign attached as solid, but couldn’t make the file run successful. (55.1 KB)

The error message:

In function:
std::__debug::vector<_Tp, _Allocator>::reference
_Allocator>::size_type) [with _Tp =
>; _Allocator =
> >; std::__debug::vector<_Tp, _Allocator>::reference =
>&; std::__debug::vector<_Tp, _Allocator>::size_type = long unsigned

Error: attempt to subscript container with out-of-bounds index 3, but
container only holds 3 elements.

Objects involved in the operation:
sequence “this” @ 0x0x55e2488529e0 {
type = std::__debug::vector<std::__debug::vector<std::reference_wrapperProcessLib::ProcessVariable, std::allocator<std::reference_wrapperProcessLib::ProcessVariable > >, std::allocator<std::__debug::vector<std::reference_wrapperProcessLib::ProcessVariable, std::allocator<std::reference_wrapperProcessLib::ProcessVariable > > > >;
Aborted (core dumped)

Kind regards,